Nginx는 SSL/TLS 프로토콜을 통해 네트워크 통신의 보안을 보장하는 널리 사용되는 HTTP 서버 및 역방향 프록시 서버입니다. 이 기사에서는 서버 보안을 더욱 효과적으로 보장하는 데 도움이 되는 Nginx SSL/TLS 보안 구성에 대한 모범 사례를 살펴보겠습니다.
1. 최신 버전의 Nginx 및 OpenSSL을 사용하세요.
최신 버전의 Nginx 및 OpenSSL에는 최신 보안 수정 사항과 업데이트가 포함되어 있습니다. 따라서 최신 버전의 Nginx 및 OpenSSL을 사용하는 것은 서버 보안을 보장하는 기본 수단입니다.
2. 강력한 비밀번호로 개인 키와 인증서를 생성하세요
SSL 인증서와 개인 키를 생성할 때 강력한 비밀번호를 사용해야 합니다. 강력한 비밀번호는 개인 키와 인증서의 보안을 크게 향상시킬 수 있으며 해커 공격도 예방할 수 있습니다. 예를 들어, openssl 도구를 사용하여 2048비트 RSA 개인 키를 생성할 수 있습니다:
openssl genrsa -out key.pem 2048
마찬가지로 인증서 요청을 생성할 때도 비밀번호가 필요합니다:
openssl req -new -key key.pem -out csr.pem
3 약한 암호화 알고리즘 사용은 금지됩니다
SSL/TLS 프로토콜은 DES, RC4 등을 포함한 여러 암호화 알고리즘을 지원합니다. 그러나 일부 암호화 알고리즘에는 결함이 있고 심지어 손상된 것으로 입증되었습니다. 따라서 서버 보안을 보장하려면 이미 안전하지 않은 암호화 알고리즘의 사용을 금지해야 합니다. 다음 구성을 사용하여 약한 암호화 알고리즘의 사용을 비활성화할 수 있습니다:
ssl_ciphers HIGH:!aNULL:!MD5;
4 STS(Strict-Transport-Security) 활성화
STS를 활성화하면 man-in-the- 중간 공격 및 트래픽 암호 해독 시도. STS는 브라우저에게 HTTPS 연결을 통해서만 웹 사이트에 액세스하도록 지시하고, 브라우저는 HTTP 연결을 통해 웹 사이트에 액세스한다는 사실을 발견하면 자동으로 HTTPS로 리디렉션합니다. STS는 다음 구성을 통해 활성화할 수 있습니다:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
5. HTTP 공개 키 고정 활성화
SSL/TLS 프로토콜이 점점 더 많아지고 있지만 더욱 안전해졌지만 공개 키 고정 공격은 여전히 존재합니다. 공개키 고정 공격의 원리는 해커가 해당 웹사이트의 공개키를 획득하고 이를 수정할 수 있어 브라우저가 해당 연결이 안전하다고 착각하게 만드는 것이다. 이 공격은 HTTP 공개 키 고정을 활성화하여 보호할 수 있습니다. 다음 구성을 사용하여 HTTP 공개 키 고정을 활성화할 수 있습니다.
add_header Public-Key-Pins 'pin-sha256="base64+primary=="; pin-sha256="base64+backup=="; ; includeSubDomains';
6. OCSP 스테이플링 활성화
OCSP 스테이플링은 OCSP 응답을 캐싱하여 서버에 대한 부담을 줄이고, OCSP 서버에 대한 응답 시간을 단축하며, 서버의 응답 속도와 안전성을 향상시키는 보안 기능입니다. 다음 구성을 사용하여 OCSP 스테이플링을 활성화할 수 있습니다.
ssl_stapling_verify on;ssl_trusted_certificate /path/to/ocsp.crt;
resolver_timeout 10s; . SSL v3 사용. 0 프로토콜은 금지됩니다.
SSL v3.0 프로토콜은 보안 취약점이 많으며 안전하지 않은 것으로 입증되었습니다. 따라서 서버 보안을 보장하기 위해 SSL v3.0 프로토콜의 사용을 금지해야 합니다. SSL v3.0 프로토콜의 사용을 금지하기 위해 다음 구성을 사용할 수 있습니다.
위 내용은 Nginx의 SSL/TLS 보안 구성 모범 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!