ufw potensial dan konflik fail2ban


45

Apakah menjalankan fail2ban dan ufw akan menyebabkan masalah? Saya perhatikan bahwa fail2ban memodifikasi aturan iptables, tetapi ufw sudah memiliki banyak aturan iptables yang ditetapkan ... jadi saya tidak yakin apakah fail2ban akan mengacaukannya.


Versi Ubuntu yang mana ? ('ufw' telah sedikit meningkat antara 10,04 LTS dan 11.x )
david6

@ david6: maaf, saya tidak ingat versi apa yang saya jalankan saat saya mengajukan pertanyaan.
Adam Monsen

Jawaban:


50

Anda dapat menggunakan ufw dan fail2b bersama-sama, tetapi seperti yang ditunjukkan sebelumnya, urutan aturan (ufw) adalah yang penting.

Di luar kotak, fail2ban menggunakan iptables dan menyisipkan aturan pertama dalam rantai INPUT. Ini tidak akan melukai atau bertentangan dengan ufw.

Jika Anda ingin mengintegrasikan fail2ban sepenuhnya untuk menggunakan ufw (bukan iptables). Anda perlu mengedit sejumlah file termasuk

/etc/fail2ban/jail.local

jail.local adalah tempat Anda mendefinisikan layanan Anda, termasuk port apa yang mereka dengarkan (pikirkan mengubah ssh ke port non-default) dan tindakan apa yang harus diambil.

** Harap diperhatikan *: Jangan pernah mengedit jail.conf , perubahan Anda harus dilakukan jail.local! File itu dimulai dengan ini:

# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory

Menggunakan ssh sebagai contoh, perhatikan definisi port non-default juga =)

[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Anda kemudian mengkonfigurasi fail2ban untuk menggunakan ufw in (satu file .conf untuk setiap layanan)

/etc/fail2ban/action.d/ufw-ssh.conf

Sintaksnya adalah

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH

Catatan: Anda mengonfigurasi fail2ban untuk menggunakan ufw dan memasukkan aturan baru PERTAMA menggunakan sintaks "insert 1". Penghapusan akan menemukan aturan terlepas dari pesanan.

Ada posting blog yang bagus yang lebih detail di sini

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[EDIT] Untuk ubuntu 16.04+

secara default " defaults-debian.conf" /etc/fail2ban/jail.ddengan isi

[sshd]
enabled = true

akan mengaktifkan perlindungan ssh dari fail2ban.

Anda harus salah menaruhnya.

Kemudian buat penjara. Lokal seperti yang akan Anda lakukan secara umum, milik saya akan seperti ini:

[ssh-with-ufw] 
enabled = true 
port = 22 
filter = sshd 
action = ufw[application="OpenSSH", blocktype=reject] 
logpath = /var/log/auth.log 
maxretry = 3

Sudah ada ufw.conf di instalasi default fail2ban jadi tidak perlu membuatnya.

Satu-satunya perubahan khusus untuk Anda jail.local akan berada di baris tindakan di mana Anda perlu menempatkan aplikasi yang bersangkutan untuk perlindungan dan apa yang ingin Anda dapatkan sebagai hasilnya.

ufw cenderung mendeteksi secara otomatis sejumlah aplikasi yang berjalan menggunakan jaringan. Untuk memiliki daftar ketik saja sudo ufw app list. Ini peka huruf besar-kecil.

muat ulang fail2ban dan Anda tidak akan lagi melihat rantai fail2ban dan jika ada IP yang mendapatkan blok Anda akan melihatnya sudo ufw status


7
Jadi singkatnya: tanpa melakukan integrasi seperti yang dijelaskan, baik ufw dan fail2ban bekerja seperti seharusnya. Fail2ban akan memasukkan definisi pemblokirannya sebelum aturan ufw diterapkan. Di sisi lain, jika ada yang ingin bloknya muncul ufw status, Anda perlu integrasi. Selain memiliki blok muncul ufw status, tidak akan ada manfaat lain? Terutama karena penulis blog mengatakan yang berikut: Di luar kotak Fail2ban bekerja dengan aturan iptables, namun ini tidak cocok dengan perintah UFW sederhana kami (...)
bouke

1
Persis. "Don't play nice" sama dengan tidak muncul ketika Anda memeriksanya dengan status ufw. Manfaat integrasi adalah Anda menggunakan satu alat, ufw, untuk mengelola dan menampilkan aturan firewall Anda. Tidak ada yang salah dengan menggunakan fail2ban sebagaimana adanya, di luar kotak, dalam hal fungsi. Masalahnya adalah bahwa untuk melihat aturan fail2ban Anda harus menggunakan iptables -L -v -n, dan seperti yang sudah Anda lihat, ketika menggunakan ufw, outputnya panjang dan sulit diikuti. Keuntungan dari integrasi adalah bahwa aturan dan sintaks lebih mudah dipahami (dengan asumsi itulah sebabnya Anda menggunakan ufw sejak awal)
Panther

Sebagai catatan, jika Anda mengklik di mana saja di situs yang Anda tautkan, Anda akan diarahkan ke malware / adware.
Antonio Cangiano

@AntonioCangiano - Tautan berfungsi dengan baik di sini, periksa browser Anda dan DNS
Panther

@ bodhi.zazen Setiap klik pada artikel yang ditautkan akan mengarahkan ulang ke situs web jahat seperti yang ditunjukkan Antonio dengan benar. Saya enggan menerima saran keamanan dari artikel tersebut.
Goran Miskovic

4

Saya telah menggunakan fail2ban dan ufw selama bertahun-tahun di beberapa komputer yang berbeda, dan tidak pernah memiliki masalah. Untuk mengatur fail2ban:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local

Sekarang edit file seperti yang Anda inginkan, misalnya jika Anda ingin memblokir ssh tidak sah temukan baris:

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

jika "diaktifkan" disetel ke "false", ubah ke "true" seperti disebutkan di sini. Setelah Anda menetapkan aturan yang Anda butuhkan untuk me-restart proses fail2ban:

sudo /etc/init.d/fail2ban restart

Jika Anda telah membuka port 22 pada fail2ban firewall ufw Anda akan melarang klien yang mencoba menghubungkan lebih dari 6 kali tanpa hasil, itu tidak akan merusak firewall Anda.


4

Instalasi 0.9.5 dari fail2ban termasuk ufwtindakan yang harus saya atur untukbanaction


2
Sebagai catatan, aksinya juga hadir dalam versi 0.8.13
Joril
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.