Kebijakan keamanan Django

Tim pengembangan Django memiliki komitmen yang kuat untuk bertanggungjawab melaporkan dan menyingkap terbitan keamanan terkait. Dengan demikian, kami telah memungut dan mengikuti sekumpulan kebijakan yang menyesuaikan ke yang sesuai dan diarahkan kedepan mengizinkan kami untuk mengirim pembaharuan keamanan tepat waktu ke penyaluran resmi Django, sama halnya ke penyaluran pihak ketiga.

Melaporkan masalah keamanan

Versi pendek: seilahkan laporkan masalah keamanan dengan menyurel security@djangoproject.com.

Kebanyakan kesalahan biasa di Django dilaporkan ke our public Trac instance, tetapi karena sifat sensitif dari masalah keamanan, kami menanyakan bahwa mereka tidak dilaporkan ke umum dalam cara ini.

Malahan, jika anda percaya anda telah menemukan sesuatu di Django yang mempunyai pengaruh keamanan, harap kirim gambaran dari masalah melalui surel ke security@djangoproject.com. Surat terkirim ke alamat itu menggapai subset of the core team, yang dapat meneruskan masalah keamanan kedalam daftar penyuratan tim pribadi untuk obrolan lebih luas jika dibutuhkan.

Sekali anda telah mengajukan sebuah masalah via surel, anda harusnya menerima sebuah pengakuan dari anggota tim keamanan dalam 48 jam, dan tergantung pada tindakan untuk diambil, anda mungkin menerima surel tindak lanjut lebih jauh.

Mengirim laporan dienkripsi

Jika anda ingin mengirim sebuah surel terenkripsi (pilihan), ID kunci umum untuk security@djangoproject.com adalah 0xfcb84b8d1d17f80b, dan kunci umum ini tersedia dari kebanyakan peladen kunci umum digunakan.

Versi didukung

Pada waktu tertentu, tim Django menyediakan dukungan keamanan resmi untuk beberapa versi dari Django:

  • master development branch, disimpan pada GitHub, yang akan menjadi terbitan utama selanjutnya dari Django, menerima dukungan keamanan. Masalah keamanan yang hanya mempengaruhi cabang pengembangan master dan tidak setiap versi terbitan stabil diperbaiki di umum tanpa melewati disclosure process.

  • Dua paling terakhir rangkaian terbitan Django menerima dukungan keamanan. Sebagai contoh, selama siklus pengembangan membawa ke terbitan Django 1.5, dukungan akan disediakan untuk Django 1.4 dan Django 1.3. Atas terbitan Django 1.5, dukungan keamanan Django 1.3 akan berakhir.

  • Long-term support release akan menerima pembaharuan keamanan untuk masa ditentukan.

Ketika terbitan baru dikeluarkan untuk alasan keamanan, pemberitahuan yang mendampingi akan menyertakan daftar dari versi terpengaruh. Daftar ini terdiri hanya versi didukung Django: versi terlama mungkin juga terpengaruh, tetapi kami tidak menyelidiki untuk menentukan itu, dan tidak mengeluarkan tambalan atau terbitan baru untuk versi itu.

Bagaimana Django menyingkap masalah keamanan

SemVer membuatnya mudah untuk melihat sekilas bagaimana terbitan sesuai dengan satu sama lain. Itu juga membantu mengantisipasi ketika kesesuaian shim akan dipindahkan. Itu tidak murni bentuk dari SemVer dimana setiap terbitan fitur akan berlanjut untuk memiliki sedikit ketidaksesuaian kebelakang terdokumentasi dimana jalur pengusangan tidak mungkin atau tidak sebanding dengan biaya. Juga, pengusangan dimulai dalam terbitan LTS (X.2) akan dijatuhkan di terbitan non-dot-zero (Y.1) untuk mengakomodasi kebijakan kami dari menjaga pengusangan shim untuk setidaknya dua terbitan fitur. Baca di bagian selanjutnya untuk contoh.

Lebih kurang satu minggu sebelum penutupan umum, kami mengirim dua pemberitahuan:

Pertama, kami memberitahu django-announce dari tanggal dan lebih kurang waktu dari terbitan keamanan akan datang, sama halnya sukarnya masalah. Ini untuk membantu organisasi yang butuh memastikan mereka mempunyai staf tersedia untuk menangani mendahulukan pengumuman kami dan meingkatkan Django sesuai kebutuhan. Tingkat kesukaran adalah:

Tinggi:

  • Penjalanan kdoe terpencil

  • Suntikan SQL

Sedang:

  • Cross site scripting (XSS)
  • Cross site request forgery (CSRF)
  • Otentifikasi rusak

Rendah:

  • Pembongkaran data sensitif

  • Pengelolaan sesi rusak

  • Tidak sah pengalihan/penerusan

  • Masalah-masalah membutuhkan pilihan konfigurasi tidak umum

Kedua, kami memberitahu sebuah daftar dari people and organizations, utamanya disusun dari penjaja sistem-operasi dan penyalur lain dari Django. Surel ini ditandatangi dengan kunci PGP dari seseorang dari Django’s release team dan terdiri dari:

  • Gambaran lengkap dari masalah dan versi terpengaruh dari Django.

  • Langkah-langkah yang akan kami ambil untuk memperbaiki masalah.

  • Tambalan, jika ada, yang akan diterapkan ke Django.

  • Tanggal dimana tim Django akan memberlakukan tambalan ini, masalah terbitan baru dan menyingkap secara terbuka masalah.

Pada hari penyingkapan, kami akan mengambil langkah-langkah berikut:

  1. Berlakukan tambalan sesuai pada kode dasar Django

  2. Masalah terbitan bersangkut paut, dengan menempatkan paket baru pada the Python Package Index dan pada situs jaringan Django, dan menandai terbitan baru di gudang git Django.

  3. Tempatkan sebuah masukan umum pada the official Django development blog, menggambarkan masalah dan pemecahan secara rinci, menunjuk pada tambalan terkait dan terbitan baru, dan mempercayakan melaporkan masalah (jika pelapor berharap untuk dikenali di depan umum).

  4. Tempatkan sebuah pemberitahuan ke django-announce dan daftar penyuratan oss-security@lists.openwall.com yang menaut ke tempatan blog.

Jika masalah yang dilaporkan dipercaya menjadi khususnya sesitif waktu – disebabkan oleh pemanfaatan di alam liar, sebagai contoh – waktu diantara pemberitahuan lanjutan dan penyingkapan umum mungkin dianggap mempersingkat.

Tambahannya, jika kami mempunyai alasan untuk dipercaya bahwa sebuah masalah dilaporkan ke kami mempengaruhi kerangka kerja lain atau alat-alat di ekosistem Python/jaringan, kami mungkin secara pribadi menghubungi dan mengobrol masalah itu dengan perawat yang sesuai, dan mengkoordinasikan penyingkapan kami sendiri dan pemecahan dengan mereka.

Tim Django juga merawat archive of security issues disclosed in Django.

Siapa menerima pemberitahuan lanjut

Daftar penuh dari orang dan organisasi yang menerima pemberitahuan lanjutan dari masalah keamanan adalah tidak dan tidak akan dibuat umum.

Kami juga bertujuan untuk menjaga daftar ini sekecil efektif mungkin, agar pengelolaan lebih baik aliran dari informasi rahasia sebelum penyingkapan. Dengan demikian, daftar pemberitahuan kami tidak cukup daftar pengguna Django, dan hanya menjadi pengguna Django bukan alasan cukup ditempatkan pada daftar pemberitahuan.

Dalam istilah luas, penerima dari pemberitahuan keamanan jatih kedalam tiga kelompok:

  1. Penjaja sistem-operasi dan penyalur lainnya Django yang menyediakan umum-pantas (yaitu, bukan alamat surel pribadi sendiri) alamat kontak untuk melaporkan masalah dengan paket Django mereka, atau untuk pelaporan keamanan umum. Dalam kasus lain, seperti alamat harus tidak meneruskan ke daftar penyuratan umum atau pelacak kesalahan. Alamat yang meneruskan ke surel pribadi dari sebuah perawat sendiri atau kontak tanggapan-keamanan dapat diterima, meskipun pelacak keamanan pribadi atau kelompok tanggapan-keamanan sangat kuat dipilih.

  2. Pada dasar kasus-per-kasus, perawat paket perorangan yang telah menunjukkan tanggung jawab pada menanggapi dan bertanggungjawab bertindak pada pemberitahuan ini.

  3. Pada berdasarkan kasus-per-kasus, di penilaian tim pengembangan Django, butuh dibuat waspada dari masalah keamanan tertunda. Khususnya, keanggotaan di kelompok ini akan terdiri dari beberapa terbesar dan/atau kebanyakan terkenda dampaknya pengguna diketahui atau penyalur Django, dan akan membutuhkan kemampuan pertunjukan untuk menerima tanggung jawab, tetap percaya diri dan bertindak pada pemberitahuan ini.

Meminta pemberitahuan

Jika anda percaya bahwa anda, atau organisasi anda berwenang untuk mewakili, jatuh kedalam satu dari kelompok terdaftar diatas, anda dapat meminta ditambahkan ke daftar pemberitahuan Django dengan mensurelkan security@djangoproject.com. Silahkan gunakan subjek baris “Security notification request”.

Permintaan anda harus menyertakan informasi berikut:

  • Nama panjang anda, nama asli dan nama organisasi anda wakili, jika berlaku, sama halnya peran anda dalam organisasi itu.

  • Penjelasan rinci dari bagaimana anda atau organisasi anda cocok setidaknya satu kumpulan dari kriteria terdaftar diatas.

  • Penjelasan rinci dari mengapa anda sedang meminta pemberitahuan keamanan. Kembali, harap mengingat bahwa ini bukan daftar sederhana dari Django, dan kebanyakan pengguna harus berlangganan pada django-announce untuk menerima pemberitahuan lebih lanjut ketika terbitan keamanan akan terjadi, tanpa rincian dari masalah, daripada rincian pemberitahuan.

  • Alamat surel anda ingin miliki ditambahkan ke daftar pemberitahuan kami.

  • Sebuah penjelasan dari siapa yang akan menerima/meninjau surat terkirim ke alamat itu, sama halnya informasi mengenai tindakan otomatis yang akan diambil (yaitu, mengisi masalah rahasia di pelacak kesalahan).

  • Untuk perorangan, ID dari kunci umum terhubung dengan alamat anda yang dapat digunakan untuk memeriksa surel diterima dari anda dan surel enkripsi dikirim ke anda, seperti kebutuhan.

Sekali diajukan, permintaan anda akan dianggap oleh tim pengembang Django; anda akan menerima balasan memberitahu anda dari hasil dari permintaan anda dalam 30 hari.

Silahkan juga ingat bahwa untuk setiap perseorangan atau oranisasi, menerima pemberitahuan keamanan adalah hak yang diberikan pada kebijakan dari tim pengembangan Django, dan bahwa hak ini dapat diambil kapanpun, dengan atau tanpa penjelasan.

Back to Top