Security.txt Oluşturucu
security.txt Oluşturucu
RFC 9116'ya göre çıktı üretir, /.well-known/security.txt adresinde dağıtıma hazırdır.
Diğer yollarda sahteciliği önlemek için security.txt dosyanızın Canonical URL'sini belirtin
Çevrimiçi olarak RFC 9116 uyumlu security.txt dosyaları oluşturun, güvenlik araştırmacılarına resmi bir zafiyet bildirim kanalı sağlayın. Gerçek zamanlı önizleme, tek tıkla kopyalama, doğrudan /.well-known/security.txt konumuna dağıtarak etkinleştirin.
İlgili Öneriler
security.txt Hakkında: Web Sitesi Güvenlik İfşa Standartları Tam Kılavuzu
security.txt, IETF (İnternet Mühendisliği Görev Gücü) tarafından RFC 9116'da resmi olarak standartlaştırılan bir web güvenliği en iyi uygulamasıdır ve web sitelerine güvenlik iletişim bilgilerini yayınlamak için birleşik, standart bir yol sağlamak üzere tasarlanmıştır. Basitçe söylemek gerekirse, web sitesinde sabit bir yola yerleştirilen bir metin dosyasıdır ve güvenlik araştırmacılarına (beyaz şapka hackerlar) şunu söyler: "Web sitemde güvenlik zafiyetleri bulursanız, bizimle iletişime geçme yolu burada, şifreleme açık anahtarımız burada, ifşa politikamız burada, raporlarınızı memnuniyetle karşılarız."
security.txt standardı ortaya çıkmadan önce, web sitelerinin güvenlik iletişim bilgileri düzensizdi. Bazı web sitelerinde hiç güvenlik iletişim bilgisi yoktu, bazıları belirsiz bir sayfada gizlemişti, bazıları yalnızca kimsenin bakmadığı bir info@ e-postası bırakmıştı, bazıları ise güvenlik ekibini bulmak için LinkedIn'de zahmetli aramalar gerektiriyordu. Bu ciddi bir soruna neden oldu: iyi niyetli güvenlik araştırmacıları zafiyet keşfettiklerinde, genellikle bildirmek için doğru kanalı bulamadılar. Sonuç olarak—birçok zafiyet sessizce rafa kaldırıldı, düzeltilmeden bırakıldı, ta ki kötü niyetli hackerlar tarafından keşfedilip istismar edilene kadar. security.txt bu "son mil" sorununu çözmek için doğdu.
security.txt kavramı ilk olarak güvenlik araştırmacıları EdOverflow ve Yakov Shafranovich tarafından 2017'de önerildi ve hızla endüstri genelinde geniş destek kazandı. Nisan 2022'de security.txt, IETF tarafından resmi olarak RFC 9116 olarak onaylandı ve uluslararası kabul görmüş bir web güvenlik standardı haline geldi. Bugün, Google, GitHub, Meta (Facebook), LinkedIn, Cloudflare gibi büyük teknoloji şirketlerinin yanı sıra Birleşik Krallık Hükümeti, ABD CISA (Siber Güvenlik ve Altyapı Güvenliği Ajansı), Fransa Hükümeti, İtalya Hükümeti, Hollanda Hükümeti, Avustralya Siber Güvenlik Merkezi gibi devlet kurumları resmi web sitelerinde security.txt dağıtmış ve diğer kuruluşların benimsemesini herkese açık olarak önermektedir.
security.txt dosyasının temel tasarımı çok basittir—HTTP başlık biçimine benzer şekilde "alan-adı: değer" biçimindeki satırlardan oluşan düz bir metin dosyasıdır. Standart iki zorunlu alan tanımlar: Contact (güvenlik iletişim bilgileri, birden fazla olabilir) ve Expires (dosya sona erme zamanı); ayrıca birkaç isteğe bağlı alan: Encryption (PGP şifreleme açık anahtar URL'si), Acknowledgments (teşekkür sayfası URL'si), Policy (zafiyet ifşa politikası URL'si), Hiring (güvenlik işleri URL'si), Canonical (kurallı dosya URL'si), Preferred-Languages (desteklenen rapor dilleri), CSAF (Ortak Güvenlik Danışma Çerçevesi sağlayıcı meta veri URL'si). Bu basit biçim hem insanların hem de makinelerin kolayca ayrıştırmasını sağlar.
security.txt dağıtmak neden bu kadar önemlidir? İlk olarak, zafiyet bildiriminin önündeki engeli azaltır. Güvenlik araştırmacılarının iletişim bilgilerini bulmak için önemli zaman harcaması gerekmez—doğru raporlama kanalını tek tıkla bulabilirler. İkincisi, bir kuruluşun güvenliğe yönelik proaktif tutumunu gösterir—security.txt'ye sahip bir web sitesi aslında "Güvenliği ciddiye alıyoruz ve sorumlu raporları memnuniyetle karşılıyoruz" diyor. Üçüncüsü, zafiyetlerin herkese açık olarak ifşa edilme veya istismar edilme riskini azaltır: resmi bir kanalla araştırmacılar, kimseye ulaşamadıkları için zafiyetleri doğrudan Twitter veya GitHub'da herkese açık olarak ifşa etmeyi seçmezler. Dördüncüsü, birçok endüstri düzenleyici gereksinimde (finans, sağlık, devlet gibi) bir zafiyet ifşa kanalı oluşturmak uyumluluk gereksinimi haline gelmiştir.
security.txt dağıtırken dikkat edilmesi gereken birkaç önemli ayrıntı vardır. Birincisi, yol doğru olmalıdır: standart yol /.well-known/security.txt'dir ve kök dizine /security.txt olarak bir kopyayı yedek olarak da yerleştirebilirsiniz. Buradaki .well-known dizini RFC 8615 tarafından tanımlanan standart "bilinen kaynaklar" dizinidir, robots.txt gibi diğer standart dosyalar da ilgili konumlara yerleştirilir. İkincisi, HTTPS üzerinden sunulmalıdır—düz metin HTTP güvensiz olarak kabul edilir. Üçüncüsü, Content-Type text/plain olmalıdır, text/html veya diğer türler olmamalıdır. Dördüncüsü, security.txt için çapraz alan adı yönlendirmesi yapmayın—https://example.com/.well-known/security.txt https://other-domain.com/security.txt adresine yönlendirirse, araştırmacılar ve otomatik araçlar bunu şüpheli olarak değerlendirir. Beşincisi, Expires alanını ayarlamayı ve düzenli olarak güncellemeyi unutmayın; süresi dolmuş bir security.txt'nin bilgilerinin güvenilmez olduğu kabul edilir.
Contact alanı security.txt'deki en önemli alandır ve gerçekten vazgeçilmez tek alandır (Expires da zorunludur ancak yalnızca bir zaman damgasıdır). Contact üç URI biçimini destekler: e-posta adresleri için mailto:, web bağlantıları için https:// (güvenlik raporu form sayfaları gibi), telefon numaraları için tel:. En az bir mailto e-postası ve bir https form bağlantısı sağlamanız şiddetle önerilir—formlar bot istenmeyen postasını önler, e-posta ise araştırmacıların doğrudan şifreli rapor göndermesi için daha uygundur. Birden fazla iletişim kişisi birden fazla satırda listelenebilir, örneğin aynı anda hem güvenlik ekibi e-postası, hem güvenlik sorumlusu e-postası hem de üçüncü taraf zafiyet platformu bağlantıları sağlanabilir.
Encryption alanı isteğe bağlı olsa da pratikte çok önemlidir. Güvenlik araştırmacıları ciddi bir zafiyet keşfettiğinde (kullanıcı veri sızıntısı, uzaktan kod yürütme gibi), zafiyet ayrıntılarını düz metin e-postayla göndermek istemezler—çünkü e-posta iletim sırasında birden fazla sunucudan geçer, herhangi bir noktada dinlenebilir. PGP (Pretty Good Privacy) açık anahtar şifrelemesi, güvenli iletişim için endüstri standardıdır. Yalnızca bir PGP anahtar çifti oluşturmanız, açık anahtarı web sitenize yerleştirmeniz (örn. /.well-known/pgp-key.txt konumuna) ve bu URL'yi Encryption alanına girmeniz yeterlidir. Araştırmacılar rapor içeriğini açık anahtarınızla şifreler ve yalnızca ilgili özel anahtarı tutanlar şifreyi çözüp okuyabilir.
Policy alanı Zafiyet İfşa Politikanız (Vulnerability Disclosure Policy, VDP) sayfasına bağlantı verir, bu da araştırmacı güveni oluşturmanın anahtarıdır. İyi bir VDP şunları açıkça belirtmelidir: test kapsamı (hangi sistemler test kapsamındadır ve hangileri değildir), izin verilen test yöntemleri (örn. SQL enjeksiyonu/XSS testine izin verilir ancak DDoS/sosyal mühendislik/gerçek kullanıcı verilerine erişim yasaktır), taahhüt edilen yanıt süreleri (örn. "Raporların alındığını 3 iş günü içinde onaylayacağız"), ödül sunup sunmadığınız, yasal güvenli liman taahhütleri (kurallara uyan iyi niyetli araştırmacılara dava açmayacağınızı açıkça belirtmek). Uluslararası olarak başvurulabilecek birçok VDP şablonu vardır ve ABD CISA ayrıca açık kaynaklı bir VDP şablonu sağlar.
Güvenlik iletişiminin ötesinde, security.txt'nin birkaç "sürpriz" alanı daha vardır. Acknowledgments alanı bir Güvenlik Şeref Listesi oluşturur—zafiyet bulmanıza yardımcı olan araştırmacılara herkesin önünde teşekkür etmek, bu onların çalışmalarını tanımak ve aynı zamanda bir topluluk oluşturma yöntemidir. Hiring alanı ise çok zekice bir tasarımdır: web sitenizdeki zafiyetleri bulan kişiler doğası gereği mükemmel güvenlik yetenekleridir ve security.txt'ye işe alım bağlantısı yerleştirmek, güvenlik yeteneklerini işe almak için en kesin kanaldır. Birçok şirket security.txt aracılığıyla mükemmel güvenlik mühendisleri işe almıştır. Canonical alanı ise bir güvenlik önlemidir—saldırganların security.txt'nizi diğer alan adlarında sahtecilik yapmasını önler.
Yaygın istenmeyen posta endişesi konusunda, pratikte security.txt dağıtan çoğu kuruluş istenmeyen postada belirgin bir artış olmadığını bildirmektedir. Bunun nedeni: birincisi, istenmeyen posta gönderenler genellikle security.txt tarayarak e-posta adresi elde etmez; ikincisi, doğrudan mailto e-postası yerleştirmek yerine https:// form bağlantıları kullanılabilir ve formlara CAPTCHA eklenmesi botları tamamen engelleyebilir; üçüncüsü, özel güvenlik e-postaları (örn. security@) genellikle sıkı istenmeyen posta filtrelemesi ile yapılandırılır. Buna karşılık, bir güvenlik iletişim kanalı eksikliği nedeniyle kaçırılan ciddi zafiyet raporlarının maliyeti, olası küçük miktarlardaki istenmeyen posta artışından çok daha fazladır.
Bu oluşturucu, RFC 9116 standardına sıkı sıkıya bağlı olarak oluşturulmuştur ve tüm çıktı biçimleri normalleştirilmiştir: Contact alanı önekleri otomatik olarak tanır, Expires alanı standart ISO 8601 UTC zaman biçimini kullanır ve Preferred-Languages, kullandığınız dile göre otomatik olarak ayarlanır. Oluşturulan içerik doğrudan kopyalanıp /.well-known/security.txt yoluna hiçbir değişiklik yapılmadan dağıtılabilir. Ek olarak, tüm yapılandırma tarayıcınızda yerel olarak yapılır ve hiçbir sunucuya gönderilmez—güvenlik iletişim bilgileriniz her zaman cihazınızda kalır. security.txt dağıtmak yalnızca 5 dakika sürer, ancak oluşturduğu güvenlik iletişim kanalı gelecekte ciddi bir güvenlik olayından kaçınmanıza yardımcı olabilir.
Kullanım senaryoları
- Contact e-posta adreslerini ve Policy güvenlik politikası sayfalarını yapılandırarak kurumsal web siteleri, SaaS platformları ve e-ticaret siteleri için resmi zafiyet bildirim kanalları oluşturun
- Güvenlik araştırmacılarının hassas zafiyet ayrıntılarını şifreleyerek göndermesi için PGP şifreleme açık anahtar URL'lerini yayınlayın, zafiyet bilgilerinin düz metin aktarımında ele geçirilmesini önleyin
- Zafiyet bildiren araştırmacılara herkesin önünde teşekkür etmek, güvenlik topluluğu içinde güven oluşturmak için Acknowledgments güvenlik Şeref Listesi sayfa URL'lerini ayarlayın
- Güvenlik araştırmacılarına ve beyaz şapka hackerlara ekip işe alım bilgilerini proaktif olarak sergilemek, güvenlik yeteneklerini çekmek için Hiring güvenlik iş bağlantılarını yapılandırın
- Ekiplere güvenlik iletişim bilgilerini düzenli olarak gözden geçirmelerini ve güncellemelerini hatırlatmak, eski bilgiler nedeniyle iletişim kurulamaması ve zafiyetlerin bildirilememesini önlemek için Expires zaman damgalarını ayarlayın
- Saldırganların araştırmacıları yanlış yönlendiren kötü amaçlı security.txt içeriği sahteciliğini önlemek için Canonical alanlarını yapılandırarak security.txt dosyanızın kurallı URL'sini bildirin
- Devlet, finans ve sağlık sektörlerindeki yüksek uyumluluk gerektiren web sitelerinin Zafiyet İfşa Politikası (VDP) gereksinimlerini karşılamasını sağlayın, endüstri düzenleyici en iyi uygulamalarla uyumlu hale getirin
- Açık kaynak projeleri, kişisel bloglar ve API hizmetleri için hızlıca güvenlik iletişim noktaları kurun, güvenlik sorunlarına karşı ciddi bir tutum sergilediğinizi gösterin
Nasıl Kullanılır
- Contact bölümüne güvenlik iletişim e-posta adreslerini veya URL'lerini doldurun (satır başına bir tane, birden çok satır desteklenir; e-postalar mailto: öneki gerektirir, web URL'leri https:// öneki gerektirir)
- İsteğe bağlı alanları gerektiği gibi yapılandırın: Encryption (PGP açık anahtar URL'si), Acknowledgments (Şeref Listesi sayfası), Policy (zafiyet ifşa politikası sayfası), Hiring (güvenlik işleri sayfası), Canonical (kurallı dosya URL'si) vb.
- Expires sona erme zamanını ayarlayın (ISO 8601 biçimi UTC zamanı, örneğin 2027-12-31T23:59:59Z; önerilen ayar gelecekte 6-12 ay)
- Oluşturulan içeriği sağda gerçek zamanlı olarak önizleyin; biçimin doğru olduğunu onayladıktan sonra kopyala düğmesine tıklayın
- Web sitenizin kök dizininde bir .well-known klasörü oluşturun ve içeriği içine security.txt olarak kaydedin
- Web sunucunuzu (Nginx/Apache/Caddy vb.) https://alan-adiniz/.well-known/security.txt üzerinden erişildiğinde Content-Type'ın text/plain olarak ayarlandığından emin olacak şekilde yapılandırın
Özellikler
- En son RFC 9116 standardını sıkı sıkıya takip eder: çıktı biçimi tamamen uyumludur ve üretim dağıtımı için hazırdır
- Çoklu Contact desteği: satır başına bir giriş, e-posta (mailto:), web URL'si (https://) ve telefon (tel:) bağımsız olarak bildirilebilir
- Tam alan kapsamı: zorunlu Contact ve Expires alanlarının yanı sıra Encryption, Acknowledgments, Policy, Hiring, Canonical ve Preferred-Languages dahil tüm isteğe bağlı alanlar
- Gerçek zamanlı önizleme oluşturma: herhangi bir yapılandırmayı değiştirdiğinizde security.txt içeriği anında güncellenir—WYSIWYG, oluşturma düğmesi gerekmez
- Otomatik dil bildirimi: uluslararası güvenlik araştırmacılarının raporlamasını kolaylaştırmak için mevcut sayfa diline göre Preferred-Languages alanını otomatik olarak ekler
- ISO 8601 zaman biçimi: Expires alanı en son RFC özelliklerine uygun standart UTC zaman biçimini kullanır
- Alan biçimi doğrulaması: geçersiz çıktıyı önlemek için Contact öneklerini (mailto:/https:/tel:) ve Expires zaman biçimini otomatik olarak kontrol eder
- Tek tıkla kopyalama: tam içeriği panoya kopyalamak için tıklayın—yapıştırın ve hemen dağıtın
- Yerleşik örnek şablonlar: sıfırdan başlamak yerine kendi bilgilerinizle hızlıca değiştirebilmeniz için örnek biçimle önceden doldurulmuştur
- Saf ön uç yerel yürütme: yapılandırma tarayıcınızda yerel olarak işlenir ve hiçbir sunucuya yüklenmez
- Dağıtım yolu rehberliği: oluşturmadan sonra standart /.well-known/security.txt dağıtım yolunu ve önemli web sunucusu yapılandırma noktalarını gösterir
- Filigran olmadan: oluşturulan dosyalar ticari web sitelerinde doğrudan kullanıma uygun, hiçbir filigran veya kısıtlama içermez
Sık Sorulan Sorular
security.txt dosyası nedir? Web sitemin neden buna ihtiyacı var?
security.txt, IETF tarafından RFC 9116'da tanımlanan bir web güvenlik standardıdır ve web sitelerine güvenlik iletişim bilgilerini yayınlamak için standartlaştırılmış bir yol sağlamak üzere tasarlanmıştır. Güvenlik araştırmacıları (beyaz şapka hackerlar) web sitenizde güvenlik zafiyetleri keşfettiğinde, kiminle iletişime geçeceklerini, raporlarını nasıl şifreleyeceklerini ve hangi ifşa politikasını izleyeceklerini bilmeleri gerekir. security.txt olmadan araştırmacılar doğru kişiyi bulamayabilir ve zafiyetler herkese açık olarak ifşa edilebilir hatta kötü niyetli olarak istismar edilebilir. Google, GitHub, Facebook/Meta, Birleşik Krallık Hükümeti, ABD CISA ve Fransa, İtalya, Hollanda, Avustralya hükümetleri bu standardı benimsemiştir.
security.txt bir web sitesinde hangi yola yerleştirilmelidir?
RFC 9116 standartlarına göre security.txt, /.well-known/security.txt yoluna yerleştirilmelidir (yani web sitenizin kök dizinindeki .well-known klasörünün içinde). Ayrıca kök dizine /security.txt olarak bir kopya yedek olarak yerleştirilebilir. HTTPS üzerinden erişilebilir olmalı ve Content-Type text/plain olmalıdır. Diğer yollara yerleştirmeyin, aksi takdirde otomatik güvenlik tarama araçları bunu tanımaz.
Contact alanı hangi iletişim biçimlerini destekler? Birden fazla iletişim girebilir miyim?
Üç biçim desteklenir: e-posta adresleri mailto: önekini kullanmalıdır (örn. mailto:security@example.com), web URL'leri https:// önekini kullanmalıdır (örn. https://example.com/security-report), telefon numaraları tel: önekini kullanmalıdır (örn. tel:+1-201-555-0123). Birden fazla iletişim girebilirsiniz, satır başına bir tane—güvenlik araştırmacıları size ulaşmak için en uygun kanalı seçebilir. En az bir e-posta adresi ve bir web form bağlantısı sağlamanız önerilir.
Expires alanı zorunlu mudur? Biçim gereksinimleri nelerdir?
Expires zorunlu bir alandır (Contact da zorunludur; diğer tüm alanlar isteğe bağlıdır). Expires, security.txt içeriğinin sona erme zamanını belirtir ve ISO 8601 biçiminde UTC zamanı kullanmalıdır, örn. 2027-12-31T23:59:59Z (Z UTC saat dilimini belirtir). Güvenlik iletişim bilgilerinizi düzenli olarak güncellemenizi hatırlatmak için oluşturulduktan sonra 6-12 ay sonra sona erecek şekilde ayarlanması önerilir. Sona erdikten sonra otomatik araçlar dosyanın bilgilerinin potansiyel olarak geçersiz olduğunu kabul eder.
Encryption alanına neden ihtiyaç var? PGP açık anahtarı koymak zorunda mıyım?
Encryption alanı PGP açık anahtarınızın konumunu işaret eder. Güvenlik araştırmacıları bu açık anahtarı kullanarak zafiyet raporlarını göndermeden önce şifreleyebilir, e-posta iletimi sırasında zafiyet ayrıntılarının ele geçirilmesini önler. Bu zorunlu bir alan değildir, ancak şiddetle önerilir—çünkü zafiyet bilgileri son derece hassastır, düz metin e-postalar ISS'ler, posta sunucusu yöneticileri veya saldırganlar tarafından dinlenebilir. PGP açık anahtarınızı /.well-known/pgp-key.txt konumuna yerleştirebilir ve bu URL'yi Encryption alanına girebilirsiniz.
Acknowledgments alanı ne işe yarar? Neden bir teşekkür sayfası oluşturmalıyım?
Acknowledgments alanı, size daha önce güvenlik zafiyetleri bildiren araştırmacıların adlarını veya kimliklerini listeleyen herkese açık bir teşekkür sayfasına (Güvenlik Şeref Listesi olarak da adlandırılır) işaret eder. Bu, güvenlik araştırmacılarının çalışmalarının herkesin önünde tanınmasıdır ve daha fazla beyaz şapka araştırmacıyı zafiyet bulmanıza yardımcı olmaya çekmek için etkili bir yoldur. Birçok güvenlik araştırmacısı, katkılarının tanınacağı anlamına geldiği için herkese açık teşekkür mekanizmalarına sahip web sitelerini test etmeye öncelik verir.
Policy alanı hangi içeriğe bağlantı vermelidir?
Policy alanı Zafiyet İfşa Politikanız (Vulnerability Disclosure Policy, VDP) sayfasına bağlantı vermelidir. Bu sayfa şunları açıkça belirtmelidir: hangi test faaliyetlerine izin verildiği (ve hangilerinin yasak olduğu, örn. DDoS yok, kullanıcı verilerine erişim yok), zafiyet raporları için yanıt süresi taahhütleri, ödül sunup sunmadığınız ve meşru güvenlik araştırmasına yönelik yasal taahhütleriniz (örn. iyi niyetli araştırmacılara dava açmama). Açık bir Politika, güvenlik araştırmacılarına yasal olarak güvence sağlayarak size sorunları bildirmeleri için onları rahatlatır.
Canonical alanı ne içindir? Doldurmam gerekir mi?
Canonical alanı security.txt dosyasının kendisinin kurallı URL'sini bildirir. Bir web sitesinde security.txt'ye birden fazla alan adı veya yoldan erişilebilir (örn. example.com ve www.example.com); Canonical alanı araştırmacılara hangi URL'nin resmi, güvenilir sürüm olduğunu söyler. Bu, saldırganların araştırmacıları kandırmak için bir yola sahte security.txt yerleştirmesini önler. Resmi alan adı URL'nizi girmeniz önerilir, örn. https://example.com/.well-known/security.txt.
Preferred-Languages alanı ne anlama geliyor?
Preferred-Languages, güvenlik araştırmacılarına güvenlik ekibinizin hangi dillerde raporları işleyebildiğini söyler, virgülle ayrılmış dil kodlarıyla ifade edilir (örn. tr, en, zh-CN). Bu oluşturucu, şu anda kullanmakta olduğunuz sayfa diline göre bu alanı otomatik olarak ayarlar. Bu önemlidir çünkü güvenlik araştırması küreseldir—araştırmacılar herhangi bir ülkede olabilir ve desteklenen dilleri önceden belirtmek dil engelleri nedeniyle iletişim başarısızlıklarını önler.
Hiring alanı da security.txt'ye yerleştirilmeli midir?
Evet, Hiring RFC 9116 standardında tanımlanan isteğe bağlı alanlardan biridir. Bu alan güvenlik ekibinizin işe alım sayfasına işaret eder. Güvenlik araştırmacıları kendileri mükemmel güvenlik yetenek adaylarıdır—web sitenizdeki zafiyetleri bulma yetenekleri güçlü güvenlik becerilerine sahip olduklarını gösterir. security.txt'ye işe alım bağlantısı yerleştirmek, güvenlik yeteneklerini işe almak için son derece hedeflenmiş bir yoldur. Google dahil birçok tanınmış şirket security.txt dosyalarında işe alım bağlantıları bulundurur.
Güvenlik iletişim e-postası yayınlamak büyük miktarlarda istenmeyen postaya neden olur mu?
Bu, web sitesi operatörleri arasındaki en yaygın endişedir. İstenmeyen postayı azaltmak için birkaç strateji vardır: birincisi, e-posta adreslerini doğrudan yayınlamak yerine bir güvenlik raporu web formunun URL'sini (https:// öneki) yayınlayın, burada botları filtrelemek için CAPTCHA ekleyebilirsiniz; ikincisi, özel bir güvenlik e-posta takma adı kullanın (örn. security@) ve güçlü istenmeyen posta filtrelemesi yapılandırın; üçüncüsü, PGP açık anahtar şifrelemesi sağlayın—otomatik istenmeyen posta gönderenleri PGP şifrelemesi kullanmaz; dördüncüsü, Politikanızda yalnızca güvenlik zafiyetleriyle ilgili raporları kabul ettiğinizi açıkça belirtin. Uygulamada, security.txt uygulayan çoğu web sitesi istenmeyen postada ihmal edilebilir artışlar, ancak zafiyet raporlarında önemli artışlar bildirmektedir.
security.txt'nin dijital olarak imzalanması gerekir mi? Nasıl yapılır?
RFC 9116, güvenlik.txt dosyasını dijital olarak imzalamak için OpenPGP açık metin imzaları (cleartext signature) kullanmanızı önerir (ancak zorunlu kılmaz), böylece araştırmacılar dosyanın gerçekten web sitesi tarafından resmi olarak yayınlandığını ve saldırganlar tarafından değiştirilmediğini doğrulayabilir. Yöntem, dosyayı GPG ile temiz imzalamaktır: gpg --clearsign -o security.txt.sig security.txt, ardından imzalı içeriği (-----BEGIN PGP SIGNED MESSAGE----- ile başlayan) son security.txt içeriği olarak kullanın. Ancak bu gelişmiş bir işlemdir—çoğu web sitesi imzalama olmadan normal şekilde çalışabilir.
Nginx/Apache/Caddy security.txt için nasıl yapılandırılmalıdır?
Temel yapılandırma gereksinimleri: /.well-known/security.txt yolunun erişilebilir olduğundan emin olun, Content-Type text/plain döndürsün, HTTPS kullanılmalıdır ve bu yolu yönlendirmeyin (özellikle diğer alan adlarına yönlendirmeyin). Nginx kesin konum eşleşmesi kullanabilir: location = /.well-known/security.txt { default_type text/plain; alias /path/to/security.txt; }; Apache .htaccess'in .well-known dizinine erişimi engellemediğinden emin olmalıdır; Caddy doğrudan belirtmek için handle_path kullanabilir.
Web sitem çok küçük (kişisel blog/açık kaynak proje)—yine de security.txt'ye ihtiyacım var mı?
Kesinlikle önerilir. Web sitesi boyutu ne olursa olsun, kullanıcı verileriniz olduğu veya internette hizmet sunduğunuz sürece güvenlik zafiyetleri mevcut olabilir. security.txt'nin dağıtım maliyeti son derece düşüktür—bu araçla oluşturmak sadece 2 dakika sürer ve bir dosya yerleştirmeyi gerektirir. Google, GitHub gibi büyük şirketler kullanır, bireysel geliştiriciler ve açık kaynak projeleri de kullanabilir. Bu son derece uygun maliyetli bir güvenlik uygulamasıdır: neredeyse sıfır maliyet, ancak zafiyet bulan iyi niyetli araştırmacılara sessizce ayrılmak veya herkese açık olarak ifşa etmek yerine size sorunları bildirebilecekleri bir kanal sağlar.
security.txt ile robots.txt arasındaki fark nedir?
Her ikisi de /.well-known/ (veya kök dizin) altına yerleştirilen standart metin dosyalarıdır, ancak amaçları tamamen farklıdır: robots.txt arama motoru tarayıcıları içindir, hangi yolları taramamaları gerektiğini söyler; security.txt güvenlik araştırmacıları içindir, zafiyet bulduklarında sizinle nasıl iletişime geçeceklerini söyler. Biri arama motorlarını hedefler, diğeri güvenlik araştırmacılarını—birbirlerini tamamlarlar, çakışmazlar ve aynı anda dağıtılabilirler.
Sorun Giderme
/.well-known/security.txt'ye erişim 404 hatası döndürüyor
Üç yaygın neden vardır: birincisi, dosya doğru konuma yerleştirilmemiştir—yolun web sitesi kökündeki .well-known klasörü içindeki security.txt dosyası olduğunu onaylayın (.well-known'ın nokta ile başlayan gizli bir dizin olduğuna dikkat edin); ikincisi, web sunucusu yapılandırması nokta ile başlayan dizinlere erişimi engelliyor (Apache .htaccess veya Nginx deny kuralları nokta dosyası dizinlerini engelleyebilir); üçüncüsü, Nginx/Apache yeniden yazma kuralları (ön uç yönlendirme geçmişi modu gibi) istekleri index.html'ye iletiyor. Çözüm: dosya yolunu kontrol edin ve sunucu yapılandırmasında /.well-known/security.txt için açıkça bir konum kuralı ekleyin.
security.txt'ye erişim oturum açma sayfasına veya ana sayfaya yönlendiriliyor
Tek sayfalı uygulamaların (SPA) veya kimlik doğrulamalı web sitelerinin çoğu, eşleşmeyen tüm yolları ana sayfaya veya oturum açma sayfasına yönlendirir. Bu, otomatik araçların security.txt'yi bulmasını engeller. Çözüm: sunucu yapılandırmasında /.well-known/security.txt yolu için bir istisna ekleyin, böylece bu yol SPA yönlendirmesi veya kimlik doğrulama ara yazılımı işlemeden geçmeden doğrudan dosya içeriğini döndürsün. Bu, security.txt dağıtırken en yaygın tuzaktır.
Tarayıcı içeriği görüntülemek yerine security.txt'yi indiriyor
Bu, sunucunun yanlış Content-Type döndürmesi nedeniyle oluşur; text/plain yerine application/octet-stream veya başka bir ikili türe ayarlanmış olabilir. Çözüm: web sunucusu yapılandırmasında security.txt için Content-Type'ı açıkça text/plain; charset=utf-8 olarak ayarlayın. Nginx, default_type text/plain veya add_header Content-Type text/plain gerektirir; Apache genellikle bunu otomatik olarak işler, ancak sorun olursa AddType yönergesini kullanarak zorla belirtebilirsiniz.
Contact alanına e-posta girdim ancak biçim hatası alıyorum
Contact alanı değerleri URI önekleri içermelidir: e-posta adresleri mailto: ile başlamalıdır (örn. mailto:security@example.com, yalnızca security@example.com değil), web URL'leri https:// ile başlamalıdır (yalnızca example.com/security değil), telefon numaraları tel: ile başlamalıdır. Bu, RFC 9116 standartları tarafından açıkça gereklidir—çünkü Contact alanı birden fazla iletişim yöntemini destekler, önek eksikliği ayrıştırıcıların türü belirlemesini imkansız kılar.
Expires zaman biçimi yanlış olarak görünüyor
Expires, YYYY-MM-DDTHH:MM:SSZ biçiminde ISO 8601 biçimi UTC zamanı kullanmalıdır, sonunda UTC saat dilimini belirten Z olmalıdır (+08:00 gibi yerel saat dilimi uzaklıkları yazmayın). Doğru örnek: 2027-12-31T23:59:59Z. 2027/12/31, 31 Ara 2027 veya 2027-12-31 23:59:59 gibi diğer biçimleri kullanmayın—bunlar standart dışıdır.
security.txt'yi dağıttım ancak çevrimiçi algılama araçları hala bulunamadığını söylüyor
Aşağıdaki noktaları kontrol edin: birincisi, erişimin HTTPS kullandığından emin olun (HTTP erişimi sayılmaz—RFC HTTPS gerektirir); ikincisi, hem www'li hem www'siz alan adlarıyla doğru erişildiğinden emin olun (web siteniz her iki alan adı sürümünde de mevcutsa, Canonical alanda birincil alan adını bildirmeniz ve security.txt'yi her iki alan adı altına yerleştirmeniz veya doğru 301 yönlendirmeleri ayarlamanız önerilir); üçüncüsü, CDN önbelleğinin eski içeriği temizleyip temizlemediğini kontrol edin; dördüncüsü, sunucunun security.txt yolunda diğer URL'lere yönlendirme (301/302) döndürmediğini onaylayın—RFC, yönlendirmelerin araçlar tarafından reddedilebileceğini belirtir.
Sözlük
- RFC 9116
- IETF tarafından yayınlanan resmi security.txt standart belgesi, numarası 9116, Nisan 2022'de yayınlanmıştır. security.txt dosya biçimi, alanları, dağıtım yolları, MIME türleri vb. tüm özellik ayrıntılarını tanımlar ve security.txt uygulaması için yetkili temeldir.
- .well-known dizini
- RFC 8615 tarafından tanımlanan bir Web standart dizini, web siteleri için standartlaştırılmış meta veri dosyalarını (security.txt, robots.txt, apple-app-site-association vb.) depolamak için kullanılır, sabit yolu web sitesi kök dizini altındaki .well-known klasörüdür.
- VDP (Zafiyet İfşa Politikası)
- Bir web sitesinin ne tür güvenlik testlerine izin verdiğini, zafiyetlerin nasıl raporlanacağını, yanıt süresi taahhütlerini, yasal güvenli liman hükümlerini vb. açıklayan Zafiyet İfşa Politikası. security.txt'deki Policy alanı VDP sayfasına bağlantı vermelidir.
- PGP/GPG Şifreleme
- Pretty Good Privacy/GNU Privacy Guard, asimetrik bir şifreleme standardı. Güvenlik araştırmacıları web sitesinin açık anahtarını kullanarak zafiyet raporlarını şifreler ve yalnızca özel anahtarı tutan web sitesi bunların şifresini çözebilir, iletim sırasında zafiyet ayrıntılarının ele geçirilmesini önler.
- ISO 8601
- Uluslararası Standardizasyon Örgütü tarafından geliştirilen bir tarih ve saat temsil biçimi; RFC 9116, Expires alanının bu biçimde UTC zamanı kullanmasını gerektirir (örn. 2027-12-31T23:59:59Z, burada Z UTC saat dilimini belirtir).
- Şeref Listesi (Güvenlik Teşekkürleri)
- Acknowledgments alanının işaret ettiği teşekkür sayfası, web sitesine güvenlik zafiyetleri bildiren araştırmacıların adlarını/kimliklerini herkesin önünde kaydeder, güvenlik araştırması katkılarının herkesin önünde tanınması olarak hizmet eder.
- Beyaz Şapka Hacker
- İyi niyetli amaçlarla güvenlik zafiyetlerini keşfeden ve sorumlu bir şekilde ifşa eden güvenlik araştırmacıları, zafiyetleri saldırı için istismar eden kötü niyetli hackerların (siyah şapkaların) tersine. security.txt, beyaz şapka araştırmacılar için resmi bir iletişim kanalı sağlar.
- Kurallı URL
- security.txt'deki Canonical alanı dosyanın kendi resmi URL'sini bildirir, saldırganların araştırmacıları aldatmak için diğer yollara veya alan adlarına sahte security.txt dosyaları yerleştirmesini önler.
RFC 9116 security.txt Alan Hızlı Başvuru Tablosu
Aşağıda security.txt standardı tarafından tanımlanan tüm alanlar ve gereksinimleri bulunmaktadır:
| Alan Adı | Zorunlu/İsteğe Bağlı | Çoklu İzin Veriliyor mu? | Değer Biçimi | Açıklama |
|---|---|---|---|---|
| Contact | ✅ Zorunlu | ✅ Çok satırlı izin verilir | mailto:/https:/tel: URI | Güvenlik iletişim bilgileri, e-posta, web URL'si ve telefon biçimlerini destekler |
| Expires | ✅ Zorunlu | ❌ Yalnızca bir tane | ISO 8601 UTC zamanı | Dosya içeriği sona erme zamanı; sona erdikten sonra bilgilerin potansiyel olarak geçersiz olduğu kabul edilir |
| Encryption | ⬜ İsteğe bağlı | ✅ Çok satırlı izin verilir | https:// URI | Hassas zafiyet raporlarını şifrelemek için PGP açık anahtar konumu URL'si |
| Acknowledgments | ⬜ İsteğe bağlı | ✅ Çok satırlı izin verilir | https:// URI | Güvenlik Şeref Listesi/teşekkür sayfası URL'si, zafiyet bildirenlere herkesin önünde teşekkür eder |
| Policy | ⬜ İsteğe bağlı | ✅ Çok satırlı izin verilir | https:// URI | Zafiyet İfşa Politikası (VDP) sayfası URL'si, raporlama kurallarını ve kapsamını açıklar |
| Hiring | ⬜ İsteğe bağlı | ✅ Çok satırlı izin verilir | https:// URI | Güvenlik ekibi işe alım sayfası URL'si, güvenlik araştırmacılarından yetenekleri işe alır |
| Canonical | ⬜ İsteğe bağlı | ✅ Çok satırlı izin verilir | https:// URI | security.txt dosyasının kendisinin kurallı URL'si, sahteciliği önler |
| Preferred-Languages | ⬜ İsteğe bağlı | ❌ Yalnızca bir tane | Dil kodları (virgülle ayrılmış) | Güvenlik ekibi tarafından desteklenen diller, örn. tr, en, zh-CN |
| CSAF | ⬜ İsteğe bağlı | ✅ Çok satırlı izin verilir | https:// URI | Ortak Güvenlik Danışma Çerçevesi sağlayıcı meta veri URL'si |
Yaygın Web Sunucusu security.txt Yapılandırma Örnekleri
security.txt içeriği oluşturduktan sonra sunucunuzda doğru erişim yolunu ve Content-Type'ı yapılandırın:
| Web Sunucusu | Yapılandırma Önemli Noktaları | Notlar |
|---|---|---|
| Nginx | location = /.well-known/security.txt { default_type text/plain; alias /var/www/.well-known/security.txt; add_header Cache-Control "public, max-age=3600"; } | Kesin eşleşme kullanın (=), Nginx'in txt dosyalarını ikili olarak işlemesini önlemek için default_type'ı text/plain olarak belirtin |
| Apache | .well-known dizininin .htaccess Deny kuralları tarafından engellenmediğinden emin olun; dosyayı web sitesi kök dizini altındaki .well-known klasörüne yerleştirmeniz yeterlidir | Apache varsayılan olarak .txt dosyaları için text/plain döndürür, ancak mod_rewrite kurallarının bu yolu yeniden yazmadığını onaylayın |
| Caddy | handle_path /.well-known/security.txt { file_server { root /var/www } } | Caddy varsayılan olarak HTTPS kullanır ve txt dosyası MIME türlerini doğru işler; en basit yapılandırma |
| Cloudflare Pages/Vercel/Netlify | security.txt'yi public/.well-known/security.txt konumuna yerleştirin; dağıtımdan sonra statik sunum doğru erişim sağlayacaktır | Statik barındırma platformları genellikle doğru Content-Type'ı otomatik olarak işler; platformların nokta ile başladığında .well-known dizinini yok saymadığını onaylayın |
| CDN/Ters Vekil | CDN'lerin veya WAF'lerin security.txt'yi engellemediğinden veya çok uzun süre önbelleğe almadığından emin olun; önerilen Cache-Control ayarı max-age=3600 (1 saat) | security.txt'yi güncelledikten sonra CDN önbelleğini temizlemeyi unutmayın, aksi takdirde araştırmacılar eski sürümü görebilir |
Privacy & Security
Bu oluşturucudaki tüm yapılandırma işlemleri tamamen tarayıcınızda yerel olarak çalışır. Girdiğiniz hiçbir bilgi—güvenlik iletişim e-postaları, PGP anahtar URL'leri, iş bağlantıları veya başka herhangi bir veri—hiçbir sunucuya gönderilmez, toplanmaz veya depolanmaz. Sayfa yenilendiğinde veya kapatıldığında tüm girdi içeriği hemen temizlenir. Oluşturulan security.txt dosya içeriği yalnızca panonuzda ve dağıttığınız sunucularda bulunur; GeekFormat hiçbir kopya tutmaz.
- Kimlik Doğrulama Başlığı Oluşturucu
- Cache-Control Çözümleyici
- Content-Disposition Çözümleyici
- CORS Başlık Oluşturucu
- CORS Denetleyici
- CSP Oluşturucu
- cURL'den Koda Dönüştürücü
- Global DNS Yayılma Kontrolü
- DNS Sorgulama
- Forwarded Başlık Çözümleyici
- Hreflang Etiket Oluşturucu
- HSTS Analizörü
- HTTP Çerez Ayrıştırıcı
- HTTP Başlık Denetleyici
- HTTP İstek Test Aracı
- HTTP Durum Kodları Sorgulama
- IP Sorgulama
- IPv4 Dönüştürücü
- IPv4 Aralık Genişletici
- IPv6 Araç Kutusu
- Link Başlık Ayrıştırıcı
- MX Sorgulama
- Port Denetleyici
- URL Parametre Oluşturucu
- Rate Limit Başlık Ayrıştırıcı
- Yönlendirme Denetleyici
- Robots.txt Oluşturucu
- Robots.txt Denetimi
- Güvenlik Başlığı Denetleyici
- Security.txt Oluşturucu
- Set-Cookie Ayrıştırıcı
- Site Ağ Denetimi
- Sitemap Generator
- Sitemap Denetleyici
- SSL Sertifika Denetleyicisi
- Alt Ağ Hesaplayıcı
- URL Çözümleyici
- User-Agent Ayrıştırıcı
- UTM Bağlantı Oluşturucu
- WebSocket Test Aracı
- What Is My IP?
- WHOIS Sorgulama