웹 서비스 사용 시 HTTPS를 사용하기 위해서 SSL인증서는 필수로 필요하게 됩니다.
SSL인증서를 통해 통신 시 데이터의 암,복호화가 이루어지며 인증서, 개인키, 체인 인증서로 구성되어 있습니다.
SSL 인증서는 서버에 직접 설치 할 수도 있지만 이럴 경우 다수의 모든 서버에 SSL 인증서 설치 및 관리가 필요하게 됩니다. 또한 암,복호화 하는 과정에서 서버에 부하를 줄 수도 있습니다.
따라서 모든 서버에 설치하기 보다는 서버 앞단의 로드밸런서에서 대신 SSL인증서 처리를 할 수 있는데 이를 SSL Offload라고 합니다. 로드밸런서가 클라이언트와 SSL 암,복호화를 처리하고 서버에게는 평문으로 보내주는 것입니다.
이번에는 F5 SSL Offload를 위해 필요한 과정을 알아보려고 합니다.
SSL Offload 순서
- SSL 인증서 등록
- SSL Profile 생성
- Virtual Server에 SSL Offload 적용
SSL 인증서 등록
1. System → Certificate Management → Traffic Certificate Management → SSL Certificate List 인증서 등록 메뉴 진입
2. Import 클릭하여 인증서 및 키 파일을 등록
인증서는 구성은 개인키, 인증서, 체인 인증서 총 3개로 구성되며 .pem 확장자 파일 형식으로 되어있습니다.
인증서 : cert.pem
개인키 : newkey.pem
체인 인증서 : TuringSignCA.pem
3. Key(private) 파일 등록
Key 파일을 등록하기 위해 아래 정보를 선택합니다.
Import Type : Key
Key Name : F5장비에서 사용할 이름 작성
Key Source : 등록할 키 파일 선택
4. Key 파일 확인
키파일이 정상적으로 등록되었는지 확인합니다.
(Key 파일 적용 비정상 시 Size : 0 bits 표시)
5. 인증서 등록
인증서 등록을 위해 생성한 key 파일로 들어가서 Certificate - import를 통해 인증서를 등록합니다.
6. 인증서 확인
등록된 인증서를 확인해보면 인증서를 사용하는 기관명, 도메인, 유효 기관 등의 정보가 들어있습니다.
7. 체인 인증서 등록
키 파일 등록과 마찬가지로 인증서 목록에서 Import 버튼을 눌러 인증서 등록 메뉴로 진입합니다.
Import Type : Certificate
Certificate Name : F5장비에서 사용할 이름 작성
Certificate Source : 등록할 체인 인증서 파일 선택
8. 체인 인증서 확인
체인 인증서는 인증서를 인증하는 상위 기관에 대한 정보가 들어있습니다.
9. 생성한 인증서 리스트 확인
SSL Profiles 생성
인증서를 등록했으면 인증서를 사용하기 위한 Profile을 생성합니다.
1. SSL 인증서 프로파일 생성
(Local Traffic → Profile → SSL → Client)
2. Create 버튼 클릭
3. Certificate Key Chain 체크 박스 및 Add 클릭
4. Profile에 사용할 인증서 선택
Certificate : 생성한 인증서 선택
Key : 생성한 Key 선택
Chain : 생성한 체인 인증서 선택
하단의 Finish 버튼을 눌러 Profile 생성을 마무리 합니다.
5. (추가사항) 프로파일 옵션
Default SSL Profile for SNI(Server Name Indication) : 다수 인증서 적용 시 Default로 사용할 인증서
Server Name : SSL인증을 적용할 도메인 명 작성
Renegotiation : HTTP2 사용 시 비활성화
추가) SNI 란?
하나의 Virtual Server에 다수 인증서 적용 시 장비에서는 어느 인증서를 선택해 SSL 암,복호화를 진행할 지 알 수 없습니다.
이를 위해 Client Hello 과정에서 SNI를 사용해 접속하려는 도메인 정보를 삽입하여 보냅니다.
이 정보를 확인하여 다수의 인증서가 적용되어 있더라도 전달받은 도메인을 확인해 알맞은 인증서로 SSL 암,복호화 처리를 진행하게 됩니다.
Virtual Server에 SSL Offload 적용하기
Local Traffic → Virtual Servers에 SSL Profile 등록
SSL Profile (Client)항목에 생성한 SSL Profile을 등록하면 완료됩니다.
하나의 Vritual Server에 여러 인증서를 등록 할 경우
Default로 사용할 인증서의 프로파일(Default SSL Profile for SNI 옵션 체크)을 만들고 나머지 인증서의 프로파일은 Server Name 옵션을 적용해서 만듭니다.
그 후 Virtual Server에 SNI가 적용된 프로파일과 Server Name이 적용된 프로파일(다수 가능)을 적용하면 여러 도메인에 대한 SSL인증을 사용할 수 있습니다.
인증서 적용 여부 확인
인증서가 정상으로 적용되었는지 여부는 브라우저에서도 확인이 가능하지만 아래 사이트를 이용하면 좀 더 간편하게 확인할 수 있습니다.
체크하고자 하는 도메인을 입력하면 해당 도메인에 대한 SSL 인증서 정보 및 체인 인증서 정보 확인이 가능합니다.
https://www.digicert.com/help/
참고 사항
- SSL 통신 과정
[참고 사이트]
'Network' 카테고리의 다른 글
[NSX-T] NSX-T LB에서 패킷 캡처하기 (0) | 2024.01.31 |
---|---|
[Network] Paloalto FQDN, URL Category 차이 (1) | 2023.11.27 |
[F5] F5 BIP-IP 관리자 접근 제어 (HTTPS/SSH) (0) | 2023.02.10 |
[Network] Cisco 광 모듈 인식 및 신호 확인 (0) | 2023.01.26 |
[Network] Mac 와이어샤크 Capture Permission 오류 해결 방법 (0) | 2021.10.18 |