WEB,WAS

[WEB/WAS] nginx conf 파일에서 취약점 조치 사항

IT-PAPA 2023. 5. 15. 06:48
728x90
반응형

nginx에서 모든 취약점을 조치하기 위해서는 다양한 설정들이 필요합니다. 그러나, 이를 하나의 코드로 작성하는 것은 어렵습니다. 대신, nginx.conf 파일에 취약점에 대한 보안 설정들을 추가하는 방법을 알려드리겠습니다.

SSL/TLS 설정: HTTPS 프로토콜을 사용하는 경우 SSL/TLS 설정이 필요합니다. 아래와 같이 SSL/TLS 설정을 추가합니다.

ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/cert_key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DHE+AES128:!ADH:!AECDH:!MD5;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;


HTTP 보안 설정: HTTP 프로토콜을 사용하는 경우, HTTP 보안 설정이 필요합니다. 아래와 같이 HTTP 보안 설정을 추가합니다.

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Xss-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self';" always;


Server Tokens 제거: nginx 서버에서 제공하는 버전 정보를 숨기기 위해 Server Tokens를 제거합니다. 아래와 같이 Server Tokens 설정을 추가합니다.

server_tokens off;


Slowloris 보호 설정: Slowloris 공격을 막기 위해 아래와 같이 Slowloris 보호 설정을 추가합니다.

limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_conn conn_limit_per_ip 10;


DDOS 보호 설정: DDOS 공격을 막기 위해 아래와 같이 DDOS 보호 설정을 추가합니다.

limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;
limit_req zone=req_limit_per_ip burst=20 nodelay;


취약한 HTTP 메서드 제거: 아래와 같이 취약한 HTTP 메서드를 제거합니다

if ($request_method !~ ^(GET|POST|HEAD)$ ) {
    return 405;
}


위와 같은 보안 설정을 nginx.conf 파일에 추가하면 취약점을 보호할 수 있습니다. 하지만, 이 외에도 보안 취약점은 계속해서 발견될 수 있기 때문에, 보안 취약점에 대한 최신 정보를 수시로 체크하고 업데이트 하는 것이 중요합니다.

728x90
반응형
LIST