security.txt kontrolü

Bir sitenin /.well-known/security.txt dosyasını alın ve RFC 9116'ya göre kontrol edin: zorunlu alanlar, geçerlilik tarihi, HTTPS ve dosyanın imzalı olup olmadığı.

security.txt ne işe yarar

Biri sitenizde bir güvenlik açığı bulduğunda işin zor kısmı çoğu zaman kime haber vereceğini bulmaktır. security.txt (RFC 9116), /.well-known/security.txt adresinde duran ve bu soruyu yanıtlayan kısa bir metin dosyasıdır: bir e-posta adresi veya bildirim sayfası içeren Contact satırı ve bilgiye ne zamana kadar güvenilebileceğini söyleyen Expires satırı. İkisi de zorunludur. İsteğe bağlı alanlar bir şifreleme anahtarı, açık bildirim politikası, tercih edilen diller, dosyanın kanonik adresi, teşekkür sayfası bağlantısı ve güvenlik alanındaki iş ilanlarını ekler.

Bu araç neye bakar

https://<alan adı>/.well-known/security.txt adresini, orada yoksa eski konum olan /security.txt adresini ister. Birkaç yönlendirmeyi izler ve son adresi bildirir. Ardından alanları ayrıştırır ve RFC 9116'nın istediklerini işaretler: eksik Contact veya Expires, birden fazla Expires, gereken biçimde olmayan tarih, geçmişte kalmış tarih, bir yıldan uzak tarih, düz HTTP üzerinden veya geçersiz sertifikayla sunulmuş dosya, http: kullanan bağlantılar, dosyanın bulunduğu adresle eşleşmeyen Canonical alanı ve dosyanın OpenPGP açık metin imzası taşıyıp taşımadığı.

Birçok site bilinmeyen her yola ana sayfasıyla ve 200 durum koduyla yanıt verir. Bu yüzden HTML yanıt, bozuk bir security.txt olarak değil "bulunamadı" olarak değerlendirilir. İstek başarısız olursa sonuç "kontrol edilemedi" olur: araç zaman aşımı yüzünden hiçbir zaman dosyanın eksik olduğunu bildirmez.

Dosyayı işe yarar durumda tutmak

En sık rastlanan bulgu süresi dolmuş dosyadır, çünkü Expires zorunludur ve unutması kolaydır. Tarihi bir yıldan yakın seçin ve yenilemeyi sertifikalarınız ve alan adlarınızla aynı takvime yazın. Kişisel bir posta kutusu yerine harekete geçebilecek kişilere ulaşan bir adres kullanın; bildirim yapanların dosyayı doğrulayabilmesini istiyorsanız dosyayı imzalayın.

Bu araç nasıl kullanılır

  1. Alan adını girin. example.com gibi bir alan adı yazın veya yapıştırın. Tam bir URL de olur: şema, yol ve baştaki www atılır.
  2. Dosyayı alın. Araç /.well-known/security.txt adresini HTTPS üzerinden ister, bulunamazsa /security.txt adresine döner.
  3. Bulguları inceleyin. Eksik Contact veya Expires, süresi dolmuş tarih, düz HTTP ve imza durumu, bulunan her alanla birlikte listelenir.

Komut satırındaki karşılığı

Aynı kontrolün terminalden yapılışı. Komutlar example.com kullanır: yerine kendi adınızı yazın.

  • Dosyanın kendisicurl -sL https://example.com/.well-known/security.txt
  • Durum kodu ve içerik türücurl -sIL https://example.com/.well-known/security.txt | grep -iE "^HTTP|^content-type"
  • İmzalı bir dosyanın imzasını doğrulayıncurl -sL https://example.com/.well-known/security.txt | gpg --verify

Sık sorulan sorular

security.txt dosyası nereye konur?

https://example.com/.well-known/security.txt adresine, HTTPS üzerinden text/plain olarak sunulacak şekilde. Kök dizindeki /security.txt eski konumdur; kullanıyorsanız well-known yoluna yönlendirin.

security.txt içinde hangi alanlar zorunlu?

Contact (en az bir tane) ve Expires (tam olarak bir tane, 2027-01-31T23:59:59Z biçiminde). Geri kalan her şey isteğe bağlıdır.

security.txt sitemi daha güvenli yapar mı?

Hayır. Biri bir sorun bulduğunda size ulaşmasını kolaylaştırır; bu da bir açığın açık kaldığı süreyi kısaltır. Sitenin güvenliği hakkında hiçbir şey söylemez.

Dosyayı imzalamalı mıyım?

RFC 9116, bildirim yapan kişinin dosyanın bir saldırgan tarafından konmadığını anlayabilmesi için OpenPGP açık metin imzası önerir. Araç imza bloğunun bulunup bulunmadığını bildirir; imzayı doğrulamaz.

Araç "bulunamadı" diyor ama tarayıcıda bir sayfa görüyorum, neden?

Sunucunuz büyük olasılıkla bilinmeyen yollara bir HTML sayfası ve 200 durum koduyla yanıt veriyor. Bu bir security.txt dosyası değildir; bu yüzden bulunamadı olarak bildirilir.