Computer >> 컴퓨터 >  >> 시스템 >> Linux

프로덕션 서버에서 XAMPP를 절대 사용하면 안 되는 4가지 이유

PHP 기반 애플리케이션을 개발할 때 많은 개발자가 XAMPP를 활용합니다. 하지만 개발 환경에서 훌륭한 도구라 해서 운영(프로덕션) 환경에도 적합한 것은 아닙니다. 이 글에서는 프로덕션 서버에서 XAMPP로 PHP 애플리케이션을 호스팅하거나 배포하면 안 되는 보안상의 이유를 자세히 살펴봅니다.

개발 환경에서 XAMPP를 사용하는 이유

XAMPP는 PHP 기반 애플리케이션 개발에 가장 널리 쓰이는 LAMP 스택 중 하나입니다. 아파치(Apache) 웹 서버, MariaDB 데이터베이스, 그리고 PHP와 Perl 관련 각종 스크립트로 구성되어 있습니다.

크로스 플랫폼을 지원하고 오픈소스이며 설치 과정도 매우 간단하기 때문에, PHP 웹 애플리케이션 개발을 처음 시작하는 초보자에게 최적의 도구로 꼽힙니다.

프로덕션 환경에서 XAMPP를 사용하면 안 되는 이유

그러나 XAMPP는 다음과 같은 보안 문제 때문에 프로덕션 서버에서의 사용이 권장되지 않습니다.

1. 데이터베이스 관리자 계정에 비밀번호가 설정되지 않음

데이터베이스를 사용하는 동적 웹사이트라면 비밀번호 설정은 필수입니다. 그런데 XAMPP는 기본적으로 데이터베이스 관리자(root) 계정에 비밀번호가 설정되어 있지 않아 심각한 보안 문제를 일으킬 수 있습니다.

  • root 사용자는 읽기, 쓰기, 실행 권한을 모두 가지고 있으므로, 해커가 데이터베이스 전체에 접근해 임의로 내용을 수정할 수 있습니다.
  • 데이터베이스에 접근할 수 있는 사람이라면 누구나 사용자 정보와 회사 기밀 정보를 열람·복제할 수 있으며, 데이터베이스 전체를 통째로 복사하는 것도 가능합니다.
  • 현대의 대부분 시스템은 데이터베이스에 의존합니다. 데이터베이스가 삭제되거나 접근 불가 상태가 되면 시스템 전체가 사실상 마비됩니다.

2. 네트워크를 통해 MySQL에 접근 가능

XAMPP는 MySQL 또는 MariaDB를 데이터베이스 서비스로 사용합니다. 안타깝게도 MySQL 데몬은 네트워크를 통해 쉽게 접근할 수 있도록 구성되어 있습니다. 로컬 PC에서 웹사이트를 개발할 때는 편리하지만, 프로덕션 환경에는 부적합합니다.

방화벽으로 접근을 제한하더라도 데이터베이스가 외부 침입으로부터 완전히 보호된다고 장담할 수 없습니다.

3. ProFTPD가 알려진 비밀번호 사용

ProFTPD는 XAMPP에 기본 탑재된 FTP(파일 전송 프로토콜) 클라이언트입니다. 이 프로그램의 기본 비밀번호는 "lampp"로 설정되어 있으며, 이는 이미 널리 알려진 사실입니다. 즉, 누구나 쉽게 정적 HTML 파일이나 웹 페이지에 접근할 수 있습니다.

해커는 여러분의 정적 웹 페이지를 복제해 유사한 가짜 사이트를 만들고, 이를 이용해 사용자들에게서 소중한 정보를 갈취하려 할 수 있습니다. 또한 가짜 사이트에 악성 코드를 삽입해 네트워크에 연결된 컴퓨터들을 감염시킬 수도 있습니다.

4. 로컬 메일 서버의 보안 취약

Windows 환경에서 XAMPP는 Mercury를 기본 메일 서버로 사용합니다. 문제는 이 역시 비밀번호가 널리 알려져 있어, 악의적인 사용자가 여러분의 이메일에 비교적 쉽게 접근할 수 있다는 점입니다.

이메일 접근 권한을 얻은 해커는 이메일로 악성 코드를 유포하거나, 경계심이 없는 사용자들에게 금품을 요구하고, 고객들에게 부적절한 메일을 발송해 회사 평판에 심각한 타격을 입힐 수 있습니다.

XAMPP 설치 환경 강화 방법

부득이하게 XAMPP를 계속 사용해야 한다면 최소한의 보안 조치를 취하는 것이 좋습니다. Linux 서버에서 XAMPP가 실행 중이라면 다음 명령어로 보안 설정을 진행할 수 있습니다.

sudo /opt/lampp/lampp security

Windows에서는 브라우저 주소창에 https://localhost/security 를 입력해 일부 보안 문제를 수정할 수 있습니다. 다만, 위와 같은 설정을 적용하더라도 FileZilla와 Mercury 관련 보안 취약점은 해결되지 않는다는 점에 유의해야 합니다.

XAMPP 대안

XAMPP는 Windows, macOS, Linux 어디에서든 PHP 개발 환경을 손쉽게 구축할 수 있는 훌륭한 도구입니다. 하지만 프로덕션 서버에 사용하기에는 보안이 충분하지 않습니다.

대부분의 관리자는 Linux에서는 네이티브 LAMP 스택을, Windows 프로덕션 서버에서는 IIS를 사용해 더 안전하게 PHP 애플리케이션을 배포합니다. Windows 사용자라면 WampServer를 활용해 WAMP 개발 환경을 구축하는 것도 좋은 선택입니다.