HTTPS Packet Capture Tutorial 2014 . 11 . 28
Overview https 패킷을 capture하기 위해 Linux에 Web 서버를 동작시키고 그 서버를 TLS 상에서 동작시킨다. TLS에서 동작하는 Web 서버가 클라이언트와 주고 받는 https 패킷을 capture하기 위해 Wireshark에 적절한 field 값을 채운다. ※TLS(Transport Layer Security) : TCP상에서 동작하는 응용 프로그램이 네트워크로 통신을 하는 과정에서 인증 및 기밀성을 지원해주기 위해서 설계
HTTPS Packet Capture Tutorial 1 Fedora에 Web 서버 동작 2 Web 서버 SSL / TLS상에서 동작 3 HTTPS Packet Capture 4
1. Fedora Web 서버 동작 IP 주소를 확인 후 Web 브라우저를 통해
1. Fedora Web 서버 동작 Web 서버 프로그램 Apache 설치한다. Web 서버를 동작시킨다. % yum –y install httpd* Web 서버를 동작시킨다. 자신의 IP로 web서버가 동작하는 것을 확인
2. Web 서버 SSL / TLS 상에서 동작 SSL은 공인인증기관으로부터 서버와 클라이언트간의 인증을 하는데 사용된다. https를 사용하면 SSL로 암호화된 페이지를 요청하게 된다. 기본적으로 http에서 동작하는 서버를, https에서 동작시키기 위해 SSL 인증서를 설치한다. 인증서는 공인인증기관에게 직접 발급받거나 자기 자신이 공인인증기관이 되어 발급하는 방법 (self sign)이 있다.
2. Web 서버 SSL / TLS 상에서 동작 자신의 IP로 https:// 접속이 불가한 것을 확인 https 동작을 위해 CSR(Client Signing Request)을 만들어 인증서를 발급받는다. ssl module을 설치한다. yum –install mod_ssl
2. Web 서버 SSL / TLS 상에서 동작 CSR 메시지를 생성하기 위해 필요한 Key file 생성 ca.key % openssl genrsa –out ca.key(키이름 ) ca.key Private key Public key 생성된 Key file은 개인키와 공개키의 쌍으로 이루어진 Key pair이다.
2. Web 서버 SSL / TLS 상에서 동작 생성된 개인키로 CSR(Client Signing Request) 만들기 % openssl req –new –key ca.key –out ca.csr 각 필드에 맞는 값을 입력해준다.
2. Web 서버 SSL / TLS 상에서 동작 생성된 CSR을 self sign하여 공인인증서 만들기 % openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
vi /etc/httpd/conf.d/ssl.conf 2. Web 서버 SSL / TLS 상에서 동작 Web서버를 TLS상에서 동작시키기 위해 환경설정을 바꾼다. vi /etc/httpd/conf.d/ssl.conf SSLCertificateFile 공인인증서 위치로 변경 SSLCertificateKeyFile 개인키 파일 위치로 변경
3. HTTPS Packet Capture 설정 변경 후 Web서버를 재시작한다. 일반적으로 TLS data는 암호화 되어 있어 SSL stream 으로 볼 수 없다.
3. HTTPS Packet Capture Edit- Peferences- Protocol –SSL field에 서버IP, Port Number, Protocol, key pair 를 입력하여 복호화 한다.
3. HTTPS Packet Capture 값 설정 뒤 TLS data 를 SSL stream 으로 볼 수 있다.