Posts [보안] Apache Tomcat SSL Configuration
Post
Cancel

[보안] Apache Tomcat SSL Configuration

1) Creating the KeyStore

  • 서버는 인증서가 반드시 있어야하는데 KeyStore를 만들고 인증서를 저장한다
  • 자바에서는 keytool이라 불리는 command-line tool을 제공한다
  • 이를 사용해서 KeyStore를 만들수 있고 여기에 인증서를 넣어 둘 수 있다
  • 인증서로서 test목적으로 self-signed인증서를 사용한다 ( 자기 자신이 직접 서명한 인증서)
  • keytool을 사용해서 self-signed인증서를 만들어서 KeyStore에 저장

1-1) keystore라는 디렉토리 생성

스크린샷 2020-05-22 오후 7 04 07

1-2) KeyStore 생성

스크린샷 2020-05-22 오후 7 09 59

1-3) 확인

스크린샷 2020-05-22 오후 7 12 20

※ JKS : Java에서 사용되는 KeyStore format

참고 자료

스크린샷 2020-05-22 오후 6 58 41

2) Configuring Tomcat to use SSL

2-1) server.xml의 SSL과 관련된 부분 주석 해제

스크린샷 2020-05-22 오후 7 20 25

스크린샷 2020-05-22 오후 8 17 04

  • 이렇게 설정해주면 tomcat이 keystore를 접근해서 서버인증서를 가져 오게 됨

2-2) tomcat 재시작

1
2
$ cd /opt/tomcat/logs
$ cat catalina.out

->이런식으로 로그를 보면 길기 때문에 아래와 같이 새로 생성되는 로그 메시지들만 확인

1
$ tail -f /opt/tomcat/logs/catalina.out

스크린샷 2020-05-22 오후 7 28 37

  • 터미널 하나 더 생성해서 sudo systemctl restart tomcat으로 tomcat재시작 수행 후 log메시지 확인
    스크린샷 2020-05-22 오후 7 29 53

  • AWS 보안 그룹에서 8443포트 번호 열어주기
    스크린샷 2020-05-22 오후 7 31 08
    스크린샷 2020-05-22 오후 8 48 33

2-3) 8443포트로 HTTPS를 이용한 접속

스크린샷 2020-05-22 오후 8 44 38
스크린샷 2020-05-22 오후 8 45 10

※ 나중에 인증기관에서 정식으로 발급 받아야함!!!
※ Mac OS로 인하여 크롬 자체에서 안전한 페이지로 이동하는 것 조차 차단시킴
스크린샷 2020-05-22 오후 8 46 41

※ 참고 자료

스크린샷 2020-05-22 오후 7 21 08
스크린샷 2020-05-22 오후 7 21 58

3) Web.xml 설정(Limiting SSL Usage)

  • 한 사이트로 htp, https 모두로 접근 할 수 있는건 바람직하지 않다
  • 이에 대해서 Https만 제공하기 위해 설정이 필요함

3-1) Web.xml에 다음과 같이 설정

스크린샷 2020-05-22 오후 8 54 13

스크린샷 2020-05-22 오후 8 58 50

3-2) Tomcat 재시작

스크린샷 2020-05-22 오후 8 59 15

  • 다음과 같이 HTTP 8080으로 접속해도 HTTPS 8443포트로 Redirection이 일어남
    스크린샷 2020-05-22 오후 9 01 16

스크린샷 2020-05-22 오후 9 03 04

  • conf/server.xml에 다음과 같이 Redirection을 설정하였기 때문에 Redirection이 일어남
    스크린샷 2020-05-22 오후 9 04 14

※ 참고 자료

스크린샷 2020-05-22 오후 8 51 16

※ http로 구현시 password 메시지가 노출이 될 수 있기에 최근의 대부분 사이트들은 ssl을 사용하는 https로 연결함
※ CA에서 정식으로 인증서만 발급받아서 KeyStore에 저장하고 위와 같이 설정해주면 됨

This post is licensed under CC BY 4.0 by the author.