이 같은?
# TLS v1.0+ for one IP
<VirtualHost _default_:443>
Order deny,allow // <------------- HERE
Deny from all // <------------- HERE
Allow from 10.20.30.40 // <------------- HERE
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
SSLHonorCipherOrder on
SSLCompression off
...
</VirtualHost>
# TLS v1.2 for everyone else
<VirtualHost _default_:443>
Order allow,deny // <------------- HERE
Deny from 10.20.30.40 // <------------- HERE
Allow from * // <------------- HERE
SSLProtocol -all +TLSv1.2
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AECDH-AES256-SHA:ADH-AES256-GCM-SHA384:ADH-AES256-SHA256:ADH-AES256-SHA:ECDH-RSA-AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-AES256-SHA384:ECDH-ECDSA-AES256-SHA384:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:AECDH-DES-CBC3-SHA:ADH-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA
SSLHonorCipherOrder on
SSLCompression off
...
</VirtualHost>
편집하다:
또한 다른 포트에 대해 두 번째 VirtualHost를 생성하고 해당 특정 IP에 대해 포트 443을 344로 전달/라우팅하는 아이디어가 있습니다. 가능합니까?
답변1
사용되는 포트만 다른 두 개의 가상 호스트를 만듭니다.
iptables를 사용하여 선택한 IP를 TLS 1.0 인스턴스로 조건부 리디렉션합니다.
iptables -t nat -A PREROUTING -s CLIENT_OF_INTEREST -p tcp --dport 443 -j REDIRECT --to-port 344
하지만 그렇게 하면 약간 기분이 나빠질 것이라는 점을 덧붙여야겠습니다. 가능하다면 클라이언트가 TLS 1.2를 수행할 수 있도록 하는 것이 더 좋습니다.
예. Java인 경우 '무제한' 암호화 비트가 추가되어 있는지 확인하세요.
그러나 나는 이것이 항상 가능하지는 않다는 것을 충분히 이해합니다.
답변2
예, 가능합니다. 각 가상 호스트에 대해 SSLProtocol 지시어를 설정할 수 있습니다.
게시한 샘플 구성은 괜찮은 것 같지만 사용 중입니다.기본가상 호스트. IP:Port를 사용하는 것이 좋습니다.
http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslprotocol