-
Linux - HTTP를 HTTPS로 만들기스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7/Linux 2023. 6. 5. 13:27
HTTPS = HTTP + SSL
HTTP는 평문으로 데이터가 전송이 되기 때문에 보안에 취약하다
데이터를 암호화하여 전송을 해야 하는데
대칭키 비대칭키를 사용하여 데이터를 주고 받을 수 있다
대칭키 : 한개의 키를 사용한다
상대방에게 내 공개키를 준다
비대칭키 : 서로 다른 두개의 키를 사용한다
비대칭키 사용법 :
하나의 키를 공유키 하나의 키는 공유 불가 키로 만든다
공유 가능키를 통해 암호화를 하고 데이터를 전송한다
* 인증
암호화된 데이터의 맞는 키를 상대방에게 요청하고
얻어온 키를 제3기관을 통해 키 인증을 받아 상대방의 키를 확인한다*대칭과 비대칭을 이용
- 비대칭만을 사용하면 데이터 용량이 커지기 때문에
용량이 적은 대칭키를 비대칭키로 암호화 해서 전송을한다
- 데이터를 전송할때 대칭키를 상대방에게 전송하는데
비대칭 키로 대칭키를 암호화 해서 보내고 상대방이 전달을 받으면 파일을 열기위해
송신자의 비대칭 키를 얻어오는데비대칭키를 제 3기관 인증을 걸친다제 3기관에 도메인을 등록을 하여서 비대칭 키를 인증하도록 한다
*리눅스 적용
0) apache2 설치
apt update
apt install apache2
1) letsencrypt 관련 모듈 설치
apt install -y certbot
2) DNS 서버 설정
DNS 서버에 ip를 등록한다
3) 인증서 생성
웹 서버 종료한 상테에서 진행한다systemctl stop apache2
certbot certonly -d [도메인주소]
1번 standalone
메일주소 입력
라이센스 동의 Y
정보 제공 동의 N
4) 인증서 설정
vi /etc/apache2/sites-available/default-ssl.conf
# SSL 인증서
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
=> SSLCertificateFile /etc/letsencrypt/live/도메인주소/cert.pem
# 개인키
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
=> SSLCertificateKeyFile /etc/letsencrypt/live/도메인주소/privkey.pem
# CA 증명서
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
=> SSLCertificateChainFile /etc/letsencrypt/live/도메인주소/chain.pem
5) 서버에 적용
a2ensite default-ssl
a2enmod ssl
systemctl restart apache2
웹으로 접속해서 테스트 (https://도메인)
5) 리다이렉트 설정 - http로 접속시 https로 접속하도록 변경해준다
vi /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80> 바로 아래줄에 다음 내용 추가
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
a2enmod rewrite
systemctl restart apache2
웹으로 접속해서 테스트 (http://도메인)'스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7 > Linux' 카테고리의 다른 글
ubuntu - apache2 설치 (0) 2023.09.07 Linux - Linux에서 ASP.NET 실행 (0) 2023.06.15 Linux - 3계층 아키텍처 (0) 2023.05.31 Linux - 톰캣 이중화 (0) 2023.05.31 Linux - DB 2중화 (0) 2023.05.31