security.txt oluşturucu ve denetleyici
Araştırmacılar size nasıl ulaşacağını bilsin diye geçerli bir RFC 9116 security.txt hazırlayın ya da var olan bir dosyayı yapıştırıp neyin yanlış olduğunu görün. AB Siber Dayanıklılık Yasası (Cyber Resilience Act, CRA) hazırlığının bir parçası.
Tamamen tarayıcınızda çalışır
security.txt oluşturun
security.txt denetleyin
Metni yalnızca RFC 9116'ya göre denetler. Web sitenizi çekmez (yazdığınız hiçbir şey bu sayfadan çıkmaz, bu yüzden dosyayı yapıştırın), OpenPGP imzasını doğrulamaz ve bir adresin çalışıp çalışmadığını sınamaz. Bir şablondur, hukuki tavsiye değildir.
security.txt nasıl hazırlanır ve denetlenir
- En az bir Contact girin (e-posta adresi, telefon numarası ya da https:// sayfası) ve Expires tarihini kontrol edin. Policy ve Preferred-Languages gibi istediğiniz isteğe bağlı alanları doldurun.
- Dosyayı kopyalayın ya da indirin ve alan adınızda
/.well-known/security.txtadresinde, HTTPS üzerinden düz metin olarak yayımlayın. - Var olan bir dosyayı denetlemek için metnini denetleyiciye yapıştırın. Önce hataları giderin, sonra uyarılara bakın. Canonical alanını sınamak için dosyayı sunduğunuz adresi ekleyin.
- Süresi dolmadan Expires tarihini yenilemek için takviminize bir hatırlatma koyun.
security.txt ne işe yarar
Bir araştırmacı, müşteri ya da CERT yazılımınızda bir zayıflık bulduğunda ilk sorun, bunu kime söyleyeceğidir. security.txt, sabit bir adreste, /.well-known/security.txt konumunda duran küçük bir metin dosyasıdır ve bu soruyu yanıtlar: bir iletişim bilgisi, bir son kullanma tarihi ve isteğe bağlı olarak bildirim politikanıza ve genel anahtarınıza bağlantılar. Biçimi RFC 9116 tanımlar; birçok tarayıcı, bug bounty platformu ve ulusal CERT başka yere bakmadan önce bu dosyaya bakar.
AB'deki bir yazılım üreticisi için bu dosya, Siber Dayanıklılık Yasası (Cyber Resilience Act, CRA) kapsamındaki yükümlülükleri de destekler: Ek I, dışarıdan kişilerin güvenlik açığı bildirebileceği yayımlanmış bir yol ve bunları ele alan bir süreç bekler. Düzenleme bu biçimi adıyla anmaz, ancak iletişim bilgisini yayımlamanın olağan yolu budur. Küçük üreticiler için raporlama rehberi, 24 saatlik süre dahil, kurulumun geri kalanını anlatır.
Alanlar
Contact ve Expires zorunludur. Contact birden çok kez geçebilir ve bir URI olmalıdır: mailto:, tel: ya da https:. Expires bir kez geçer, 2027-12-31T23:59:59Z gibi bir tarih ve saat olarak yazılır ve RFC 9116 bir yıldan kısa bir süre ister. Encryption, Acknowledgments, Policy, Hiring ve Canonical isteğe bağlı bağlantılardır ve her web adresi https kullanmalıdır. Preferred-Languages bir kez geçer ve dil kodlarını listeler. RFC'nin tanımlamadığı alanları okuyucular yok sayar; denetleyici bunları genellikle yazım hatası olduğu için uyarı olarak işaretler.
İpuçları
- Tek bir kişinin adresi yerine birkaç kişinin okuduğu bir posta kutusu kullanın ve ona yazarak deneyin.
- Bir güvenlik açığı bildirim politikası yazın ve Policy alanıyla bağlayın.
- Bir bildirim gelmeden önce sürelerinizi bilin: CRA 24 saatlik olay saati, haberdar olduğunuz anı tarihli son tarihlere çevirir.
Sık sorulan sorular
Siber Dayanıklılık Yasası bir security.txt dosyası zorunlu kılıyor mu?
Hayır. Düzenleme, üreticilerden koordineli bir güvenlik açığı bildirim politikası ve güvenlik açıklarını bildirmek için yayımlanmış bir yol bekler. security.txt bu iletişim bilgisini yayımlamanın yaygın yoludur ve uygulayıcılar bunu önerir, ancak düzenleme bu biçimi adıyla anmaz. Bkz. küçük üreticiler için rehber.
Dosyayı tam olarak nereye koymalıyım?
https://alan-adiniz/.well-known/security.txt adresine, HTTPS üzerinden ve text/plain; charset=utf-8 içerik türüyle. RFC 9116, eski kurulumlar için /security.txt adresinde bir kopyaya da izin verir. Kapsamak istediğiniz her alan adında ve alt alan adında yayımlayın.
Expires ne kadar ileride olmalı?
RFC 9116, araştırmacıların iletişim bilgilerinin güncel tutulduğuna güvenebilmesi için tarihin bir yıldan kısa bir süre ileride olmasını söyler. Oluşturucu varsayılan olarak bir yıldan biraz kısa bir tarih seçer. Tarih geçtiğinde okuyuculara dosyayı yok saymaları söylenir, bu yüzden zamanında yenileyin.
Dosyayı PGP ile imzalamam gerekiyor mu?
Hayır, imzalamak isteğe bağlıdır ama önerilir. İmzalı dosya, gpg --clearsign security.txt ile üretilen, OpenPGP ile düz metin olarak imzalanmış bir iletidir. Denetleyici imzalı biçimi tanır ve yapısını kontrol eder, ancak imzanın kendisini doğrulayamaz; bunun için gpg --verify kullanın.
Denetleyici neden sitemi çekmiyor?
Sayfanın gizliliğini korumak için: tamamen tarayıcınızda çalışır ve başka sitelere istek göndermez. Dosyanızı bir tarayıcı sekmesinde açın, metni kopyalayıp buraya yapıştırın. Bu, ziyaretçilerin gerçekte ne aldığını da denetlemiş olur.
Canonical alanı ne işe yarar?
Dosyanın sunulması gereken adresleri listeler; böylece okuyucu, bir adreste bulduğu dosyanın gerçekten oraya ait olduğunu doğrulayabilir. Dosyayı sunduğunuz adresi girerseniz denetleyici, Canonical satırlarından birinin onunla eşleştiğini sınar.