Bir sunucunun desteklediği TLS sürümlerini ve cipher'ları TR7'den nasıl test ederim?
Kısa cevap
WEB-CLI'daki sys-cmd sslscan hedefe art arda bağlanarak hangi TLS sürümlerini ve cipher'ları kabul ettiğini, tercih ettiği cipher'ı ve sunduğu sertifikayı listeler: sys-cmd sslscan --sni-name=<alan-adı> <adres>:<port>. Port yazılmazsa 443 kabul edilir; aynı adreste birden çok sertifika sunuluyorsa --sni-name= ile doğru ad gönderilir. Kurum Servisi test edilirken önce sys-cmd route-table set ile Kurum Servisinin route table'ı seçilir. Sonuç, vService'te SSL Security alanında, Kurum Servisinde Backend SSL Security Profile alanında seçilen TLS Security Profile ayarlarıyla karşılaştırılır.
Sorun: TLS Ayarlarının Dışarıdan Görünen Sonucu Bilinmiyor
Bir vService'in TLS profili değiştirildikten sonra eski sürümlerin gerçekten kapandığı, ya da Kurum Servisine HTTPS ile bağlanırken sunucunun hangi sürüm ve cipher'ları kabul ettiği doğrulanmak istenir. TR7, Kurum Servisine kendi ağından bağlandığı için sunucunun TR7'ye sunduğu TLS ayarlarını görmek için test TR7'nin route table'ından yapılmalıdır.
Çözüm
sys-cmd sslscan ile Tarama
- Nasıl çalışırsys-cmd sslscan her TLS sürümü ve cipher için ayrı bir el sıkışma dener; sonuçta kabul edilen sürümleri, cipher'ları, tercih edilen cipher'ı ve sertifika ayrıntılarını yazar. Tarama bitince kendiliğinden kapanır.
- Nerede açılırWEB-CLI
- GereksinimUser Type'ı Admin olan kullanıcı; seçili route table'dan hedefe erişim.
- vService tipi TLS sonlandıran HTTP ve L7 TCP vService'ler; HTTPS dinleyen Kurum Servisleri
Adım adım yapılandırma
Kurum Servisi test edilecekse Kurum Servisinin Route Table değeri, vService test edilecekse frontend IP'sine ulaşılan route table seçilir; cihazın kendisi için v-device alanına Host yazılır, route table adı Tab listesinden alınır:
sys-cmd route-table set v-device Host route-table <route-table>Örnekte 203.0.113.10 frontend IP'li vService, www.example.com adı gönderilerek taranır:
sys-cmd sslscan --sni-name=www.example.com 203.0.113.10:443Örnekte 192.0.2.21 adresli sunucunun 8443 portu taranır. Kurum Servisinde SNI tanımlıysa aynı ad --sni-name= ile gönderilir:
sys-cmd sslscan --sni-name=app.example.com 192.0.2.21:8443Yalnızca belirli bir sürümü denemek için --tls12 ya da --tls13 eklenir.
Sunulan sertifikanın bütün ayrıntıları için cipher listesi atlanarak tarama yapılır:
sys-cmd sslscan --sni-name=www.example.com --show-certificate --no-ciphersuites 203.0.113.10:443Renkli çıktı kapatılarak sonuç dosyaya yazılır; indirme bağlantısı sys-cmd file show vip-tls.txt ile alınır:
sys-cmd sslscan --no-colour --sni-name=www.example.com 203.0.113.10:443 | to-file vip-tls.txtvService için SSL Security, Kurum Servisi için Backend SSL Security Profile alanında seçili profil açılır. Taramada kabul edilen en düşük ve en yüksek sürüm profilin Min. SSL Version ve Max. SSL Version değerleriyle, cipher listesi Cipher Algorithms seçimiyle karşılaştırılır. Kurum Servisinde TR7'nin izin verdiği sürüm ve cipher'larla taramada görülenler arasında en az bir ortak sürüm ve bir ortak cipher bulunmalıdır; ortak değer yoksa TR7 sunucuyla TLS el sıkışmasını kuramaz. Kurum Servisinde profil seçili değilse Ciphers alanındaki seçim geçerlidir.
Doğrulama
Taramanın protokol ve cipher bölümlerine bakılır.
Komut: sys-cmd sslscan --sni-name=www.example.com 203.0.113.10:443
Yalnızca profilde izin verilen sürümler açık; listede profil dışında cipher yok--show-certificate çıktısındaki konu ve geçerlilik bilgisine bakılır.
Gönderilen ada ait sertifika, geçerlilik süresi içindeSık Yapılan Hatalar
--sni-name=olmadan taramak. Aynı adreste birden çok alan adı sunuluyorsa sunucu adı gönderilmeyen tarama varsayılan sertifikayı gösterir; sonuç başka bir sitenin ayarlarına ait olabilir.- Kurum Servisini varsayılan route table'dan taramak. Yalıtılmış bir route table'daki sunucuya varsayılan bağlamdan ulaşılamaz; tarama Kurum Servisinin route table'ı seçilerek yapılır.
- Yoğun saatlerde art arda taramak.
sslscanher sürüm ve cipher için ayrı bağlantı açar; canlı bir vService'te kısa sürede çok sayıda bağlantı oluşur. - Tarama sonucunu bütün istemcilerin göreceği sonuç sanmak. Sonuç TR7'nin seçili route table'ından görülen durumdur; TR7'nin önünde başka bir TLS sonlandıran cihaz varsa istemcilerin gördüğü ayarlar ayrıca istemci tarafından test edilir.
- Bağlantının akışını
sslscanile aramak.sslscandesteklenen ayarları listeler; tek bir bağlantının el sıkışma adımları için sys-cmd ssldump kullanılır.
Dokümantasyonda nasıl yapılır
