GNU/Linux >> Belajar Linux >  >> Linux

Pengantar firewall aplikasi web untuk sysadmin Linux

Firewall telah ada dalam satu atau lain bentuk sejak awal jaringan. Firewall pertama bahkan tidak diidentifikasi sebagai firewall; mereka tidak lebih dari penghalang fisik antar jaringan. Baru pada tahun 1980-an perangkat pertama yang dirancang khusus untuk (dan diberi nama) firewall dikembangkan oleh DEC. Sejak itu, firewall telah berkembang menjadi berbagai bentuk.

Tapi apa itu firewall? Pada intinya, firewall adalah perangkat yang dirancang untuk mengizinkan atau menolak lalu lintas berdasarkan seperangkat aturan. Aturan-aturan itu bisa sesederhana "izinkan HTTP dan blokir yang lainnya," atau aturan itu bisa jauh lebih kompleks, termasuk protokol, port, alamat, dan bahkan sidik jari aplikasi. Beberapa firewall modern bahkan telah memasukkan pembelajaran mesin ke dalam campuran.

Memperkenalkan WAF

Seperti halnya teknologi lainnya, seiring dengan berkembangnya firewall, beberapa penggunaan khusus telah diidentifikasi.

Web Application Firewalls (WAFs) adalah salah satu kegunaan khusus tersebut. WAF adalah firewall yang dirancang khusus untuk menangani lalu lintas "web"; yaitu, lalu lintas menggunakan protokol HTTP. Secara umum, peran WAF adalah untuk memeriksa semua lalu lintas HTTP yang ditujukan untuk server web, membuang permintaan "buruk", dan meneruskan lalu lintas "baik". Detail cara kerjanya, seperti yang mungkin Anda duga, sedikit lebih rumit.

Sama seperti firewall "normal", WAF diharapkan memblokir jenis lalu lintas tertentu. Untuk melakukan ini, Anda harus memberikan WAF daftar apa yang harus diblokir. Akibatnya, produk WAF awal sangat mirip dengan produk lain seperti software anti-virus, produk IDS/IPS, dan lainnya. Inilah yang dikenal sebagai deteksi berbasis tanda tangan. Tanda tangan biasanya mengidentifikasi karakteristik khusus dari paket HTTP yang ingin Anda izinkan atau tolak.

Contoh WAF

Misalnya, WAF sering digunakan untuk memblokir serangan injeksi SQL. Tanda tangan yang sangat sederhana mungkin hanya mencari elemen pengidentifikasi kunci dari serangan injeksi SQL yang khas. Misalnya, mungkin mencari sesuatu seperti ' AND 1=1 disertakan sebagai bagian dari permintaan GET atau POST. Jika ini cocok dengan paket yang masuk, WAF akan menandainya sebagai buruk dan membuangnya.

Tanda tangan bekerja cukup baik tetapi membutuhkan banyak perawatan untuk memastikan bahwa kesalahan positif dijaga seminimal mungkin. Selain itu, menulis tanda tangan seringkali lebih merupakan bentuk seni daripada tugas pemrograman langsung. Dan penulisan tanda tangan juga bisa sangat rumit. Anda sering mencoba mencocokkan pola serangan umum tanpa juga mencocokkan lalu lintas yang sah. Terus terang, ini bisa sangat menegangkan.

Ke dalam gulma WAF

Untuk lebih menggambarkan hal ini, mari kita lihat ModSecurity. Proyek ModSecurity adalah proyek WAF open source yang dimulai sebagai modul untuk server web Apache tetapi sejak itu berkembang menjadi paket modular yang berfungsi dengan IIS, Nginx, dan lainnya. ModSecurity adalah WAF berbasis tanda tangan dan sering kali dikirimkan dengan kumpulan tanda tangan default yang dikenal sebagai Kumpulan Aturan Inti ModSecurity OWASP.

Core Rule Set (CRS) adalah titik awal yang sangat baik untuk menerapkan WAF berbasis tanda tangan. Ini mencakup tanda tangan untuk semua risiko keamanan aplikasi web Sepuluh Teratas OWASP serta berbagai macam serangan lainnya. Pengembang telah melakukan yang terbaik untuk memastikan bahwa CRS memiliki sedikit peringatan palsu, tetapi, mau tidak mau, siapa pun yang menggunakan CRS perlu mengubah aturan. Ini melibatkan mempelajari bahasa aturan dan memiliki pemahaman mendalam tentang protokol HTTP.

Teknologi berkembang, bagaimanapun, dan penyedia WAF yang lebih baru menggunakan pendekatan lain untuk memblokir lalu lintas yang buruk. Ada perpindahan yang cukup luas dari pendekatan konfigurasi statis seperti izinkan dan daftar blokir ke metode yang lebih dinamis yang melibatkan API dan pembelajaran mesin. Langkah ini telah dilakukan di berbagai teknologi, termasuk firewall tradisional, perangkat lunak anti-virus, dan, Anda dapat menebaknya, WAF.

[ Jaringan lepas kendali? Lihat Otomatisasi jaringan untuk semua orang, buku gratis dari Red Hat. ]

WAF bisa belajar

Di dunia baru yang berani dari kumpulan aturan dinamis, WAF menggunakan pendekatan yang lebih cerdas untuk mengidentifikasi lalu lintas yang baik dan buruk. Salah satu metode "lebih mudah" yang digunakan adalah dengan menempatkan WAF dalam mode "belajar" sehingga dapat memantau lalu lintas yang mengalir ke dan dari server web yang dilindungi. Tujuannya di sini adalah untuk "melatih" WAF untuk mengidentifikasi seperti apa lalu lintas yang baik. Ini mungkin termasuk lalu lintas yang cocok dengan pola yang diberi label buruk saat tanda tangan digunakan. Setelah WAF dilatih, WAF dipindahkan ke mode penegakan.

Pelatihan WAF seperti ini mirip dengan apa yang terjadi ketika Anda melatih sistem email untuk mengidentifikasi spam. Sistem email sering kali menggunakan algoritma pemfilteran Bayesian untuk mengidentifikasi spam. Algoritma ini bekerja relatif baik tetapi dapat diracuni untuk memungkinkan spam. Masalah serupa muncul dengan algoritme yang digunakan oleh penyedia WAF, terutama saat WAF dalam mode pembelajaran.

Penyedia WAF yang lebih maju menggunakan teknik kepemilikan untuk mengizinkan dan memblokir lalu lintas. Teknik-teknik ini termasuk algoritma yang dapat mengidentifikasi apakah serangan tertentu akan bekerja terhadap sistem target dan hanya memblokir yang akan berbahaya. Namun, teknik lanjutan seperti ini biasanya hanya ditemukan di penyedia SaaS WAF dan tidak di peralatan WAF mandiri.

[ Apakah Anda membutuhkan lebih banyak keamanan jaringan? VLAN untuk sysadmin:Dasar-dasar ]

Menutup

WAF, dan firewall secara umum, telah banyak berkembang selama bertahun-tahun, berpindah dari metode statis ke dinamis untuk mengidentifikasi dan memblokir lalu lintas. Teknik-teknik ini hanya akan menjadi lebih baik di masa depan. Ada berbagai solusi yang tersedia dari sumber terbuka hingga penyedia komersial. Apa pun kebutuhan Anda, ada WAF di luar sana untuk Anda.


Linux
  1. Perintah Linux favorit saya untuk mengoptimalkan gambar web

  2. Demystifying Memungkinkan untuk sysadmin Linux

  3. 5 tips rsync tingkat lanjut untuk sysadmin Linux

  1. 10 Browser Web Ringan Open Source untuk Linux

  2. 80 Alat Pemantauan Linux untuk SysAdmins

  3. 30 Latihan Proses Linux Untuk Sysadmin

  1. Linux – Aplikasi Mana yang Digunakan Untuk Kalender?

  2. ForeverNote – Klien Web Evernote untuk Linux

  3. Membatasi akses syscall untuk aplikasi Linux