Od kilku dni szukam i testuję i zabrakło mi rzeczy do wypróbowania. Oto mój problem. Mam serwer WWW Apache Lounge 2.4.18 (Win32) VC14 działający na serwerze Microsoft Windows 2008 R2 przy użyciu OpenSSL 1.0.2g. Nasz korporacyjny zespół ds. Bezpieczeństwa przeskanował mój serwer i wykrył, że używany jest RC4. (Użyli Nexpose z Rapid7). Zalecili skonfigurowanie serwera w celu wyłączenia obsługi szyfrów RC4 i zasugerowali użycie konfiguracji szyfrów pokazanej poniżej. Zalecili także, aby nie używać TLSv1, a tylko TLSv1.1 i TLSv1.2. Uruchomiłem również SSLScan, aby powielić wyniki i widzę, że „TLSv1 128 bitów RC4-SHA” został zaakceptowany.
Nie ma problemu. Pomyślałem i zmieniłem plik httpd.conf, jak pokazano poniżej, a następnie ponownie uruchomiłem usługę Apache2.4. Następnie kazałem im ponownie przeskanować serwer i otrzymali te same wyniki. Przeszukałem cały serwer w poszukiwaniu plików zawierających „SSLCipherSuite” lub „SSLProtocol” i usunąłem je lub zmieniłem ich nazwy z wyjątkiem \ Apache24 \ conf \ httpd.conf. Mam plik \ Apache24 \ conf \ openssl.cnf, ale nie sądzę, że coś robi, ponieważ nadal jest to domyślny plik dostarczany z Apache. Zrobiłem też ogromne czyszczenie i usunąłem wszystkie stare wersje Apache, OpenSSL i PHP. Zaktualizowałem Apache i OpenSSL z Apache 2.2 i OpenSSL 0.9.x około 3 tygodnie temu i działam bez problemów. Nie mam żadnych błędów uruchamiania w przeglądarce error.log lub Windows.
Czy jest jeszcze gdzieś Apache / OpenSSL określa protokoły lub zestawy szyfrów?
Czy istnieje jakieś ustawienie domyślne, które ignorowałoby moje dyrektywy związane z SSL?
Zawartość mojego pliku httpd.conf („MYDOMAIN” oczywiście nie jest moją rzeczywistą nazwą domeny):
<VirtualHost *:80>
DocumentRoot "C:/Apache24/htdocs"
ServerName www.MYDOMAIN.com
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "C:/Apache24/htdocs_apps"
ServerName apps.MYDOMAIN.com
SSLEngine on
SSLCertificateFile "C:/Apache24/certs/233afff052190aeb.crt"
SSLCertificateKeyFile "C:/Apache24/certs/star_MYDOMAIN_com.key"
# SSLCertificateChainFile "C:/Apache24/certs/gd_bundle-g2-g1.crt"
SSLProtocol -ALL +TLSv1.1 +TLSv1.2
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSAAES256-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-RSAAES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
<Location / >
Options -ExecCGI -FollowSymLinks -Indexes
Require all granted
</Location>
</VirtualHost>
Każda pomoc jest mile widziana.