콘텐츠로 이동

4512-nginx-header-tls-최신 TLS 프로토콜만 사용하도록 권장


규칙 ID

  • 4512-nginx-header-tls

카테고리

  • nginx

수준

  • info

호환 버전

  • Linux

설명

  • 모든 클라이언트 연결 및 업스트림 연결에 대해 NGINX에서 최신 TLS 프로토콜만 활성화해야 합니다. 레거시 TLS 및 SSL 프로토콜(SSL3.0, TLS1.0 및 1.1)을 제거하고 안정적인 최신 TLS 프로토콜(TLS1.2)을 활성화하면 사용자가 강력한 보안 기능을 활용하고 안전하지 않은 레거시 프로토콜로부터 보호받을 수 있습니다.

스캔 빈도

  • 0 */30 * * *

이론적 근거

  • SSL3.0을 비활성화해야 하는 이유: POODLE 취약점으로 인해 공격자가 SSL3.0의 CBC 취약점을 이용하여 일반 텍스트 정보를 얻을 수 있습니다. SSL3.0은 더 이상 FIPS140-2 표준을 충족하지 않습니다.

  • TLS1.0을 비활성화해야 하는 이유: PCI DSS 규정 준수 요구사항에 따라 신용카드 번호를 처리하는 모든 애플리케이션에 TLS1.0을 사용할 수 없습니다. TLS1.0은 최신 보호 기능을 사용하지 않으며, TLS1.2 이상을 지원하지 않는 거의 모든 사용자 에이전트는 더 이상 공급업체의 지원을 받지 않습니다.

  • TLS1.1을 비활성화해야 하는 이유: TLS 상위 버전과 관련된 보안이 강화되었으므로 TLS1.0을 비활성화해야 합니다. 최신 브라우저는 2019년 초부터 TLS1.1을 표시하기 시작할 것입니다.

  • TLS1.2를 활성화해야 하는 이유: TLS1.2는 최신 암호 제품군, 완벽한 전방향 보안(PFS) 및 인증된 암호화를 포함한 여러 보안 기능을 활용합니다.

위험 항목

  • nginx 보안

감사 방법

  • 다음 명령을 실행하여 확인합니다.
grep -ir ssl_protocol /etc/nginx

조치

  • /etc/nginx/nginx.conf 파일을 편집합니다. 예시:
    # WEB
    sed -i "s/ssl_protocols[^;]*;/ssl_protocols TLSv1.2;/" /etc/nginx/nginx.conf
    # proxy
    sed -i "s/proxy_ssl_protocols[^;]*;/proxy_ssl_protocols TLSv1.2;/" /etc/nginx/nginx.conf
    # 설정되지 않은 경우 위치에 주의:
    # web
    server {
     ssl_protocols TLSv1.2;
    }
    
    # proxy
    location / {
     proxy_ssl_protocols TLSv1.2;
     }
    

영향

  • 일부 TLS를 비활성화하면 레거시 사용자 에이전트가 서버에 연결하지 못할 수 있습니다. 백엔드 서버와의 특정 프로토콜 협상을 비활성화하면 이전 서버에 연결하는 기능이 제한될 수도 있습니다. TLS 프로토콜을 선택할 때는 항상 이전 사용자 에이전트 또는 서버에 대한 지원이 필요한지 고려해야 합니다.

기본값

  • 기본적으로 NGINX는 TLS 프로토콜을 지정하지 않으며 모든 TLS 버전을 허용합니다.

참고 문서

CIS 제어

  • 없음

문서 평가

이 페이지가 도움이 되었나요?