Setiap layanan yang terekspos mendapat nasihat yang sama: pasang fail2ban di atasnya. Untuk gateway VPN, nasihat itu tidak salah dan tidak cukup, dan memperlakukannya sebagai centang pengerasan adalah cara orang berakhir dengan penjara (jail) yang tidak memblokir apa pun yang berguna. Fail2ban membaca catatan kegagalan yang Anda tunjuk dan meminta backend penegakan untuk memblokir sumber yang cocok. Seluruh nilainya bergantung pada permukaan autentikasi mana yang menghasilkan catatan itu, apakah alamat di dalamnya adalah klien sebenarnya, dan apa yang terjadi pada semua orang lain di balik alamat tersebut.

Apa itu fail2ban secara mekanis

Filter mencocokkan baris di log, penjara menghitung kecocokan per sumber, dan aksi menerapkan blokir melalui backend firewall. Tiga bagian bergerak, dan masing-masing bisa salah secara mandiri.

Tidak satu pun dari ketiganya menyentuh jalur autentikasi: fail2ban bereaksi terhadap bukti setelah kejadian dan tidak pernah memvalidasi kredensial sendiri. Karena itu penjara bisa berjalan bersih sementara permukaan yang disebutnya tetap terekspos persis seperti sebelumnya.

Listener tunnel bukan formulir login

Listener OpenVPN yang dilindungi tls-auth atau tls-crypt membuang paket tanpa perlindungan kanal kontrol sebelum pemrosesan TLS biasa dimulai. Pemindai yang tidak pernah punya kunci tidak menghasilkan apa pun yang bisa dihitung filter Anda. Autentikasi sertifikat menambah gerbang lain, karena tidak ada kata sandi untuk ditebak. Proyek Fail2ban mendokumentasikan model umum yang digerakkan log, dan filter VPN generik tidak mengubah paket yang tidak terautentikasi menjadi peristiwa kegagalan yang bermakna.

Jika gateway hanya menerima sertifikat, kisah brute-force yang Anda pertahankan mungkin tidak ada sama sekali di port itu.

Jadi permukaan mana yang Anda lindungi?

Host yang sama sering mengekspos tiga hal berbeda: listener tunnel, portal profil klien atau swalayan, dan halaman administrasi. Portal dan halaman admin punya formulir kata sandi dan menghasilkan baris log yang bisa dihitung filter. Tunnel mungkin hanya menghasilkan kesalahan jabat tangan yang berarti sesuatu yang sama sekali lain. Cocokkan penjara dengan permukaan, bukan dengan nama produk.

Satu penjara yang mengawasi log yang salah lebih buruk daripada tidak ada, karena menciptakan keyakinan tanpa cakupan. Arahkan filter login ke kesalahan jabat tangan tunnel dan penghitung akan menyala pada pemindai yang tidak pernah punya kunci, sementara serangan kata sandi terhadap portal tidak dihitung. Baca baris log yang dicocokkan filter sebelum Anda memercayai angka penjara.

Atribusi sumber adalah mata rantai yang lemah

Blokir hanya sebaik alamat yang dibidiknya. Ketika layanan berada di belakang proxy terbalik lokal, alamat klien di log mungkin adalah proxy, dan memblokirnya menghapus semua orang. Memercayai header yang diteruskan dari sumber tidak tepercaya memberi penyerang kemampuan memblokir alamat sembarangan. Pada UDP, alamat sumber dapat dipalsukan, jadi menghitungnya butuh lebih banyak kehati-hatian daripada menghitung login TCP yang selesai.

Catat metode atribusi sumber di README penjara, karena header yang diteruskan dari hop tidak tepercaya mengubah blokir menjadi senjata.

Biaya sampingannya adalah orang lain

Beberapa karyawan di balik satu NAT kantor berbagi alamat, sehingga satu kata sandi tersimpan yang sudah usang dapat mengunci seluruh kantor begitu ambang terlampaui. Log menunjukkan satu sumber dan satu akun yang gagal, bukan gangguan seluruh kantor.

Blokir singkat dan ambang moderat mengurangi itu, dan jalur pembatalan blokir yang terdokumentasi mengurangi beban dukungan ketika hal itu tetap terjadi. Alamatnya adalah sinyal kasar, bukan identitas, dan orang yang membuka tiket akan menjelaskan gangguannya, bukan ambangnya.

Kapan mengadopsinya, dan kapan memperbaiki hal lain

Adopsi ketika ada kegagalan login daring yang nyata, dapat diatribusikan, dan berulang pada permukaan yang Anda kendalikan, dan ketika backend penegakan benar-benar mencakup permukaan itu. Perbaiki hal lain ketika masalahnya adalah kebijakan kredensial yang lemah, halaman manajemen yang terekspos ke internet, atau akun yang berhasil login karena telah dikompromikan. Blokir tidak dapat memperbaiki satu pun dari itu, dan tidak dapat menyerap lalu lintas yang sudah memenuhi uplink Anda. Masalah terakhir itu milik hulu, milik seseorang yang dapat memfilter sebelum paket mencapai Anda.

Pertahankan setiap penjara terikat pada satu permukaan, tinjau positif palsu, dan ukur pekerjaan autentikasi yang dihindari alih-alih jumlah alamat yang diblokir.

Artikel terkait