Secara umum, keamanan adalah hal bawang, seperti yang telah disebutkan. Ada alasan mengapa firewall ada, dan bukan hanya lemming lainnya yang bodoh.
Jawaban ini datang, karena mencari 'fail2ban' di halaman ini tidak memberi saya hasil apa pun. Jadi, jika saya menggandakan konten lain, ikutilah. Dan permisi, jika saya sedikit mengoceh, saya memberikan pengalaman sederhana karena ini mungkin berguna bagi orang lain. :)
Pertimbangan jaringan, lokal vs. eksternal
Ini agak spesifik untuk Linux dan berkonsentrasi pada firewall berbasis host, yang biasanya merupakan kasus penggunaan. Firewall eksternal berjalan seiring dengan struktur jaringan yang tepat dan pertimbangan keamanan lainnya biasanya masuk ke dalamnya. Entah Anda tahu apa yang tersirat di sini, maka Anda kemungkinan tidak akan membutuhkan posting ini. Atau Anda tidak, maka baca terus.
Menjalankan firewall secara eksternal dan lokal mungkin tampak kontra-intuitif dan berfungsi ganda. Tetapi ini juga memberikan kemungkinan pergantian aturan pada aturan eksternal, tanpa mengorbankan keamanan pada semua host lain yang ada di belakangnya. Kebutuhan dapat timbul dari alasan debugging atau karena seseorang baru saja kacau. Kasus penggunaan lain akan muncul di sana di bagian 'firewall global yang adaptif', dan Anda juga membutuhkan firewall global dan lokal.
Biaya dan ketersediaan dan cerita yang sama sepanjang waktu:
Firewall hanyalah salah satu aspek dari sistem keamanan yang tepat. Tidak memasang firewall karena membutuhkan biaya, memperkenalkan SPOF atau apa pun yang hanya omong kosong, maafkan bahasa Prancis saya di sini. Cukup siapkan kluster. Oh, tapi bagaimana jika sel api padam? Kemudian siapkan kluster Anda pada rentang dua atau lebih kompartemen api.
Tetapi bagaimana jika seluruh pusat data tidak dapat dijangkau, karena kedua operator eksternal keluar dari bisnis (excavator membunuh serat Anda)? Buat saja cluster Anda mencakup beberapa pusat data, lalu.
Itu mahal? Cluster terlalu rumit? Yah, paranoia harus dibayar.
Hanya mengeluh tentang SPOF, tetapi tidak ingin membayar lebih banyak uang atau membuat sedikit pengaturan yang lebih kompleks adalah kasus standar ganda yang jelas atau hanya dompet kecil di sisi perusahaan atau pelanggan.
Pola ini berlaku untuk SEMUA diskusi ini, tidak peduli layanan mana yang merupakan masalah saat ini. Tidak masalah apakah itu gateway VPN, Cisco ASA digunakan hanya untuk firewall, database MySQL atau PostgreSQL, sistem virtual atau perangkat keras server, backend penyimpanan, switch / router, ...
Sekarang Anda harus mendapatkan ide.
Mengapa repot dengan firewall?
Secara teori, alasan Anda masuk akal. (Hanya menjalankan layanan yang dapat dieksploitasi.)
Tapi ini hanya setengah dari kebenaran. Firewall, terutama firewall stateful dapat melakukan lebih banyak untuk Anda. Firewall tanpa kewarganegaraan hanya penting jika Anda mengalami masalah kinerja seperti yang telah disebutkan sebelumnya.
Kontrol akses yang mudah, terpusat, dan terpisah
Anda menyebutkan pembungkus TCP yang pada dasarnya menerapkan fungsi yang sama untuk mengamankan Anda. Demi argumen, mari kita asumsikan seseorang tidak tahu tcpd
dan suka menggunakan mouse? fwbuilder
mungkin muncul dalam pikiran.
Memiliki akses penuh dari jaringan manajemen Anda adalah sesuatu yang harus Anda aktifkan, yang merupakan kasus penggunaan pertama dari firewall berbasis host Anda.
Bagaimana dengan pengaturan multi-server, di mana database berjalan di tempat lain dan Anda tidak dapat menempatkan kedua / semua mesin dalam subnet (pribadi) bersama untuk alasan apa pun? Gunakan firewall untuk memungkinkan akses MySQL pada port 3306 hanya untuk satu alamat IP yang diberikan dari server lain, selesai, sederhana.
Dan itu juga berfungsi dengan sempurna untuk UDP. Atau protokol apa pun. Firewall bisa sangat fleksibel. ;)
Mitigasi Portscan
Lebih jauh, dengan firewall, portcans umum dapat dideteksi dan dikurangi karena jumlah koneksi per kalipan dapat dipantau melalui kernel dan tumpukan jaringannya, dan firewall dapat bertindak berdasarkan hal itu.
Paket yang tidak valid atau tidak jelas juga dapat ditangani sebelum mereka mencapai aplikasi Anda.
Pembatasan lalu lintas keluar
Memfilter lalu lintas keluar biasanya menyebalkan. Tapi itu bisa menjadi suatu keharusan, tergantung pada kontrak.
Statistik
Hal lain yang bisa diberikan firewall, adalah statistik. (Pikirkan watch -n1 -d iptables -vnxL INPUT
dengan menambahkan beberapa aturan untuk alamat IP khusus tepat di atas untuk melihat apakah paket datang.)
Anda dapat melihat di siang hari jika hal-hal bekerja atau tidak. Yang SANGAT berguna ketika memecahkan masalah koneksi dan bisa memberi tahu orang lain di telepon bahwa Anda tidak mendapatkan paket, tanpa harus menggunakan chatty tcpdump
's. Jaringan itu menyenangkan, kebanyakan orang sekarang tahu apa yang mereka lakukan, dan yang sering terjadi hanyalah kesalahan routing yang sederhana. Sial, bahkan saya tidak selalu tahu apa yang saya lakukan. Meskipun saya telah bekerja dengan banyak sistem dan peralatan yang kompleks, seringkali dengan tunneling juga, sekarang.
IDS / IPS
Firewall Layer7 biasanya snake-oil (IPS / IDS), jika tidak dihadiri dengan benar dan diperbarui secara teratur. Ditambah lisensi-lisensi itu sangat mahal, jadi saya akan membeli satu jika Anda tidak benar-benar membutuhkan segala yang dapat dibeli dengan uang.
Masqerading
Mudah, coba saja ini dengan pembungkus Anda. : D
Penerusan port lokal
Lihat menyamar.
Mengamankan saluran akses kata sandi dengan alamat IP dinamis
Bagaimana jika pelanggan memiliki alamat IP dinamis dan tidak ada pengaturan VPN yang digunakan? Atau pendekatan dinamis lain untuk firewall? Ini sudah diisyaratkan dalam pertanyaan, dan ini akan menjadi kasus penggunaan untuk Sayangnya, saya tidak dapat menemukan firewall yang melakukan itu. bagian.
Menonaktifkan akses akun root melalui kata sandi adalah suatu keharusan. Bahkan jika akses terbatas pada alamat IP tertentu.
Juga, masih memiliki akun blanko lain yang siap dengan login kata sandi jika kunci ssh hilang atau penyebaran gagal sangat berguna jika terjadi kesalahan (pengguna memiliki akses administratif ke mesin dan 'sesuatu terjadi'?). Ini adalah ide yang sama untuk akses jaringan karena memiliki mode single-user di Linux atau menggunakan init=/bin/bash
via grub
untuk akses lokal benar-benar buruk dan tidak dapat menggunakan live disk dengan alasan apa pun. Jangan tertawa, ada produk virtualisasi yang melarang itu. Bahkan jika fungsi itu ada, bagaimana jika versi perangkat lunak yang ketinggalan zaman dijalankan tidak memiliki fungsionalitas?
Bagaimanapun, bahkan jika Anda menjalankan ssh daemon Anda pada beberapa port esoterik dan bukan pada 22, jika tidak menerapkan hal-hal seperti port knocking (untuk membuka bahkan port lain dan dengan demikian memitigasi portcans, perlahan-lahan berbatasan dengan terlalu tidak praktis), pemindaian port akan mendeteksi Anda layanan akhirnya.
Biasanya Anda juga mengatur semua server dengan konfigurasi yang sama, dengan port dan layanan yang sama untuk alasan efisiensi. Anda tidak dapat mengatur ssh ke port yang berbeda di setiap mesin. Anda juga tidak dapat mengubahnya di semua mesin setiap kali Anda menganggapnya sebagai informasi 'publik', karena sudah setelah pemindaian. Pertanyaan tentang nmap
legal atau tidak bukanlah masalah ketika memiliki koneksi Wi-Fi yang diretas yang Anda inginkan.
Jika akun ini tidak bernama 'root', orang mungkin tidak dapat menebak nama akun pengguna dari 'pintu belakang' Anda. Tetapi mereka akan tahu, jika mereka mendapatkan server lain dari perusahaan Anda, atau hanya membeli beberapa ruang web, dan memiliki tampilan tanpa chroot / unjailed / tidak terkendali /etc/passwd
.
Untuk ilustrasi semata-mata teoretis sekarang, mereka dapat menggunakan situs web yang dapat diretas di sana untuk mendapatkan akses ke server Anda dan mencari tahu bagaimana hal-hal biasanya berjalan di tempat Anda. Alat pencarian retas Anda mungkin tidak berjalan 24/7 (biasanya mereka lakukan di malam hari karena alasan kinerja disk untuk pemindaian sistem file?) Dan pemindai virus Anda tidak diperbarui saat detik- nol baru melihat cahaya hari, sehingga itu akan tidak mendeteksi kejadian ini sekaligus, dan tanpa tindakan perlindungan lainnya Anda bahkan mungkin tidak pernah tahu apa yang terjadi. Untuk kembali ke kenyataan, jika seseorang memiliki akses ke eksploitasi nol hari, sangat mungkin dia tidak akan menargetkan server Anda karena ini hanya mahal. Ini hanya untuk menggambarkan bahwa selalu ada jalan masuk ke sistem jika 'kebutuhan' muncul.
Tetapi pada topik lagi, jangan gunakan akun kata sandi ekstra, dan jangan repot-repot? Silakan baca terus.
Bahkan jika penyerang mendapatkan nama dan port akun tambahan ini, kombinasi fail2ban
+ iptables
akan menghentikan mereka, bahkan jika Anda hanya menggunakan kata sandi delapan huruf. Ditambah fail2ban dapat diterapkan untuk layanan lain juga, memperluas cakrawala pemantauan!
Untuk layanan Anda sendiri, jika perlu muncul: Pada dasarnya setiap layanan gagal log ke file bisa mendapatkan dukungan fail2ban melalui penyediaan file, regex apa yang cocok dengan dan berapa banyak kegagalan yang diizinkan, dan firewall hanya akan dengan senang hati melarang setiap alamat IP itu disuruh.
Saya tidak mengatakan untuk menggunakan kata sandi 8 digit! Tetapi jika mereka diblokir selama 24 jam selama lima kali mencoba kata sandi yang salah, Anda dapat menebak berapa lama mereka harus mencoba jika mereka tidak memiliki botnet yang mereka miliki bahkan dengan keamanan yang buruk. Dan Anda akan kagum dengan kata sandi apa yang cenderung digunakan pelanggan, bukan hanya untuk ssh
. Melihat kata sandi email orang-orang melalui Plesk memberi tahu Anda segala hal yang Anda tidak ingin ketahui, jika Anda pernah melakukannya, tetapi apa yang saya tidak maksudkan di sini tentu saja. :)
Firewall global adaptif
fail2ban
hanyalah salah satu aplikasi yang menggunakan sesuatu di sepanjang baris iptables -I <chain_name> 1 -s <IP> -j DROP
, tetapi Anda dapat dengan mudah membangun barang-barang seperti itu sendiri dengan beberapa sihir Bash cukup cepat.
Untuk lebih memperluas sesuatu seperti ini, agregat semua alamat IP fail2ban dari server dalam jaringan Anda pada server tambahan, yang mengkurasi semua daftar dan meneruskannya pada firewall inti Anda yang memblokir semua lalu lintas yang sudah ada di tepi jaringan Anda.
Fungsionalitas seperti itu tidak dapat dijual (tentu saja bisa, tetapi itu hanya akan menjadi sistem yang rapuh dan payah), tetapi harus terjalin ke dalam infrastruktur Anda.
Sementara itu, Anda juga dapat menggunakan alamat IP daftar hitam atau daftar dari sumber lain, baik itu dikumpulkan sendiri atau eksternal.