어떻게 Ubuntu 16.04에서 Let's Encrypt를 사용하여 아파치를 보호합니까

어떻게 Ubuntu 16.04에서 Let's Encrypt를 사용하여 아파치를 보호합니까

2022-06-01 last update

7 minutes reading Let's Encrypt Ubuntu 16.04 Security LAMP Stack Apache

소개


이 강좌에서는 Apache를 웹 서버로 실행하는 Ubuntu 16.04 서버에서 Let’s Encrypt TLS/SSL 인증서를 설정하는 방법을 보여 줍니다.
SSL 인증서는 웹 서버에서 서버와 클라이언트 간의 통신을 암호화하고 응용 프로그램에 접근하는 사용자에게 추가 보안을 제공합니다.Let's Encrypt는 신뢰할 수 있는 인증서를 무료로 얻고 설치하는 간단한 방법을 제공합니다.

선결 조건


이 안내서를 작성하려면 다음이 필요합니다.
  • Ubuntu 16.04 서버로 root sudo가 아닌 사용자를 사용할 수 있습니다. 저희 Initial Server Setup 안내서
  • 에 따라 설정할 수 있습니다.
  • 지정된 가상 호스트를 통해 ServerName 아파치 웹 서버가 제대로 설치되었습니다.
  • 계속하려면 sudo를 사용하는 계정으로 서버에 로그인하십시오.

    1단계 - Let's Encrypt 클라이언트 설치


    서버에서 실행되는 클라이언트 소프트웨어를 통해 얻은 인증서를 암호화합니다.공식 클라이언트는 Certbot이라고 하는데 개발자는 최신 버전을 사용하여 자신의 Ubuntu 소프트웨어 라이브러리를 유지한다.Certbot이 이렇게 활발한 개발 중이기 때문에 이 저장소를 사용하여 Ubuntu가 기본적으로 제공하는 업데이트 버전을 설치하는 것은 가치가 있습니다.
    먼저 저장소를 추가합니다.
    1. sudo add-apt-repository ppa:certbot/certbot
    접수하려면 ENTER 를 누르십시오.그런 다음 패키지 목록을 업데이트하여 새 저장소에 대한 패키지 정보를 얻습니다.
    1. sudo apt-get update
    마지막으로 apt-get를 사용하여 새 저장소에서 Certbot을 설치합니다.
    1. sudo apt-get install python-certbot-apache
    certbot Let's Encrypt 클라이언트를 사용할 수 있습니다.

    2단계 - SSL 인증서 설정


    Certbot을 사용하여 Apache에 대한 SSL 인증서를 생성하는 것은 매우 간단합니다.클라이언트는 매개 변수로 제공되는 도메인에 유효한 새 SSL 인증서를 자동으로 가져와 설치합니다.
    대화식 설치를 실행하고 단일 도메인만 덮어쓰는 인증서를 얻으려면 다음과 같이 certbot 명령을 실행하십시오.com은 도메인입니다.
    1. sudo certbot --apache -d example.com
    여러 도메인이나 하위 도메인에 유효한 단일 인증서를 설치하려면 명령에 추가 매개 변수로 전달할 수 있습니다.매개 변수 목록의 첫 번째 도메인 이름은 인증서를 만드는 데 사용되는 Let's Encrypt입니다. 따라서 최상위 도메인 이름을 목록의 첫 번째 도메인으로 전달하고 다른 하위 도메인이나 별명을 전달하는 것을 권장합니다.
    1. sudo certbot --apache -d example.com -d www.example.com
    이 예에서 기본 도메인은 example.com 입니다.
    가상 호스트가 여러 개인 경우 각 가상 호스트에 대해 새 인증서를 생성하기 위해 가상 호스트당 한 번 certbot 을 실행해야 합니다.가상 호스트 간에 여러 도메인과 하위 도메인을 배포할 수 있습니다.
    의존 항목을 설치하면 인증서 옵션을 사용자 정의할 수 있는 단계별 안내서를 제공합니다.키 복구 및 알림이 누락된 전자 메일 주소가 필요합니다. httphttps 에 액세스하거나 모든 요청을 https 로 다시 지정하도록 설정할 수 있습니다.암호화되지 않은 데이터가 특별히 필요하지 않은 경우https 가장 안전한 요구 사항입니다.
    설치가 완료되면 http 생성된 인증서 파일을 찾을 수 있습니다.다음 링크를 통해 SSL 인증서의 상태를 확인할 수 있습니다. (example.com을 기본 도메인으로 바꾸는 것을 잊지 마십시오.)
    https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
    
    현재 /etc/letsencrypt/live 접두사를 사용하여 웹 사이트를 방문할 수 있을 것입니다.

    3단계 - Certbot 자동 갱신 확인


    암호화된 인증서의 유효기간은 90일입니다.그러나, 우리가 설치한certbot 패키지는 시스템d 타이머를 통해 매일 https 두 번씩 실행되어 우리를 위해 이 문제를 해결한다.비시스템드 버전에서 이 기능은 certbot renew의cron 스크립트에서 제공합니다.이 작업은 매일 두 번 실행되며, 만료된 후 30일 이내의 모든 인증서를 갱신합니다.
    갱신 프로세스를 테스트하려면 /etc/cron.d 를 사용하여 파일럿을 실행할 수 있습니다.
    1. sudo certbot renew --dry-run
    만약 당신이 잘못을 보지 못했다면, 모든 것이 준비되었을 것입니다.필요한 경우 인증서를 갱신하고 Apache를 다시 로드하여 변경 사항을 가져옵니다.자동 갱신 프로세스가 실패하면 Let's Encrypt는 인증서가 만료될 때 경고하는 메시지를 지정한 이메일로 보냅니다.

    결론


    이 안내서에서 우리는 아파치가 위탁 관리하는 사이트의 안전을 보호하기 위해 Let's Encrypt에서 무료 SSL 인증서를 설치하는 방법을 이해했다.중요한 업데이트를 확인하기 위해 공식 one or more domain names 을 자주 확인하고 Let’s Encrypt blog 을 읽어 Certbot 클라이언트에 대한 자세한 정보를 확인하시기 바랍니다.