Назад | Перейти на главную страницу

Порты RHEL не используют один и тот же шифр

[ОБНОВИТЬ]
Я запустил команду openssl с пары серверов и своего локального компьютера. Похоже, порт 9443 не работает. Шифр на server1: 9443 остался таким же, как и на первом сервере (RHEL5), с которого я запросил. Однако запросы с моего локального компьютера (Win7) и виртуальной машины (RHEL6.9) приводят к 0000 шифр.

Я не думаю, что сбой связан с разницей в шифровании моего порта, потому что дополнительные тесты показывают, что приложение снова в сети с такими же настройками среды, что и конечный пользователь. Я читал статья что балансировщик F5 потенциально может вызвать проблемы. Так что я исследую этот маршрут с администраторами.

Но все же хотелось бы знать, почему порты отражают разные шифры и как это исправить. [/ОБНОВИТЬ]

У меня два сервера, на обоих по два экземпляра серверов приложений. Каждый экземпляр сервера приложений настроен на использование одних и тех же протоколов SSL и шифрования.

Из конфигов:

sslProtocols = "TLSv1,TLSv1.1,TLSv1.2"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
    TLS_RSA_WITH_AES_128_CBC_SHA256,
    TLS_RSA_WITH_AES_128_CBC_SHA,
    TLS_RSA_WITH_AES_256_CBC_SHA256,
    TLS_RSA_WITH_AES_256_CBC_SHA"

В некоторых случаях клиенты сообщали о сбоях в работе для Server1:9443

Я выбежал из командной строки: openssl s_client -connect server:port

Сервер1: 8443

Protocol  : TLSv1
Cipher    : AES128-SHA

Сервер1: 9443

Protocol  : TLSv1
Cipher    : DHE-RSA-AES256-SHA

Сервер2: 8443

Protocol  : TLSv1
Cipher    : AES128-SHA

Сервер2: 9443

Protocol  : TLSv1
Cipher    : AES128-SHA

Почему бы server1:9443 отразить иначе?

Оба сервера работают на RHEL 5.11.

[РЕДАКТИРОВАТЬ]
Из командной строки netstat -tupln

Сервер1:

tcp        0      0 0.0.0.0:9443                0.0.0.0:*                   LISTEN      9709/java

Сервер2:

tcp        0      0 0.0.0.0:9443                0.0.0.0:*                   LISTEN      718/java
tcp        0      0 0.0.0.0:8443                0.0.0.0:*                   LISTEN      5900/java    

Сервер1 /etc/services перечисляет 8443 как pcsync-https. Проверено, запустив команду sudo netstat -t -l -p |grep pcsync-https на server1.

tcp        0      0 *:pcsync-https                *:*                   LISTEN      7037/java

[/РЕДАКТИРОВАТЬ]

Так что это был не шифр, а порт перенаправления ... тот, который клиенты не использовали, и был отключен на одном сервере, но не на другом.

 <Connector port="8080" address="${jboss.bind.address}"
     maxThreads="250" maxHttpHeaderSize="8192"
     emptySessionPath="true" protocol="HTTP/1.1"
     enableLookups="false" redirectPort="8443" acceptCount="100"
     connectionTimeout="20000" disableUploadTimeout="true" />

После того, как мы закомментировали этот блок из файла JBoss server.xml и перезапустили службу, все заработало, как задумано. Каждый порт на обоих серверах теперь отражает один и тот же шифр сервер-клиент.