Включение сильных шифров в Tomcat 5 - PullRequest
4 голосов
/ 12 ноября 2009

Я пытаюсь усовершенствовать набор шифров, который позволяет мое веб-приложение.

В файле Tomcat server.xml определен следующий соединитель:

<Connector port="443" maxHttpHeaderSize="8192"
           maxThreads="3000" minSpareThreads="250" maxSpareThreads="500"
           enableLookups="false" disableUploadTimeout="true"
           acceptCount="1000" connectionTimeout="40000"
           scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
           ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA,
           TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
           TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA,
           SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
           ADH-AES256-SHA, AES256-SHA, DHE-DSS-AES256-SHA, DHE-RSA-AES256-SHA"
           keystoreFile="REDACTED" keystorePass="REDACTED" />

Сервер запускается просто отлично. Все работает. Однако, когда я запускаю sslscan на сервере, 256-битные шифры отображаются как не поддерживаемые.

(Abbreviated, sorted output)
Accepted  SSLv3  128 bits  AES128-SHA
Accepted  SSLv3  128 bits  DHE-RSA-AES128-SHA
Accepted  SSLv3  128 bits  RC4-MD5
Accepted  SSLv3  128 bits  RC4-SHA
Accepted  SSLv3  168 bits  DES-CBC3-SHA
Accepted  SSLv3  168 bits  EDH-RSA-DES-CBC3-SHA
Accepted  TLSv1  128 bits  AES128-SHA
Accepted  TLSv1  128 bits  DHE-RSA-AES128-SHA
Accepted  TLSv1  128 bits  RC4-MD5
Accepted  TLSv1  128 bits  RC4-SHA
Accepted  TLSv1  168 bits  DES-CBC3-SHA
Accepted  TLSv1  168 bits  EDH-RSA-DES-CBC3-SHA
Rejected  SSLv3  256 bits  ADH-AES256-SHA
Rejected  SSLv3  256 bits  AES256-SHA
Rejected  SSLv3  256 bits  DHE-DSS-AES256-SHA
Rejected  SSLv3  256 bits  DHE-RSA-AES256-SHA
Rejected  TLSv1  256 bits  ADH-AES256-SHA
Rejected  TLSv1  256 bits  AES256-SHA
Rejected  TLSv1  256 bits  DHE-DSS-AES256-SHA
Rejected  TLSv1  256 bits  DHE-RSA-AES256-SHA

Кроме того, сканирование показывает, что предпочтительными шифрами сервера являются «SSLv3 128 бит DHE-RSA-AES128-SHA» и «TLSv1 128 бит DHE-RSA-AES128-SHA». Я в порядке, если Tomcat предпочел бы работать с 128-битными шифрами, но я бы хотел обслуживать любых строгих клиентов, которые встречаются.

Что я упустил из виду?

1 Ответ

4 голосов
/ 13 ноября 2009

Похоже, вы используете имена sslscan, которые JSSE не понимает. Вот шифры, поддерживаемые Sun JSSE,

SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
SSL_DHE_DSS_WITH_DES_CBC_SHA
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_RSA_WITH_DES_CBC_SHA
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
...