2013-02-14 6 views
7

Próbuję debugować zaszyfrowane za pomocą protokołu SSL alerty na moim serwerze sieciowym. Nie jestem pewien, na czym polega problem i wygląda na to, że działa, ale widzę wiele zaszyfrowanych alarmów TLSv1 w Wireshark, które moim zdaniem nie powinny tam być.Jak odczytać szyfrowany kod SSL/TLS w efemerycznym RSA

Protokół alarmu TLSv1 (http://en.wikipedia.org/wiki/Transport_Layer_Security#Alert_protocol) dostarcza kody błędów wskazujące, co jest nie tak, niestety kod jest szyfrowany.

Wireshark umożliwia deszyfrowanie SSL poprzez podanie klucza prywatnego (który mam) na stronie preferencji SSL. Jednak to nie działa dla mnie ze względu na ustawienie sesji z Ephemeral RSA (Sharkfest'09 http://sharkfest.wireshark.org/sharkfest.12/presentations/MB-1_SSL_Troubleshooting_with%20_Wireshark_Software.pdf strona 59).

Chcę wiedzieć, w jaki sposób mogę odczytać ten kod alertu. Każda z poniższych dostanie mi tam:
a) Czy Wireshark odszyfrowywania SSL za pomocą efemeryczne RSA
b) Należy unikać korzystania efemeryczne RSA tak Wireshark może odszyfrować
c) Siła SSL użyć pustego szyfrowanie więc mogę tylko odczytać kodu debugować go

Odpowiedz

1

b) Należy unikać używania efemerycznego RSA tak Wireshark może odszyfrować

Jeśli serwer wWW Apache, spróbuj wykonać następujące czynności:

httpd.conf 

SSLProtocol +all -SSLv2 -SSLv3 
SSLCipherSuite -kEECDH:-kEDH:+kRSA:+HIGH:+MEDIUM:-LOW:-EXP 

c) Wymusza użycie SSL szyfrowanie zerowej więc mogę tylko odczytać kodu do debugowania to

To może być trochę trudniejsze, ale spróbuj przenieść eNULL do przodu na liście. eNULL prawdopodobnie zostanie odrzucony przez klienta, ale warto spróbować. Podejrzewam, że zostanie ona odrzucona, ponieważ klient nie zezwoli na szyfrowanie (lub o to chodzi).

Jeśli klient ma eNULL, nadal może nie być używany. Serwer zwykle honoruje szyfry klienta, więc jeśli klient nie zażąda od klienta żądania, musisz znaleźć nadpisanie konfiguracji serwera.

+0

Serwer * zawsze * "honoruje szyfry klienta". Nie ma wyboru. Zobacz RFC 2246, # 7.4.1.2. – EJP

+0

"Serwer zawsze" honoruje szyfry klienta. " Nie w praktyce. Regularnie dyktuję, jakiego szyfru użyje klient, ponieważ klienci często są źle skonfigurowani. Rzadko biorę pierwszeństwo w RC4/MD5. W rzeczywistości nie mogę wziąć RC4/MD5, ponieważ wyłączam je - oba są zepsute. Zobacz stronę OpenSSL [SSL_OP_CIPHER_SERVER_PREFERENCE] (https://www.openssl.org/docs/ssl/SSL_CTX_set_options.html). – jww

+0

Regularnie dyktujesz wybór spośród obsługiwanych przez klienta zestawów szyfrów. Nie możesz zrobić nic innego. Zobacz dokument RFC. – EJP