관리 메뉴

공부공부 공부공부내용

vol2_7_2 HTTPS 구성 본문

https

SSL/TLS

- 기밀성 : 통신내용의 노출을 막을 수 있다. (대칭키)

- 무결성 : 데이터가 변조되지 않음

- 인증 : 접속하려는 서버임을 보장 (공개키)

 

SSL인증서

-내용

- 서비스의 정보 (인증서를 발급한 CA에 대한 정보, 서비스 도메인 정보 가지고 있음)

CA는 웹브라우저에 대한 보안 정보를 가지고 있다.

- 서버의 공개키 (서비스의 공개키 가지고 있음)

 

단계

클라이언트 → HTTPS 서버 : 연결 요청 + 임의데이터 추가

HTTPS 서버 → 클라이언트 : 서버가 가지고 있는 인증서(서버의 공개키) 전달

클라이언트 : CA서버가 전달한 인증서가 맞는지 확인한다.

클라이언트 -> HTTPS 서버 : 공개키(대칭키)

HTTPS 서버 -> 클라이언트 : 공개키를 이용해서 내용 전달.


[server]
yum install openssl 
hostnamectl set-hostname server.20200604.co.kr   (hostname 변경하고 시작하면 보기 편하다)

sudo openssl genrsa -out private.key 2048  (개인키 생성)
openssl req -new -key private.key -out cert.csr  (CA 에 제출하는 서명요구)

openssl x509 -req -signkey private.key -in cert.csr  (인증서에 들어가는 키와 제출할 csr 포함하여 cert.csr로 저장)

mv cert.crt /etc/pki/tls/certs/
mv private.key /etc/pki/tls/private/
restorecon -Rv /etc/pki/tls/     -> 이 밑에 있는 모든걸 컨텍스트 재시작 한다는 것 (SELinux를 꺼줘도 된다)
chmod 600 /etc/pki/tls/private/private.key   (ls -al /etc/pki/tls/private/private.key 보면 개인키라 권한이 루트만 볼수있음 )

yum -y install mod_ssl
vi /etc/httpd/conf.d/ssl.conf


	<VirtualHost _default_:443>

	# General setup for the virtual host, inherited from global configuration
	DocumentRoot "/var/www/html"(존재)
	ServerName www.20200604.co.kr:443(수정)

	# Use separate log files for the SSL virtual host; note that LogLevel
	# is not inherited from httpd.conf.
	ErrorLog logs/ssl_error_log
	TransferLog logs/ssl_access_log(존재)
	LogLevel warn(존재)

	#   SSL Engine Switch:
	#   Enable/Disable SSL for this virtual host.
	SSLEngine on(존재)

	SSLCertificateFile /etc/pki/tls/certs/cert.crt    (수정)
	SSLCertificateKeyFile /etc/pki/tls/private/private.key    (수정)



firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
systemctl start httpd.service

이후 웹사이트 들어가서 확인
https://192.168.122.200

웹창에서 ip가 아닌 https://www.20200604.co.kr로 접속이 가능하고 싶다면

우분투 터미널에 들어가서

sudo vi /etc/hosts

192.168.122.200  www.20200604.co.kr  로 등록해주면

www.20200604.co.kr  로 들어가기