TanodTools
ID

Pembuat dan pemeriksa security.txt

Susun security.txt yang valid menurut RFC 9116 agar peneliti tahu cara menghubungi Anda, atau tempel file yang sudah ada untuk melihat apa yang salah. Bagian dari persiapan menghadapi Cyber Resilience Act Uni Eropa.

Berjalan sepenuhnya di browser Anda

Buat security.txt

Wajib
Alamat email, nomor telepon dengan kode negara, atau halaman https://. Baris pertama adalah yang dicoba peneliti lebih dulu.
Opsional
Kebijakan pengungkapan kerentanan Anda. Buat di sini.
Tautan https:// ke kunci publik Anda, record dns:, atau fingerprint openpgp4fpr:.
Kode bahasa dipisahkan koma.
Alamat tempat file ini akan disajikan. Dianjurkan, terutama untuk file bertanda tangan.
Halaman yang berterima kasih kepada peneliti yang melaporkan masalah.
Halaman lowongan kerja keamanan Anda.

    Letak file

    Simpan file sebagai security.txt dan sajikan di https://your-domain/.well-known/security.txt lewat HTTPS sebagai teks biasa (text/plain; charset=utf-8). Lakukan hal yang sama di setiap domain yang ingin Anda cakup. Untuk menandatanganinya, jalankan gpg --clearsign security.txt lalu terbitkan hasilnya.

    Periksa security.txt

    Domain atau alamat lengkap. Dipakai untuk menguji kecocokan Canonical. Tidak ada yang diambil dari internet.

      Hanya memeriksa teks terhadap RFC 9116. Alat ini tidak mengambil isi situs Anda (apa pun yang Anda ketik tidak keluar dari halaman ini, jadi tempel saja filenya), tidak memverifikasi tanda tangan OpenPGP, dan tidak menguji apakah suatu alamat berfungsi. Ini templat, bukan nasihat hukum.

      Cara membuat dan memeriksa security.txt

      1. Isi minimal satu Contact (alamat email, nomor telepon, atau halaman https://) dan periksa tanggal Expires. Isi field opsional yang Anda perlukan, misalnya Policy dan Preferred-Languages.
      2. Salin atau unduh filenya, lalu terbitkan di /.well-known/security.txt pada domain Anda lewat HTTPS sebagai teks biasa.
      3. Untuk memeriksa file yang sudah ada, tempel teksnya ke pemeriksa. Perbaiki error, lalu lihat peringatannya. Tambahkan alamat tempat file itu disajikan untuk menguji field Canonical.
      4. Pasang pengingat di kalender untuk memperbarui Expires sebelum tanggalnya lewat.

      Fungsi security.txt

      Ketika peneliti, pelanggan, atau CERT menemukan kelemahan pada perangkat lunak Anda, masalah pertamanya adalah kepada siapa harus melapor. security.txt adalah file teks kecil di alamat tetap, /.well-known/security.txt, yang menjawabnya: sebuah kontak, tanggal kedaluwarsa, dan opsional tautan ke kebijakan pengungkapan serta kunci publik Anda. RFC 9116 mendefinisikan formatnya, dan banyak pemindai, platform bug bounty, dan CERT nasional mencari file ini sebelum mencari di tempat lain.

      Bagi vendor perangkat lunak di Uni Eropa, file ini juga mendukung kewajiban menurut Cyber Resilience Act: Lampiran I mengharapkan adanya cara yang dipublikasikan bagi pihak luar untuk melaporkan kerentanan, serta proses untuk menanganinya. Peraturan tidak menyebut format ini, tetapi inilah cara yang lazim untuk mempublikasikan kontaknya. Panduan pelaporan untuk vendor kecil menguraikan sisa persiapannya, termasuk jam 24 jam.

      Field-field

      Contact dan Expires wajib ada. Contact boleh muncul beberapa kali dan harus berupa URI: mailto:, tel: atau https:. Expires muncul sekali, berupa tanggal dan waktu seperti 2027-12-31T23:59:59Z, dan RFC 9116 meminta jangkanya kurang dari setahun ke depan. Encryption, Acknowledgments, Policy, Hiring, dan Canonical adalah tautan opsional, dan setiap alamat web harus memakai https. Preferred-Languages muncul sekali dan berisi kode bahasa. Field yang tidak didefinisikan RFC diabaikan pembaca, sehingga pemeriksa menandainya sebagai peringatan: biasanya itu salah ketik.

      Tips

      • Gunakan kotak surat yang dibaca beberapa orang, bukan alamat satu orang, dan uji dengan mengirim pesan ke sana.
      • Tulis kebijakan pengungkapan kerentanan dan tautkan lewat field Policy.
      • Ketahui tenggat Anda sebelum laporan masuk: jam insiden 24 jam CRA mengubah waktu Anda mengetahui kejadian menjadi tenggat bertanggal.

      Pertanyaan umum

      Apakah Cyber Resilience Act mewajibkan security.txt?

      Tidak. Peraturan ini mengharapkan produsen memiliki kebijakan pengungkapan kerentanan yang terkoordinasi dan cara yang dipublikasikan untuk melaporkan kerentanan. File security.txt adalah cara umum untuk mempublikasikan kontak itu dan dianjurkan para praktisi, tetapi peraturan tidak menyebut formatnya. Lihat panduan untuk vendor kecil.

      Di mana tepatnya file ini diletakkan?

      Di https://your-domain/.well-known/security.txt, disajikan lewat HTTPS dengan content type text/plain; charset=utf-8. RFC 9116 juga membolehkan salinan di /security.txt untuk konfigurasi lama. Terbitkan di setiap domain atau subdomain yang ingin Anda cakup.

      Seberapa jauh ke depan sebaiknya Expires diatur?

      RFC 9116 menyebut tanggalnya sebaiknya kurang dari setahun ke depan, agar peneliti dapat percaya bahwa detail kontak selalu diperbarui. Pembuat ini memakai bawaan sedikit di bawah setahun. Setelah tanggal itu lewat, pembaca diminta mengabaikan file tersebut, jadi perbarui tepat waktu.

      Apakah file harus ditandatangani dengan PGP?

      Tidak, penandatanganan bersifat opsional tetapi dianjurkan. File yang ditandatangani adalah pesan cleartext-signed OpenPGP, dibuat dengan gpg --clearsign security.txt. Pemeriksa mengenali format bertanda tangan dan memeriksa kerangkanya, tetapi tidak dapat memverifikasi tanda tangannya; gunakan gpg --verify untuk itu.

      Mengapa pemeriksa tidak bisa mengambil situs saya?

      Demi menjaga privasi: halaman ini berjalan sepenuhnya di browser Anda dan tidak mengirim permintaan ke situs lain. Buka file Anda di tab browser, salin teksnya, lalu tempel di sini. Cara ini juga memeriksa apa yang benar-benar diterima pengunjung.

      Untuk apa field Canonical?

      Field ini mencantumkan alamat tempat file seharusnya disajikan, sehingga pembaca dapat memastikan bahwa file yang ditemukan di satu alamat memang berasal dari sana. Jika Anda mengisi alamat tempat file disajikan, pemeriksa menguji apakah salah satu baris Canonical cocok dengan alamat itu.