< megabank.store 웹사이트에 Let's Encrypt를 이용해 HTTPS를 설정>
: https://megabank.store 로 접근할 수 있도록 구성
1. 환경 준비
시스템 요구사항
|
sudo apt update
#add-apt-repository 명령어를 사용하려면 software-properties-common 패키지가 필요
sudo apt install software-properties-common
#최신 버전의 Certbot을 설치
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
#Certbot이 Apache 서버와 통합되어 SSL 인증서를 자동으로 설치하고 갱신
sudo apt install python3-certbot-apache
=> python3-cerbot-apache 및 관련 의존 패키지가 성공적으로 설치 완료
2. SSL 인증서 발급 및 설정
#Certbot을 사용하여 Apache 웹 서버에 SSL 인증서를 자동으로 설치하고 설정하는 명령어
sudo certbot --apache
- 이메일 입력 : 관리 이메일 입력 ( 실제 수신할 수 있는 이메일 )
- 이용약관 동의 : A입력
- 도메인 선택 : 도메인 입력 (ex. megabank.store)
- 리다이렉션 설정: HTTPS 리다이렉션 활성화 (2 선택)
# SSL 모듈 활성화
sudo a2enmod ssl
# Apache 다시 시작
sudo systemctl restart apache2
-> SSL 모듈 활성화
3. 방화벽 확인 및 Apache 설정 파일에 ServerName 명시적 추가
-> 방화벽 확인
-> Apache가 HTTPS를 제대로 수신 상태
#Apache 웹 서버의 주 설정 파일인 apache2.conf 수정
sudo nano /etc/apache2/apache2.conf
#파일 하단에 추가
ServerName megabank.store
-> 설정 완료
[ 트러블슈팅? ]
-> 안되는 이유? : 포드포워딩 때문
-> 포트포워딩 설정 완료
4. SSL 인증서 재발급
( HTTPS 리디렉션이 처음에 작동하지 않았다. -> Apache 설정 파일에 있는 리디렉션 규칙이 비활성화 되었기 때문)
-> Cerbot이 SSL 인증서를 발급할 때, 리디렉션 루프를 방지하기 위해 일부 리디렉션 규칙을 자동으로 비활성화했을 가능성이 있다.
-> SSL 인증서를 재발급 받으면서 Cerbot이 Apache 설정을 다시 업데이트하고, HTTPS 리디렉션 규칙을 재활성화
( SSL 인증서와 리디렉션 설정이 모두 제대로 적용되어 HTTPS로 리디렉션이 정상적으로 작동)
1. 시스템 준비 및 패키지 설치
2. SSL 인증서 발급
3. Apache 설정
4. 방화벽 및 ServerName 설정
|
[재발급 할때]
: 이미 인증서가 유효한 상태였기 때문에 certbot은 새로운 인증서를 발급하지 않고, 기존 인증서를 갱신 ( Apache 설정 파일도 자동으로 수정)
[SSL 연결확인]
: openssl s_client -connect localhost:443 명령어를 사용하여 SSL 인증서가 제대로 설정되었는지 확인한 결과, SSL 핸드셰이크가 정상적으로 완료되었고, 인증서 체인도 올바르게 설정 확인.
=> megabank.store는 HTTPS 연결을 통해 안전하게 접근할 수 있다.
'project' 카테고리의 다른 글
시스템보안 (0) | 2024.12.10 |
---|---|
bank 대응 프로젝트 (ModSecurity 웹 애플리케이션 방화벽(WAF)) (0) | 2024.12.09 |
OWASP ZAP과 Nikto의 스캔 결과를 CSV 파일로 자동 변환 과정 (0) | 2024.12.06 |
wapiti (0) | 2024.11.12 |
프로젝트 ( bank 웹 애플리케이션 - Metasploit을 활용) (0) | 2024.10.28 |