Kebijakan keamanan

Security.

Ruby on Rails sangat memperhatikan keamanan web. Ini berarti termasuk fitur untuk melindungi aplikasi dari masalah umum seperti CSRF, Script Injection, SQL Injection, dan sejenisnya. Itu berarti Rails memiliki kebijakan yang jelas tentang cara melaporkan kerentanan dan menerima pembaruan ketika patching (tambalan) untuk dirilis.

Versi yang didukung

Untuk masalah keamanan utama (major), semua rilis dalam seri utama saat ini, dan rilis terakhir dalam seri utama tambahan akan menerima patching (tambalan) dan versi baru. Saat ini 5.2.x, 5.1.x, 5.0.x dan 4.2.x.

Untuk masalah keamanan kecil (minor), seri rilis saat ini dan yang terbaru berikutnya akan menerima patching (tambalan) dan versi baru. Saat ini 5.2.x, 5.1.x.

Ketika seri rilis tidak lagi didukung, Anda sendiri yang bertanggung jawab untuk menangani bug dan masalah keamanan. Kami mungkin menyediakan backport perbaikan dan mempublikasikannya ke git, namun tidak ada versi baru yang dirilis. Jika Anda merasa tidak nyaman untuk mempertahankan versi Anda sendiri, Anda harus meningkatkan ke versi yang didukung.

Klasifikasi masalah keamanan ditentukan oleh Tim inti Rails.

Melaporkan kerentanan

Semua bug keamanan di Rails harus dilaporkan melalui halaman program bounty di HackerOne. Ini akan mengirimkan pesan ke subset dari tim inti yang menangani masalah keamanan. Laporan Anda akan diakui dalam 24 jam, dan Anda akan menerima respons yang lebih rinci ke email Anda dalam waktu 48 jam yang mengindikasikan langkah selanjutnya dalam menangani laporan Anda.

Setelah balasan pertama untuk laporan Anda, tim keamanan akan berusaha untuk memberi Anda informasi tentang progres kemajuan yang untuk diperbaiki dan pengumuman lengkap. Pembaruan ini akan dikirim setidaknya setiap lima hari, walaupun pada kenyataannya ini lebih cenderung setiap 24-48 jam.

Jika Anda belum menerima balasan email Anda dalam waktu 48 jam, atau belum mendapatkan berita dari tim keamanan selama lima hari terakhir ada beberapa langkah yang dapat Anda ambil:

  1. Kirim email ke daftar laporan (security@rubyonrails.org).
  2. Hubungi koordinator keamanan saat ini (Rafael Fran├ža) secara langsung.
  3. Hubungi kontak cadangan (Jeremy Daer) secara langsung.
  4. Email ke rails core list atau tanyakan di #rails-contrib di irc.freenode.net.

Harap dicatat, rails core list dan #rails-contrib adalah area publik. Saat masuk ke alamat tersebut, tolong jangan membahas masalah Anda, cukup katakan bahwa Anda mencoba menghubungi seseorang dari tim keamanan.

Proses pengungkapan

  1. Laporan keamanan diterima dan ditugaskan sebagai penangan utama. Orang ini akan mengoordinasikan proses perbaikan dan rilis. Masalah dikonfirmasi dan daftar semua versi yang terpengaruh ditentukan. Kode diaudit untuk menemukan potensi masalah yang serupa.
  2. Perbaikan disiapkan untuk semua rilis yang masih didukung. Perbaikan ini tidak dilakukan pada repositori publik melainkan diadakan secara lokal sambil menunggu pengumuman.
  3. Tanggal embargo yang disarankan untuk kerentanan ini dipilih dan distros@openwall diberitahukan. Pemberitahuan ini akan mencakup tambalan untuk semua versi yang masih di bawah dukungan dan alamat kontak untuk pemaket yang membutuhkan saran untuk membuat cadangan tambalan ke versi yang lebih lama.
  4. Pada tanggal embargo, mailing keamanan rails dikirimi salinan pengumuman. Perubahan di push ke repositori publik dan gem baru dirilis ke rubygems. Setidaknya 6 jam setelah mailing list diberitahukan, salinan dari penasehat akan dipublikasikan di Weblog Rails.

Biasanya tanggal embargo akan ditetapkan 72 jam sejak distros@openwall pertama kali diberitahukan, namun ini dapat bervariasi tergantung pada tingkat keparahan bug atau kesulitan dalam menerapkan perbaikan.

Proses ini dapat memakan waktu, terutama ketika koordinasi diperlukan dengan pengelola proyek lain. Setiap upaya akan dilakukan untuk menangani bug secepat mungkin, namun penting bagi kami untuk mengikuti proses rilis di atas untuk memastikan bahwa pengungkapannya ditangani secara konsisten.

Menerima pengungkapan

Cara terbaik untuk menerima semua pengumuman keamanan adalah berlangganan mailing list Keamanan Rails. Traffic di mailing list sangat kecil, dan menerima pemberitahuan publik saat embargo dicabut. Jika Anda membuat paket Ruby on Rails dan meminta pemberitahuan kerentanan sebelumnya, Anda harus berlangganan distros@openwall.

Tidak ada orang di luar tim inti, reporter awal atau distros@openwall akan diberitahu sebelum pencabutan embargo. Kami menyesal bahwa kami tidak dapat membuat pengecualian terhadap kebijakan ini untuk lalu lintas tinggi atau situs penting, karena pengungkapan apa pun di luar batas minimum yang diperlukan untuk mengoordinasikan perbaikan dapat menyebabkan kebocoran awal kerentanan.

Jika Anda memiliki saran untuk meningkatkan kebijakan ini, silakan kirim email ke security@rubyonrails.org.

← Kembali ke Beranda