이 가이드에서는 PHP 기반 애플리케이션을 호스팅하거나 배포하기 위해 프로덕션 서버에서 XAMPP를 사용하면 안 되는 몇 가지 보안 이유를 살펴봅니다.
개발에 XAMPP를 사용하는 이유
XAMPP는 PHP 기반 애플리케이션 개발에 가장 널리 사용되는 LAMP 스택 중 하나입니다. Apache 서버, MariaDB 데이터베이스, PHP 및 Perl과 관련된 다양한 스크립트로 구성됩니다.
크로스 플랫폼, 오픈 소스, 설정이 쉽기 때문에 PHP 기반 웹 앱 개발을 시작하는 초보자에게 최고의 도구 중 하나입니다.
프로덕션에 XAMPP를 사용하면 안 되는 이유
그러나 XAMPP는 다음과 같은 보안상의 이유로 프로덕션 서버에서 사용하지 않는 것이 좋습니다.
1. 데이터베이스 관리자 암호 없음
데이터베이스가 있는 동적 웹 사이트가 있는 경우 암호가 중요합니다. XAMPP에서 데이터베이스 관리자의 비밀번호는 기본적으로 설정되어 있지 않으므로 많은 보안 문제가 발생할 수 있습니다.
- 루트 사용자에게 읽기, 쓰기 및 실행 권한이 있기 때문에 해커는 전체 데이터베이스에 액세스하고 원하는 대로 무엇이든 수정할 수 있습니다.
- 데이터베이스에 대한 액세스 권한이 있는 사람은 누구나 전체 데이터베이스 복사를 포함하여 모든 기밀 사용자 및 회사 정보를 보고 복사할 수 있습니다.
- 오늘날 대부분의 시스템은 데이터베이스에 의존합니다. 데이터베이스가 삭제되거나 액세스할 수 없게 되면 시스템이 기본적으로 다운됩니다.
2. 네트워크를 통해 MySQL에 액세스할 수 있음
XAMPP는 MySQL 또는 Maria DB를 데이터베이스 서비스로 사용합니다. 불행히도 MySQL 데몬은 네트워크를 통해 쉽게 액세스할 수 있으므로 로컬 PC에서 웹사이트를 개발할 때 매우 편리하지만 프로덕션에는 적합하지 않습니다.
방화벽을 사용하여 액세스를 제한하더라도 데이터베이스 액세스를 완전히 보호하지 못할 수 있습니다.
자세히 알아보기:웹 개발 및 MySQL의 전문가 되기
3. ProFTPD는 알려진 암호를 사용합니다
ProFTPD는 XAMPP에서 사용하는 기본 FTP(파일 전송 프로토콜) 클라이언트입니다. 이에 대한 기본 비밀번호가 'lampp'로 설정되어 있다는 것은 알려진 비밀입니다. 즉, 사용자는 모든 정적 HTML 파일 또는 웹 페이지에 쉽게 액세스할 수 있습니다.
해커는 정적 웹 페이지를 복사하여 귀하와 유사한 가짜 사이트를 구축하고 사용자로부터 귀중한 정보를 갈취하려고 할 수 있습니다. 또한, 해커는 그 과정에서 네트워크 컴퓨터를 감염시키는 가짜 또는 복제 사이트에 악성 코드를 주입할 수 있습니다.
4. 로컬 메일 서버가 안전하지 않음
Windows에서 XAMPP는 Mercury를 기본 메일 서버로 사용합니다. 안타깝게도 비밀번호도 잘 알려져 있어 악의적인 사용자가 귀하의 이메일에 더 쉽게 액세스할 수 있습니다.
해커는 이메일에 액세스하여 이메일에 악성 코드를 전송하거나, 순진한 사용자로부터 자금을 갈취하거나, 고객에게 부적절한 이메일을 보내 회사의 평판을 망칠 수 있습니다.
XAMPP 설치 강화
XAMPP 설치를 보다 안전하게 하려면 XAMPP가 Linux 서버에서 실행 중인 경우 다음 명령을 실행할 수 있습니다.
sudo /opt/lampp/lampp security
Windows에서는 https://localhost/security URL을 사용하여 일부 보안 문제를 해결할 수 있습니다. 위의 구성을 수행하더라도 FileZilla 및 Mercury와 관련된 보안 허점은 여전히 수정되지 않습니다.
시도할 수 있는 XAMPP 대안
XAMPP는 Windows, macOS 또는 Linux를 사용하는 PHP 개발 환경을 설정하기 위한 훌륭한 도구입니다. 그러나 프로덕션 서버에서 사용할 만큼 안전하지 않습니다.
대부분의 관리자는 Linux에서 기본 LAMP 스택을 사용하거나 PHP 애플리케이션을 배포하는 보다 안전한 방법을 제공하는 Windows 프로덕션 서버에서 IIS를 사용합니다. Windows를 사용하는 경우 WampServer를 사용하여 WAMP 개발 환경을 만드는 것이 좋습니다.