웹사이트 검색

Rocky Linux에서 Let's Encrypt 인증서로 Apache 보안


이전 가이드에서는 Rocky Linux에 LAMP 스택을 설치하는 방법을 안내하고 단일 서버에서 여러 웹 사이트를 호스팅해야 하는 경우를 대비해 Apache 가상 호스트 구성을 진행했습니다.

그러나 그것은 단지 끝나지 않습니다. 웹 사이트 보안은 사이버 위협이 증가함에 따라 이제 대부분의 조직과 사용자 모두에게 가장 큰 관심사 중 하나입니다. 웹사이트를 보호하는 방법에는 여러 가지가 있습니다. 해커로부터 기본적인 보호를 구현하는 기본 방법 중 하나는 SSL/TLS 인증서를 사용하여 사이트를 암호화하는 것입니다.

SSL/TLS 인증서는 웹사이트의 신원을 인증하고 사용자 브라우저와 웹서버 간에 교환되는 데이터를 암호화하는 암호화 인증서입니다.

실제로 귀하의 사이트는 데이터를 일반 텍스트로 보내는 HTTP 프로토콜을 데이터를 암호화하는 HTTPS(HTTP 보안) 프로토콜 사용으로 전환합니다. 암호화하지 않으면 해커가 웹 서버와 브라우저 간에 교환되는 데이터를 도청하여 사용자 이름, 비밀번호 등의 기밀 정보를 쉽게 확보할 수 있습니다.

얼마 전 Google은 URL 표시줄에 '안전하지 않음' 라벨을 표시하여 암호화되지 않은 사이트를 방문하는 사용자에게 경고를 표시했습니다. 이는 사용자가 사이트를 탐색하는 동안 위험을 감수하기를 바라는 것입니다.

웹사이트 소유자라면 고객과 웹사이트 방문자의 개인 정보가 해커에게 노출되는 위험에 빠지고 싶지 않을 것입니다. 이러한 이유로 웹 서버에 SSL 인증서를 설치하는 것이 사이트 보안을 위한 기본 단계입니다.

이 가이드에서는 Lets Encrypt SSL 인증서를 사용하여 Rocky Linux 8에서 Apache 웹 서버를 보호하는 방법을 보여줍니다.

전제조건

이것이 작동하려면 도메인이 웹사이트의 공용 IP 주소를 가리키도록 해야 합니다. 따라서 웹 호스트로 가서 도메인 이름이 웹 서버의 IP를 가리키는지 확인해야 합니다.

여기에서는 가상 서버의 공개 IP 주소를 가리키는 도메인 tecmint.info가 있습니다.

1단계: Rocky Linux에 EPEL Repo 설치

우리는 그 과정에서 도움이 될 필수 구성 요소 패키지를 설치하는 것부터 시작합니다. EPEL 저장소와 SSL/TLS 프로토콜을 활용하여 강력한 암호화를 제공하는 Apache HTTP 서버용 보안 모듈인 mod_ssl 패키지를 설치합니다. OpenSSL을 사용합니다.

sudo dnf install epel-release mod_ssl

2단계: Rocky Linux에 Certbot 설치

이제 Certbot을 설치해 보겠습니다. 이는 Let’s Encrypt 기관에서 SSL 인증서를 가져오고 설치 및 구성을 자동화하는 클라이언트입니다. 이렇게 하면 전체 프로세스를 수동으로 수행해야 하는 번거로움과 번거로움이 사라집니다.

sudo dnf install certbot python3-certbot-apache 

이제 Certbot이 완전히 설치되고 잘 구성되었습니다.

3단계: Rocky Linux에 Apache용 SSL 인증서 설치

마지막 단계는 Let's Encrypt SSL 인증서를 검색하고 설치하는 것입니다. 이를 달성하려면 다음 명령을 실행하십시오.

sudo certbot --apache

이것은 일련의 프롬프트를 시작합니다. 먼저, 이메일 주소를 제공해야 합니다. 다음으로, 제공된 URL에서 서비스 약관을 훑어보고 'Y'를 눌러 약관에 동의한 다음 ENTER를 누르세요.

다음으로, Let’s Encrypt의 창립 파트너인 EFF(Electronic Frontier Foundation)와 이메일 주소를 공유할 의향이 있는지 묻는 메시지가 표시됩니다.

이메일 주소를 공유하면 조직에 대한 뉴스, 캠페인 및 기타 업데이트를 구독하게 됩니다. 이메일 주소를 제공해도 괜찮다면 'Y'를 누르고, 그렇지 않으면 'N'을 누르고 ENTER를 누르세요.

다음 프롬프트에서는 웹 서버 구성을 기반으로 도메인 목록을 제공하고 어느 도메인에서 HTTPS를 활성화할지 묻습니다. '1' 또는 '2'를 선택할 수 있습니다. 그러나 통일성을 위해 ENTER 키를 눌러 모든 도메인에 대해 HTTPS를 활성화하면 됩니다.

Certbot은 Let’s Encrypt의 설치 및 구성을 마무리하고 /etc/letsencrypt/live/yourdomain/ 경로에 보안 키를 저장합니다.

모든 것이 계획대로 진행되었다면 출력이 표시됩니다.

4단계: Rocky Linux에서 Apache용 SSL 인증서 자동 갱신

Certbot은 만료되기 며칠 전에 인증서를 갱신하기 위한 스크립트를 제공합니다. 표시된 대로 테스트 실행을 수행하여 스크립트를 테스트할 수 있습니다.

sudo certbot renew --dry-run

이제 스크립트를 통해 인증서 갱신을 자동화하려면 crontab을 편집하세요.

crontab -e

표시된 크론 작업을 지정하고 변경 사항을 저장합니다.

0 * * * * /usr/sbin/certbot-auto renew

4단계: Rocky Linux에서 Apache SSL 인증서 확인

사이트가 암호화되었는지 확인하려면 브라우저로 가서 웹사이트를 다시 로드하세요. 이번에는 웹사이트 URL 바로 앞에 자물쇠 아이콘이 보일 것입니다.

자세한 내용을 확인하려면 아이콘을 클릭하고 나타나는 메뉴에서 '인증서' 옵션을 클릭하세요.

제공된 모든 인증서 세부 정보가 채워집니다.

SSL 실험실 테스트로 이동하여 인증서의 강도를 테스트할 수 있습니다. 웹사이트의 URL이나 도메인 이름을 입력하고 Enter 키를 누르세요.

여기에 표시된 대로 A 등급을 받아야 합니다.

결론

여기까지 왔다면 EFF의 Certbot 클라이언트를 활용하여 Let's Encrypt SSL Certificate를 사용하여 Apache 웹 서버를 암호화할 수 있는 위치에 있게 되었습니다.