>  기사  >  운영 및 유지보수  >  Nginx에서 보안 SSL 인증서 전송 구성

Nginx에서 보안 SSL 인증서 전송 구성

WBOY
WBOY원래의
2023-06-10 19:10:381842검색

인터넷의 대중화와 함께 네트워크 보안은 사람들이 점점 더 관심을 기울이는 중요한 주제가 되었습니다. SSL 인증서는 웹사이트 보안을 보장하는 효과적인 수단 중 하나입니다. 널리 사용되는 웹 서버 소프트웨어인 Nginx는 SSL 프로토콜을 지원하므로 웹 사이트 통신 프로세스의 보안을 보장하기 위해 SSL 인증서를 구성할 수 있습니다. 이 문서에서는 Nginx에서 보안 SSL 인증서 전송을 구성하는 방법을 자세히 설명합니다.

1. SSL 인증서 받기

SSL 인증서를 구성하기 전에 먼저 인증서를 받아야 합니다. 일반적으로 SSL 인증서는 인증 기관에서 구입하거나 직접 생성할 수 있습니다. SSL 인증서를 구입하면 더욱 신뢰할 수 있는 인증서를 얻을 수 있지만 수수료가 부과됩니다. 자체 생성 인증서는 무료로 사용할 수 있지만 보안 수준이 상대적으로 낮습니다. 이 문서에서는 Let's Encrypt를 예로 들어 SSL 인증서를 얻는 방법을 소개합니다.

  1. Certbot 도구 설치

Certbot은 SSL 인증서를 자동으로 획득하고 구성할 수 있는 자동화된 SSL 인증서 관리 도구입니다. Linux 시스템에 Certbot을 설치하는 방법은 다음과 같습니다:

Ubuntu:

sudo apt-get install certbot python3-certbot-nginx

CentOS:

sudo yum install certbot python3-certbot-nginx
  1. Obtain SSL 인증서

Certbot은 SSL 인증서 획득 작업의 자동 실행을 지원합니다. 다음 명령을 실행하면 됩니다. :

sudo certbot --nginx -d example.com

그 중 -d 매개변수 뒤에는 SSL 인증서를 받아야 하는 도메인 이름이 옵니다. Certbot은 Nginx 구성 파일을 수동으로 수정하지 않고도 자동으로 Nginx 구성 파일을 감지하고 SSL 인증서를 설정합니다.

2. SSL을 활성화하도록 Nginx를 구성하세요

SSL 인증서를 획득한 후 Nginx에서 SSL을 활성화해야 합니다. 구성 방법은 다음과 같습니다.

  1. Nginx 구성 파일 수정

Nginx 구성 파일 nginx.conf를 열고 http 블록을 찾은 후 다음 내용을 추가합니다.

http {
    #其他http配置

    server {
        listen 443 ssl;
        server_name example.com;

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

        #其他配置
    }
}

그 중 Listen 443 SSL은 Listen을 의미합니다. HTTPS 요청 및 server_name 구성을 수신해야 합니다. 도메인 이름, ssl_certificate는 SSL 인증서의 공개 키를 지정하고, ssl_certificate_key는 SSL 인증서의 개인 키를 지정합니다.

  1. Restart Nginx

구성이 완료되면 Nginx 서비스를 다시 시작해야 합니다.

Ubuntu:

sudo service nginx restart

CentOS:

sudo systemctl restart nginx

3. SSL 구성 최적화

SSL 인증서 구성 외에도 SSL 보안을 강화할 수 있는 몇 가지 다른 보안 조치가 있습니다. 예를 들어 Nginx 구성 파일에서 안전하지 않은 프로토콜, 암호 제품군 등을 비활성화하도록 구성할 수 있습니다.

다음은 몇 가지 일반적인 SSL 구성 최적화입니다.

  1. SSLv2 및 SSLv3 비활성화: SSLv2 및 SSLv3은 안전하지 않은 것으로 입증되었으므로 비활성화해야 합니다. Nginx 구성 파일에 다음 코드를 추가합니다.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  1. 강력한 암호화 제품군 사용: 더 강력한 암호화 제품군을 사용하면 SSL의 보안이 향상될 수 있습니다. Nginx 구성 파일에 다음 코드를 추가합니다.
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256;
  1. OCSP 스테이플링 활성화: OCSP 스테이플링은 SSL 핸드셰이크 중 네트워크 대기 시간을 줄이고 SSL 성능과 보안을 향상할 수 있습니다. Nginx 구성 파일에 다음 코드를 추가하세요.
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;

4. SSL 보안 테스트

SSL 구성을 완료한 후 온라인 SSL 보안 테스트 도구를 사용하여 SSL 보안을 테스트하여 구성의 정확성과 안전성을 확인할 수 있습니다. . HTTPS 서버의 보안을 종합적으로 테스트할 수 있는 Qualys SSL Labs에서 제공하는 온라인 테스트 도구를 사용하는 것이 좋습니다.

위 단계를 통해 Nginx에서 보안 SSL 인증서 전송을 성공적으로 구성하여 웹사이트를 더욱 안전하고 신뢰할 수 있게 만들었습니다. 동시에 SSL 구성 전략을 지속적으로 업데이트하고 SSL 보안을 강화하는 것도 중요합니다. 독자들이 자신의 웹사이트 보안을 보호하는 과정에서 점점 더 자신감을 가질 수 있기를 바랍니다.

위 내용은 Nginx에서 보안 SSL 인증서 전송 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.