Soru:
SSLv3 desteğini (yokluğunu) test etmek için "openssl s_client" i nasıl kullanırım?
Roger Lipscombe
2014-10-15 14:54:13 UTC
view on stackexchange narkive permalink

"Kaniş" güvenlik açığını azaltmak için, sunucumda (bu durumda HTTPS yerine TLS) SSLv3 desteğini devre dışı bırakmak istiyorum. Bunu yaptığımı doğrulamak için openssl s_client 'i nasıl kullanabilirim?

Beş yanıtlar:
P4cK3tHuNt3R
2014-10-15 15:16:31 UTC
view on stackexchange narkive permalink

OpenSSL s_client

SSLv3 desteğini devre dışı bırakıp bırakmadığınızı kontrol etmek için aşağıdakini çalıştırın

  openssl s_client -connect example.com:443 -ssl3  

  3073927320: hata: 14094410: SSL rutinleri: SSL3_READ_BYTES: sslv3 uyarı anlaşması hatası: s3_pkt.c: 1258: SSL uyarı numarası 403073927320: error: 1409E0E5: SSL rutinleri: SSL3_WRITE_BYTES: ssl el sıkışma hatası: s3_pkt.c: 596:  

SSLv3'ün sunucuda devre dışı olduğu anlamına gelir. Aksi takdirde, bağlantı başarıyla kurulur.

Nmap

Alternatif olarak, desteklenen sürüm için sunucuyu taramak için nmap kullanabilirsiniz:

  # nmap --script ssl-enum-ciphers example.com 2014-10-15'te Nmap 6.47 (http://nmap.org) başlatılıyor 03:19 example.com için PDTNmap tarama raporu (203.0.113.100) Host is up (0.090s gecikme). 203.0.113.100 için .rDNS kaydı: edge.example.com Gösterilmiyor: 997 filtrelenmiş bağlantı noktalarıPORT STATE SERVICE80 / tcp http443 / tcp açık https | ssl-enum-ciphers: | ** SSLv3: Desteklenen şifreleme bulunamadı ** | TLSv1.0:  
Openssl komutu çalışır; Yine de nmap betiğinin çalışmasını sağlayamıyorum.
Ah. Varsayılan olmayan bağlantı noktası. Http://stackoverflow.com/a/17175548/8446 uyarınca `--script + ssl-enum-ciphers` kullanın.
Nmap komutunuzun çıktısı nedir?
https://gist.github.com/rlipscombe/eb941f08f24016fe5cd0
@RogerLipscombe Doğru, orada çalışmayan nedir? SSLv3 listelenmediğinden desteklenmemektedir.
İyi çalışıyor; Ben çözdüm. Standart olmayan bir bağlantı noktası kullanıyorum, bu yüzden çalıştırmaya zorlamak için komut dosyası adının önüne '+' koymam gerekiyor.
Openssl çıktısının nasıl yorumlanacağını öğrenmek için bu yanıta da bakın: https://security.stackexchange.com/a/169738/60157
Anonymous Platypus
2015-07-06 17:57:55 UTC
view on stackexchange narkive permalink

Bir yan notta, aşağıdaki gibi ssl-enum-ciphers komut dosyasıyla nmap kullanabilirsiniz

  nmap --script ssl-enum-ciphers -p 443 örneği .com  

Böyle bir yanıt alacaksınız.

  PORT STATE SERVICE443 / tcp open https | ssl-enum-ciphers: | SSLv3: | şifreler: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - güçlü | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - güçlü | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - güçlü | TLS_RSA_WITH_RC4_128_MD5 - güçlü | TLS_RSA_WITH_RC4_128_SHA - güçlü | kompresörler: | BOŞ | TLSv1.0: | şifreler: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - güçlü | TLS_RSA_WITH_RC4_128_MD5 - güçlü | TLS_RSA_WITH_RC4_128_SHA - güçlü | kompresörler: | BOŞ | TLSv1.1: | şifreler: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - güçlü | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - güçlü | kompresörler: | BOŞ | TLSv1.2: | şifreler: | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - güçlü | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - güçlü | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - güçlü | kompresörler: | NULL | _ less strong: strong  

Gördüğünüz gibi ssl / tls'nin desteklenen tüm sürümlerinin yanı sıra şifre paketlerini de listeliyor

Uzak bir uç noktada kullanılabilir şifrelerin bir listesini almanın en hızlı yolu.nmap kuralları, her zamanki gibi!;)
theterribletrivium
2014-10-16 03:43:35 UTC
view on stackexchange narkive permalink

Bu testi SSLv3 protokolünün kullanılabilirliği için oluşturdum. CBC şifrelerinin kullanımda olduğunu da gösteren bir dizeyi aramanın muhtemelen daha iyi bir yolu vardır, ancak çoğu insan SSLv3'ün mevcut olup olmadığını bilmek istiyor gibi görünüyor.

Dikkat edilmesi gereken birkaç nokta:

  • Mac OS X üzerindeki bash için yazıldı, bu yüzden her yerde çalışacağından emin olamıyorum
  • Mac bu temel araçlar konusunda tuhaf olduğundan gtimeout ve timeout kullanıyor
  • allexternal.txt, satır başına bir ana bilgisayar adı veya IP içeren bir dosyadır

komut dosyası:

  "awk '{print içinde ip için $ 1} '< allexternal.txt`; eğer gtimeout 30 openssl s_client -connect $ ip: 443 -ssl3 | grep -q 'Protokol: SSLv3'; sonra echo $ ip SSLv3 algılandı >> sslv3output; else echo $ ip SSLv3 algılanmadı >> sslv3output; fi; bitti  
Biçimlendirme için özür dilerim, ciddi aksanların bir kod bloğu haline getirmek yerine gerçek olarak nasıl görüneceğinden emin değildim.
Paylaştığınız için teşekkürler, ancak gtimeout'u yüklemenize gerek kalmaması için echo 'QUIT' kullanmanızı önerebilir miyim? İkinci satırda ... eğer echo 'ÇIK' | openssl s_client -connect $ ip: 443 -ssl3 | grep -q 'Protokol: SSLv3'; sonra
"Protokol: SSLv3" kullanımı da şüpheli görünüyor.Bu sayfaya göre: http://security.stackexchange.com/a/71459/51963, "Cipher: 0000" aranacak daha iyi bir dize olabilir.
Mathias R. Jessen
2015-02-26 06:29:15 UTC
view on stackexchange narkive permalink

Yalnızca SSLv3 devre dışı bırakılırsa, openssl s_client 'i yalnızca TLS kullanmaya zorlayabilirsiniz:

  openssl s_client -connect exmaple.com:443 -tls1  kod> 
TLS 1.0 ve üstü için, "-servername" seçeneğini de kullanmalısınız. SNI listelerinde.
Bu, ssl3'ün devre dışı bırakıldığını doğrulamaz, sadece TLS 1'i kullanmayı söyler
matttyg
2018-09-12 16:00:41 UTC
view on stackexchange narkive permalink

OpenSSL'deki -ssl3 seçeneğinin artık derleme sırasında etkinleştirilmesi gerektiğine dikkat etmek önemlidir. Önceden derlenmiş ikili dosyalar üzerinde çalışıyorsanız, seçenek kullanılamayabilir. Bu soruna bakın: https://github.com/openssl/openssl/issues/6801

Alternatif bir araç testsl.sh'dir. Bu, protokolleri, şifreleri ve seçili güvenlik açıklarını kontrol eder: https://github.com/drwetter/testssl.sh



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...