IT 성장일기
[Tomcat] 암호화 알고리즘 사용 제한하기 본문
암호화 알고리즘 사용 제한하기
근데 이게 다 뭐람?😥
이번에 요청받았던 TLS 버전 제한 외에도 취약한 암호화 알고리즘에 대하여도 조치를 해달라는 요청이 있었습니다.
마찬가지로 너무 생소한 친구들이었기 때문에 경험을 넓힐 좋은 기회라고 여겨졌습니다.
빨간 박스 안에 있는 애들 안보이게 해주세요.
암호화 알고리즘은 뭔가요?
암호화 알고리즘은 데이터를 암호화하거나 복호화하는 데 사용되는 수학적인 방법과 규칙의 집합입니다.
크게 대칭키 암호화 알고리즘과 비대칭키 암호화 알고리즘으로 나뉘는데 이 부분에 대해서는 따로 공부해보도록 하겠습니다.
암호화 알고리즘은 데이터의 보안과 안전성을 유지하는데 중요한 역할을 하기 때문에 끊임없이 발전하고 변화합니다.
따라서 성능이 비교적 뒤쳐지는 암호화 알고리즘을 사용 배제하는 등의 조치도 필요한 것입니다.
사용하지 않을 암호화 알고리즘 선언하기
처음엔 취약한 암호화 알고리즘을 배제하는 방식으로 설정하고자 했습니다.
java.security 파일의 "jdk.tls.disabledAlgorithms" 속성에 사용하지 않는 암호화 알고리즘을 선언하는 방법을 시도해보았습니다.
jdk.tls.disabledAlgorithms=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,...
하지만 별로 효과적이지 않았던 것 같습니다.
애초에 OpenJDK 폴더에 위치한 java.security 파일을 수정하는 이유도 잘 모르겠더랍니다.
사용할 암호화 알고리즘 선언하기
결국 사용할 암호화 알고리즘 수십 개를 Server.xml 파일에 모두 선언하는 방식으로 진행했습니다.
TLS 버전을 선언한 Connentor 태그에 "ciphers" 속성을 추가하고 값을 정의했습니다.
수정 후 코드
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true"
sslEnabledProtocol="TLSv1.2"
KeystoreFile="conf/keystore.p12"
KeystorePass="password"
ciphers="TLS_ECDHE_RSA_WITHAES_256_GCM_SHA384, ..."/> <!-- 새로 추가된 부분-->
서버를 재시작하고 실운영서버가 정상적으로 작동하는 것까지 확인하고 검증을 요청했습니다.
유의할 사항이 있었습니다.
암호화 알고리즘은 작동 방식이나 종류가 다양하기 때문에 알고리즘에 따라 보안 성능도 상이합니다.
주의할 점은 Connector 태그 내에 이를 선언할 때 선언 순서에 따라 동작 순서가 달라진다고 합니다.
Tomcat은 클라이언트 측 알고리즘 목록과 서버 측 알고리즘 목록을 비교하고 우선순위를 결정하기 때문에
일반적으로 강력한 알고리즘을 우선적으로 사용하는 것이 좋다고 합니다.
사실 근데 저는 여기까지는 잘 모르겠습니다. 다 처음 접해보는 것들인걸요. 😭
마치며 꿀팁 대방출
저 수십 개나 되는 알고리즘 명칭을 Connector 태그에 선언하려니 벌써부터 손가락에 쥐가 올라오기 시작했습니다.
다행히 이미지에서 텍스트를 추출해 주는 서비스가 있었고 이번 작업에서 가장 큰 도움을 받게 되었습니다.
https://www.cardscanner.co/ko/image-to-text
이미지 텍스트 추출 - 이미지에서 텍스트 추출
이미지 텍스트 추출 무료 온라인 OCR 이미지-텍스트 변환기는 광학 문자 인식을 사용하여 이미지, 스캔한 문서 또는 인쇄된 PDF에서 텍스트를 추출합니다.
www.cardscanner.co
도움이 되어드렸다면 구독 / 좋아요 부탁드립니다.👏🏻
감사합니다.🙂
'Server > Tomcat' 카테고리의 다른 글
[Tomcat] 윈도우 서비스 등록 중 Failed to grant service user 오류 해결하기 (0) | 2024.05.22 |
---|---|
[Tomcat] Tomcat 전용 SSL 인증서인 JKS 파일 만들고 정보 확인하기 (0) | 2023.09.11 |
[Tomcat] TLS 버전 제한하기 (0) | 2023.09.11 |
[Tomcat] 설정한 에러 페이지가 아닌 기본 에러 페이지가 나타날 때 (with Error Code 400) (0) | 2023.09.11 |
[Tomcat] Default Error Page에서 톰캣 버전 정보 감추기 (0) | 2023.09.11 |