Oleh karena itu, selain WAF, kami menggunakan ELK . Ini membantu mengumpulkan semua peristiwa di satu tempat, mengakumulasi statistik, memvisualisasikannya, dan memungkinkan kita untuk melihat serangan yang ditargetkan tepat waktu.
Hari ini saya akan memberi tahu Anda secara lebih rinci bagaimana kita menyilangkan "pohon Natal" dengan WAF dan apa hasilnya.
Kisah satu serangan: bagaimana semuanya bekerja sebelum beralih ke ELK
Di cloud kami, pelanggan telah menerapkan aplikasi di belakang WAF kami. Dari 10.000 hingga 100.000 pengguna terhubung ke situs per hari, jumlah koneksi mencapai 20 juta per hari. 3-5 di antaranya adalah penjahat dunia maya dan mencoba meretas situs tersebut.FortiWeb memblokir formulir brute force biasa dari satu alamat IP dengan cukup mudah. Jumlah kunjungan ke situs per menit lebih tinggi daripada pengguna yang sah. Kami hanya mengatur ambang aktivitas dari satu alamat dan menangkis serangan.
Jauh lebih sulit untuk menangani "serangan lambat" ketika penyerang bertindak lambat dan menyamar sebagai klien biasa. Mereka menggunakan banyak alamat IP unik. Aktivitas seperti itu tidak terlihat seperti kekerasan besar-besaran untuk WAF, lebih sulit untuk melacaknya secara otomatis. Dan ada juga risiko memblokir pengguna normal. Kami mencari tanda-tanda serangan lainnya dan menyiapkan kebijakan untuk memblokir alamat IP secara otomatis berdasarkan atribut ini. Misalnya, banyak sesi tidak sah memiliki kolom yang sama di header permintaan http. Saya sering harus secara manual mencari bidang tersebut di log peristiwa FortiWeb.
Ternyata lama dan tidak nyaman. Dalam fungsionalitas FortiWeb standar, peristiwa dicatat dalam teks dalam 3 log berbeda: serangan yang terdeteksi, informasi tentang permintaan, dan pesan sistem tentang operasi WAF. Puluhan atau bahkan ratusan peristiwa penyerangan bisa datang dalam satu menit.
Tidak terlalu banyak, tetapi Anda harus merayapi beberapa log secara manual dan melakukan iterasi pada banyak baris:
Di log serangan, kita melihat alamat pengguna dan sifat aktivitas.
Tidaklah cukup hanya dengan memindai tabel log. Untuk menemukan informasi yang paling menarik dan berguna tentang sifat serangan, Anda perlu melihat ke dalam peristiwa tertentu:
Bidang yang disorot membantu mendeteksi "serangan lambat". Sumber: tangkapan layar dari situs web Fortinet .
Nah, masalah terpenting adalah hanya spesialis FortiWeb yang bisa mengetahuinya. Jika selama jam kerja kami masih bisa memantau aktivitas mencurigakan secara real time, maka investigasi insiden malam hari bisa saja tertunda. Ketika kebijakan FortiWeb karena suatu alasan tidak berhasil, teknisi shift malam yang bertugas tidak dapat menilai situasi tanpa akses ke WAF dan membangunkan spesialis FortiWeb. Kami memeriksa log selama beberapa jam dan menemukan momen penyerangan.
Dengan volume informasi yang demikian, sulit untuk memahami gambaran besarnya secara sekilas dan bertindak secara proaktif. Kemudian kami memutuskan untuk mengumpulkan data di satu tempat untuk menganalisis semuanya dalam bentuk visual, menemukan awal serangan, mengidentifikasi arah dan metode pemblokirannya.
Apa yang kamu pilih
Pertama-tama, kami melihat solusi yang sudah digunakan, agar tidak menggandakan entitas yang tidak perlu.
Salah satu opsi pertama adalah Nagios , yang kami gunakan untuk memantau infrastruktur teknik , infrastruktur jaringan , dan peringatan tentang situasi darurat. Petugas keamanan juga menggunakannya untuk memberi tahu petugas jika terjadi lalu lintas yang mencurigakan, tetapi tidak tahu cara mengumpulkan kayu yang berserakan dan karena itu menghilang.
Ada opsi untuk menggabungkan semuanya menggunakan MySQL dan PostgreSQL atau database relasional lainnya. Tetapi untuk menarik data, Anda harus memahat aplikasi Anda.
Perusahaan kami juga menggunakan FortiAnalyzer sebagai pengumpul log .dari Fortinet. Namun dalam hal ini, dia juga tidak cocok. Pertama, ini lebih disesuaikan untuk bekerja dengan firewall FortiGate . Kedua, banyak pengaturan yang kurang, dan interaksi dengannya membutuhkan pengetahuan yang sangat baik tentang kueri SQL. Dan ketiga, penggunaannya akan meningkatkan biaya layanan bagi pelanggan.
Begitulah cara kami menjadi open source dalam pribadi ELK .
Mengapa memilih ELK
ELK adalah paket perangkat lunak sumber terbuka:
- Elasticsearch adalah database deret waktu yang baru saja dibuat untuk bekerja dengan teks dalam jumlah besar;
- Logstash adalah mesin pengumpul data yang dapat mengubah log ke format yang diinginkan;
- Kibana adalah visualisator yang bagus serta antarmuka yang cukup ramah untuk mengelola Elasticsearch. Anda dapat menggunakannya untuk membuat grafik yang dapat disaksikan oleh para teknisi yang bertugas di malam hari.
Ambang masuk ELK tidak tinggi. Semua fitur dasar gratis. Apa lagi yang dibutuhkan untuk kebahagiaan.
Bagaimana Anda memasukkan semuanya ke dalam satu sistem?
Kami membentuk indeks dan hanya menyisakan informasi yang diperlukan . Kami memuat ketiga majalah FortiWEB ke ELK - hasilnya adalah indeks. Ini adalah file dengan semua log yang dikumpulkan untuk suatu periode, misalnya, sehari. Jika kami segera memvisualisasikannya, kami hanya akan melihat dinamika serangan. Untuk detailnya, Anda perlu "jatuh" ke dalam setiap serangan dan melihat bidang tertentu.
Kami menyadari bahwa pertama-tama kami perlu menyiapkan penguraian informasi yang tidak terstruktur. Kami mengambil string panjang seperti "Pesan" dan "URL" dan menguraikannya untuk mendapatkan lebih banyak informasi untuk pengambilan keputusan.
, . - . , 2 .
Setelah mengurai, mereka mulai mencari informasi apa yang harus disimpan dan divisualisasikan. Tidak disarankan untuk meninggalkan semuanya di jurnal: ukuran satu indeks besar - 7 GB. ELK membutuhkan waktu lama untuk memproses file tersebut. Meskipun demikian, tidak semua informasi bermanfaat. Sesuatu diduplikasi dan membutuhkan ruang ekstra - itu perlu dioptimalkan.
Awalnya, kami hanya melihat indeks dan menghapus acara yang tidak dibutuhkan. Ternyata lebih merepotkan dan lebih lama daripada bekerja dengan majalah di FortiWeb itu sendiri. Satu-satunya nilai tambah dari "pohon Natal" pada tahap ini adalah kami dapat memvisualisasikan periode waktu yang besar dalam satu layar.
Kami tidak putus asa, kami terus
Saat serangan itu direkam . Sekarang penting untuk memahami bagaimana permulaan serangan terlihat pada grafik. Untuk menemukannya, kami melihat respons server terhadap pengguna (kode pengembalian). Kami tertarik dengan respons server dengan kode berikut (rc):
| Kode (rc)
|
Nama
|
Deskripsi
|
| 0
|
PENURUNAN
|
Permintaan server sedang diblokir
|
| 200
|
Baik
|
Permintaan berhasil diproses
|
| 400
|
Permintaan yang buruk
|
Permintaan yang buruk
|
| 403
|
Terlarang
|
Otorisasi ditolak
|
| 500
|
Kesalahan server dari dalam
|
Layanan tidak tersedia
|
Jika seseorang mulai menyerang situs, rasio kode berubah:
- 400 , 200 , - .
- 0 , FortiWeb ยซยป .
- 500, IP- โ .
Pada bulan ketiga, kami menyiapkan dasbor untuk melacak aktivitas ini.
Agar tidak memantau semuanya secara manual, kami menyiapkan integrasi dengan Nagios, yang melakukan polling ELK secara berkala. Jika mencatat pencapaian nilai ambang batas berdasarkan kode, pihaknya mengirimkan notifikasi kepada petugas jaga tentang aktivitas yang mencurigakan.
Menggabungkan 4 grafik dalam sistem pemantauan . Sekarang penting untuk melihat pada grafik saat serangan tidak diblokir dan intervensi dari insinyur diperlukan. Pada 4 grafik berbeda, mata kami kabur. Oleh karena itu, kami menggabungkan grafik dan mulai mengamati semuanya di satu layar.
Selama pemantauan, kami mengamati bagaimana grafik berbagai warna berubah. Percikan merah menunjukkan bahwa serangan telah dimulai, sedangkan grafik oranye dan biru menunjukkan reaksi FortiWeb:
Semuanya baik-baik saja di sini: ada ledakan aktivitas "merah", tetapi FortiWeb mengatasinya dan jadwal serangan menjadi sia-sia.
Kami juga menggambar contoh grafik untuk diri kami sendiri yang memerlukan intervensi:
Di sini kami melihat bahwa FortiWeb meningkatkan aktivitas, tetapi grafik serangan merah tidak menurun. Anda perlu mengubah pengaturan WAF.
Menyelidiki insiden malam hari juga menjadi lebih mudah. Grafik segera menunjukkan momen saat tiba waktunya untuk membela situs.
Inilah yang terkadang terjadi pada malam hari. Grafik merah - serangan telah dimulai. Biru - Aktivitas FortiWeb. Serangan itu tidak sepenuhnya diblokir, jadi kami harus turun tangan.
Kemana kita akan pergi
Sekarang kami melatih administrator tugas untuk bekerja dengan ELK. Petugas belajar untuk menilai situasi di dasbor dan membuat keputusan: inilah saatnya untuk melaporkan ke spesialis FortiWeb, atau akan ada cukup kebijakan WAF untuk secara otomatis mengusir serangan. Dengan cara ini kami mengurangi beban kerja pada teknisi keamanan informasi di malam hari dan membagi peran dalam dukungan di tingkat sistem. Akses ke FortiWeb tetap hanya di pusat pertahanan dunia maya, dan hanya mereka yang membuat perubahan pada pengaturan WAF jika diperlukan.
Kami juga sedang mengerjakan pelaporan untuk pelanggan. Kami berencana bahwa data tentang dinamika pekerjaan WAF akan tersedia di akun pribadi klien. ELK akan membuat situasi lebih transparan tanpa harus pergi ke WAF sendiri.
Jika pelanggan ingin memantau perlindungan mereka sendiri secara real time, ELK juga akan berguna. Kami tidak dapat memberikan akses ke WAF, karena intervensi pelanggan dalam pekerjaan dapat mempengaruhi orang lain. Tapi Anda bisa menaikkan ELK terpisah dan memberikannya untuk "bermain".
Ini adalah skenario untuk menggunakan "pohon Natal" yang telah kami kumpulkan baru-baru ini. Bagikan ide Anda tentang ini dan jangan lupa untuk mengkonfigurasi semuanya dengan benar untuk menghindari kebocoran dari database.