이번에는 실제로 브라우저에서 사용하는 Cipher Suite에 대해 테스트 하는 방법을 알아보겠습니다.
5. Key Length 및 유효 기간 설정
cert_gen_rsa.bat 와 cert_gen_dsa.bat 를 편집기로 열어보시면..
SET CADAYS=-days 1095 <Root CA 인증서 유효기간>
SET DAYS=-days 365 <서버 인증서 유효기간>
위 값을 변경하면 인증서의 expire date를 조정할 수 있습니다.
cert_gen_dsa.bat 에서
openssl dsaparam -out dsaparam.pem 2048 에서 2048을 조정하시면 dsa key length를 변경할 수 있으며,
rsa key length의 경우는..
openssl.cnf 파일 내의 default_bits = 1024를 조정하면 됩니다.
6. Cipher Suite 변경해보기
openssl에서 지원하는 cipher suite는 openssl ciphers -v 하시면 볼 수 있습니다.
C:\Apache2\conf\cert>openssl ciphers -v
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
IDEA-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=IDEA(128) Mac=SHA1
IDEA-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=IDEA(128) Mac=MD5
RC2-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
RC4-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH Au=RSA Enc=DES(56) Mac=SHA1
EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH Au=DSS Enc=DES(56) Mac=SHA1
DES-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1
DES-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5
EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512) Au=DSS Enc=DES(40) Mac=SHA1 export
EXP-DES-CBC-SHA SSLv3 Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-RC2-CBC-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
EXP-RC2-CBC-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
EXP-RC4-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
이것을 참조하시어 C:\Apache2\conf\extra\httpd-ssl.conf 에 있는 다음 항목을 수정하면 됩니다.
다음은 TLS_RSA_EXPORT_WITH_RC4_40_MD5 만을 서버가 지원하겠다는 설정입니다.
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCipherSuite EXP-RC4-MD5
저장 후 종료...
Apache를 Restart 하면 적용됩니다.
주의사항: 위 Cipher Suite 중 Au가 DSS로 되어 있는 것을 테스트하기 위해서는 인증키도 반드시 DSA 키로 만들어야 합니다!
이 정도면 간단히 브라우저에서 지원하는 SSL/TLS 테스트를 할 수 있으리라고 판단됩니다.


::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::
conf 파일에서 다음과 같이 하면 경로별로 지원하는 Cipher Suite를 다르게 가져갈 수 있습니다.
# be liberal in general
SSLCipherSuite ALL:!ADH:RC4 RSA: HIGH: MEDIUM: LOW: SSLv2: EXP: eNULL
<Location /strong/area>
# but https://hostname/strong/area/ and below requires strong ciphers
SSLCipherSuite HIGH:MEDIUM
</Location>
http://www.modssl.org 가시면 사용법이 자세히 나와 있으니 참고하세요..