[php] Nginx PHP 보안 설정

이번 포스트에서는 Nginx 서버에서 PHP 애플리케이션을 보호하기 위한 몇 가지 보안 설정에 대해 알아보겠습니다.

PHP-FPM 보안 설정

PHP-FPM은 FastCGI 프로세스 관리자로, PHP 애플리케이션과 Nginx 서버 간의 통신을 처리합니다. 이를 보호하기 위해 다음과 같이 설정할 수 있습니다.

Socket 파일 설정

PHP-FPM 소켓 파일은 일반적으로 /var/run/php/php7.4-fpm.sock와 같은 위치에 있습니다. 이를 보안을 강화하려면 다음과 같이 작업할 수 있습니다.

sudo chmod 660 /var/run/php/php7.4-fpm.sock
sudo chown www-data:nginx /var/run/php/php7.4-fpm.sock

Nginx 설정

Nginx에서 PHP를 실행하는 경우, Nginx 구성 파일을 보호하기 위해 다음과 같이 설정할 수 있습니다.

웹 애플리케이션 방화벽 설정

웹 애플리케이션 방화벽 설정을 통해 허용된 IP 주소에서만 PHP 파일을 실행하도록 제한할 수 있습니다.

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    allow 192.168.1.1;
    allow 192.168.1.2;
    deny all;
}

PHP 버전 숨기기

PHP 버전이 노출되지 않도록 Nginx 설정을 숨길 수 있습니다.

server_tokens off;

이러한 설정을 통해 Nginx와 PHP 애플리케이션을 더욱 안전하게 유지할 수 있습니다.


이제 여러분은 Nginx와 PHP의 보안 설정에 대해 더 잘 이해하게 되었습니다. 이러한 구성을 통해 웹 애플리케이션을 안전하게 운영할 수 있습니다.