안녕하세요. 오랜만이네요.
그냥 심심해서 검사해봤는데 설정이 뭔가 잘못되었나봐요.
아래 클로드에서 받은 설명도 붙였어요.
------
1. 익명 암호화 스위트 (Anonymous Suites)
위험한 이유
- 서버 인증을 전혀 하지 않음
- 공격자가 자신을 서버라고 주장해도 확인 불가
가능한 공격
🎯 중간자 공격 (MITM - Man-in-the-Middle)
사용자 ←→ [공격자] ←→ 실제 서버
- 공격자가 중간에서 모든 통신 가로채기
- 비밀번호, 개인정보, 세션 토큰 실시간 탈취
- 데이터 조작 (계좌번호 변경, 악성코드 삽입 등)
공격 난이도: ⭐ (매우 쉬움) - 공공 WiFi에서 누구나 가능
---
2. 취약한 암호화 스위트 (Insecure Cipher Suites)
위험한 이유
- 오래되거나 알려진 취약점이 있는 암호화 알고리즘
- 예: DES, 3DES, MD5, 짧은 키 길이 등
가능한 공격
🎯 암호 해독 공격
- 브루트포스: 약한 키는 수시간~수일 내 해독
- 충돌 공격: MD5 등은 위조 인증서 생성 가능
- 다운그레이드 공격: 클라이언트를 강제로 약한 암호 사용하게 만듦
🎯 패킷 수집 후 나중에 해독
- 지금 암호화된 트래픽 저장
- 나중에 더 강력한 컴퓨팅으로 해독
- 과거 개인정보까지 모두 노출
공격 난이도: ⭐⭐ (중간) - 일반 PC로도 가능
---
🚨 결론
두 취약점 모두 F등급을 받은 이유:
- 익명 스위트 = 인증 자체가 없음 → 완전히 무방비
- 취약한 암호화 = 암호화가 있지만 쉽게 뚫림 → 거짓 안전감
이 서버는 민감한 정보 전송에 절대 사용하면 안 됩니다.
----
● 해결 방법
🎯 핵심 원칙
1. 익명 암호화 스위트 완전 비활성화
2. 약한 암호화 스위트 제거
3. 강력한 암호화만 허용
---
서버별 설정 방법
Apache
# /etc/apache2/mods-available/ssl.conf 또는 httpd.conf
# 강력한 프로토콜만 허용
SSLProtocol -all +TLSv1.2 +TLSv1.3
# 안전한 암호화 스위트만 허용
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!3DES
# 서버 암호 우선순위 사용
SSLHonorCipherOrder on
Nginx
# /etc/nginx/nginx.conf 또는 sites-available/
# 강력한 프로토콜만
ssl_protocols TLSv1.2 TLSv1.3;
# 안전한 암호화 스위트
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
# 서버 우선순위
ssl_prefer_server_ciphers on;
IIS (Windows Server)
# PowerShell 관리자 권한으로 실행
# 약한 프로토콜 비활성화
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Name 'Enabled' -Value 0 -PropertyType 'DWORD'
# IIS Crypto 도구 사용 권장: https://www.nartac.com/Products/IISCrypto
---
✅ 권장 설정 (현대 표준)
허용할 것
- ✅ TLS 1.2, TLS 1.3
- ✅ ECDHE (완전 순방향 비밀성)
- ✅ AES-GCM, ChaCha20-Poly1305
- ✅ SHA256, SHA384 이상
차단할 것
- ❌ aNULL, eNULL (익명 암호화)
- ❌ EXPORT (수출급 약한 암호)
- ❌ DES, 3DES, RC4
- ❌ MD5
- ❌ TLS 1.0, TLS 1.1
---
📋 적용 후 확인
1. 설정 적용
# Apache
sudo systemctl reload apache2
# Nginx
sudo systemctl reload nginx
2. 테스트
- https://www.ssllabs.com/ssltest/ 에서 재검사
- A 또는 A+ 등급 목표
3. 호환성 확인
- 오래된 클라이언트 접속 테스트
- 필요시 TLS 1.2 최소 유지 (1.3 우선)
---
⚠️ 주의사항
- 구형 브라우저(IE 10 이하, Android 4.x)는 접속 불가능할 수 있음
- 실 서비스라면 사전 테스트 환경에서 먼저 검증
- 인증서도 함께 점검 (SHA-2, 2048비트 이상)

클리앙은 DDoS 방어를 위해 KISA 사이버대피소를 경유하는 구조로, 외부에서 clien.net에 접속하면 대피소 장비가 TLS 연결을 맺습니다. 말씀하신 SSL Labs 결과는 클리앙 서버가 아닌 대피소 장비의 TLS 설정이 검사된 것입니다.
실제 클리앙 서버 구간은 TLS 1.2 이상의 안전한 암호화 스위트만 허용하며, 검사 결과에 언급된 익명 스위트나 구형 암호화는 사용하지 않습니다. 대피소에서 클리앙 서버로 전달되는 구간도 동일하게 암호화되어 있어, 검사 결과에 나온 취약점이 실제 서비스 통신에 적용되는 것은 아니니 안심하셔도 됩니다.
답변해주셔서 감사합니다.
제가 데스크탑 파이어폭스로 접속할때 스크린샷과 같은 경고를 종종 받았거든요. 모바일에서는 안뜨고요.
이정도는 대피소에 고쳐달라고 요구 하셔도 될것 같아요. 리소스가 많이 요구하는것도 아니고 많은 수고가 드는 작업도 아니거든요.
다른 커뮤니티 사이트를 둘러봐도 F등급 받는데는 클리앙 밖에 없고, 저렇게 설정한 것이 단순한 실수인지 의도적인 설정인지는 운영자님도 알수 없는 일이죠.
아래는 관련해서 클로드에 물어본 질문이에요.
https://gist.github.com/nikescar/8893f61b46d7824d92905720f9297bff