Мои текущие команды:
SSLProtocol -ALL -SSLv2 -SSLv3 -TLSv1 +TLSv1.1 +TLSv1.2
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!RC4
Однако когда я запускаю SSLScan, я получаю, что следующие шифры все еще доступны:
Accepted TLSv1 256 bits DHE-RSA-AES256-SHA
Accepted TLSv1 256 bits AES256-SHA
Accepted TLSv1 128 bits DHE-RSA-AES128-SHA
Accepted TLSv1 128 bits AES128-SHA
Accepted TLSv1 168 bits EDH-RSA-DES-CBC3-SHA
Accepted TLSv1 168 bits DES-CBC3-SHA
Как я могу изменить мою команду SSLCipherSuite, чтобы удалить их поддержку?
Для работы в подобной ситуации я рекомендую использовать openssl ciphers
инструмент командной строки, например:
openssl ciphers -v 'RSA+AES' | sort
который перечислит отдельные комплекты шифров для этого имени шифра OpenSSL; в -v
параметр командной строки предоставляет дополнительную информацию (например, версию протокола для этого набора шифров) и делает выходной формат более похожим на SSLScan
вывод. Использование sort
необязательно; Мне лично легче искать имена, такие как те, которые вы указали, с помощью отсортированного списка.
Я рекомендую заключать имя шифра в одинарные кавычки, чтобы оно не интерпретировалось оболочкой. Обратите внимание, что использование версий протокола также работает, например:
openssl ciphers 'TLSv1.2'
Используя этот подход и просматривая версии протокола и шифруя имена, мы обнаруживаем, что виновными являются DH+AES256
, который обеспечивает:
openssl ciphers -v `DH+AES256`
...
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
...
Другой виновник DH+AES
:
openssl ciphers -v 'DH+AES' | sort
...
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
...
И есть DH+3DES
, который обеспечивает:
openssl ciphers -v 'DH+3DES' | sort
...
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
...
В RSA+AES
имя обеспечивает два ваших нежелательных шифровальных наборов:
openssl ciphers -v 'RSA+AES' | sort
...
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
...
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
...
И наконец, есть RSA+3DES
:
openssl ciphers -v 'RSA+3DES' | sort
...
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
Так что вы мог удалите все виновные имена, упомянутые из вашего SSLCipherSuite
до тех пор, пока для ваших клиентов будет достаточно поддерживаемых шифровальных наборов.
Надеюсь это поможет!