암호화 통신에서 사용하는 *Cipher Suite(암호화 방식 모음)*를 제거하거나 비활성화하는 방법은 주로 TLS/SSL 설정에서 이루어집니다.
특정 암호화 방식(Cipher Suite)을 지원하지 않거나 사용하지 않도록 설정하는 것은 보안 강화 및 호환성 관리에 중요한 부분입니다.
암호화 방식(Cipher Suite)은 다양한 프로토콜(예: TLS/SSL)을 통해 클라이언트와 서버 간의 안전한 통신을 보장합니다.
그러나 일부 구식 또는 취약한 암호화 방식은 보안 위험을 초래할 수 있기 때문에 이를 제거하거나 비활성화하는 것이 중요합니다.
아래는 다양한 서버 환경에서 Cipher Suites를 제거하는 방법에 대한 설명입니다.
1. Apache (HTTPD) 웹 서버에서 Cipher Suite 제거
Apache 서버의 TLS/SSL 설정에서 Cipher Suite를 관리할 수 있습니다.
이를 위해 서버의 설정 파일(httpd.conf 또는 ssl.conf)을 수정해야 합니다.
예시:
- Apache 설정 파일(ssl.conf 또는 httpd.conf)을 엽니다.
- SSLCipherSuite 지시어를 수정하여 원하는 암호화 방식을 제거합니다.
- HIGH: 높은 보안 수준의 암호화 방식을 사용.
- !aNULL: 익명(anonymous) 암호화 방식을 비활성화.
- !MD5: MD5 해시 알고리즘이 포함된 암호화 방식을 비활성화.
- !3DES: 3DES 암호화 방식을 비활성화.
서버를 다시 시작하면 설정이 적용됩니다.
bash
sudo service apache2 restart
2. Nginx 웹 서버에서 Cipher Suite 제거
Nginx의 SSL/TLS 설정에서 ssl_ciphers 지시어를 사용하여 지원하는 Cipher Suite 목록을 지정할 수 있습니다.
예시:
- Nginx 설정 파일(nginx.conf 또는 사이트별 설정 파일)을 엽니다.
- ssl_ciphers 지시어를 수정합니다.
bash
ssl_ciphers 'HIGH:!aNULL:!MD5:!3DES';
이 설정은 Apache와 유사하게 동작하며, ! 표시는 해당 암호화 방식을 비활성화합니다.
bash
sudo service nginx restart
3. Tomcat에서 Cipher Suite 제거
Tomcat의 경우, server.xml 파일에서 SSL 커넥터 설정을 수정하여 Cipher Suite를 관리할 수 있습니다.
예시:
- Tomcat의 server.xml 파일을 엽니다.
- SSL 커넥터 설정에 ciphers 속성을 추가 또는 수정하여 지원할 암호화 방식을 지정합니다.
xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" ciphers="HIGH:!aNULL:!MD5:!3DES" />
이 설정도 Apache/Nginx와 비슷하게 동작하며, 원하는 암호화 방식을 비활성화할 수 있습니다.
bash
sudo service tomcat restart
4. Windows IIS 서버에서 Cipher Suite 제거
Windows 서버의 IIS에서는 레지스트리 설정을 통해 Cipher Suite를 관리할 수 있습니다.
예시:
- 레지스트리 편집기(regedit)를 열고, 다음 경로로 이동합니다:
- 제거하려는 Cipher Suite에 해당하는 키가 있으면, 해당 키를 삭제하거나 비활성화합니다.
- 시스템을 재부팅하여 적용합니다.
mathematica
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers
5. OpenSSL을 사용하는 서버에서 Cipher Suite 제거
OpenSSL을 사용하는 서비스(예: SMTP, IMAP, HTTPS 등)에서 암호화 방식을 관리하려면 OpenSSL 설정 파일을 수정합니다.
예시:
- OpenSSL 설정 파일(openssl.cnf)을 엽니다.
- CipherString 또는 관련 지시어를 수정합니다.
bash
CipherString = DEFAULT:!aNULL:!MD5:!3DES
설정을 적용한 후 OpenSSL을 사용하는 서버를 다시 시작합니다.
6. Java 기반 애플리케이션에서 Cipher Suite 제거
Java 기반 애플리케이션에서 TLS/SSL 통신을 위해 Cipher Suite를 제어하려면 java.security 파일을 수정하거나 JVM 옵션을 통해 설정할 수 있습니다.
예시:
- Java의 java.security 파일을 열고, jdk.tls.disabledAlgorithms 항목을 수정하여 제거할 암호화 방식을 지정합니다.
bash
jdk.tls.disabledAlgorithms=MD5, DSA, RSA keySize < 2048, 3DES
이 설정은 특정 알고리즘을 비활성화하여 사용할 수 없도록 만듭니다.
결론:
Cipher Suite 제거는 서버 환경에 따라 다르지만, 주요 원칙은 보안 취약점이 있는 암호화 방식을 비활성화하고, 강력한 암호화 방식을 유지하는 것입니다. 각 서버의 설정 파일에서 Cipher Suite를 관리하여 구식 또는 취약한 암호화 방식을 제거할 수 있습니다.
'IT' 카테고리의 다른 글
Netric 이란? (1) | 2024.11.17 |
---|---|
소켓 데몬 방식과 api 방식 차이 (1) | 2024.11.08 |
공인IP, 사설IP 개념 및 차이 정리 (0) | 2024.10.20 |
카프카 Kafka 기본 개념 정리 (0) | 2024.10.20 |
OSI 7 Layer 네트워크 프로토콜과 통신 7 계층 (0) | 2024.10.20 |