Bagaimana Anda melihat semua IP yang diblokir untuk Ubuntu 12.04 melalui baris perintah?

36

Sepertinya saya tidak dapat menemukan perintah cepat untuk hanya melihat semua IP yang terlarang di server. Atau ada file yang bisa saya edit?

Saya menduga fail2ban adalah yang memasukkan semua IP untuk dicekal. Di mana saya menyesuaikan pengaturan untuk itu?

Saya tampaknya hanya bisa masuk ke server saya dari jarak jauh hanya jika saya menonaktifkan ufw. Sepertinya saya tidak bisa mencari tahu bagaimana cara melepaskan diri. Saya bahkan tidak tahu mengapa saya dilarang. Apakah ada semacam log untuk melihat semua upaya yang dilakukan?

Patoshi パ ト シ
sumber
5
sudo iptables -L -n?
Seth
ada begitu banyak output. apa yang harus saya cari? i.imgur.com/zTTXJTE.png ... terima kasih .. saya ufw mengizinkan <ip_address> dan itu masih tidak berhasil. saya tidak tahu di mana dikatakan dilarang.
Patoshi パ ト シ
Juga melakukan status ufw dan kemudian menonaktifkan ufw, melakukan iptables -F, lalu ufw mengaktifkan. Tetap saya tidak dapat mengakses server saya dari jarak jauh. Ip
Patoshi パ ト シ
sudahkah Anda membuka port ssh sebelum menghabisi server?
Qasim
bagaimana saya memeriksanya? Saya dapat SSH ketika firewall dimatikan. jadi bukankah itu bekerja secara default?
Patoshi パ ト シ

Jawaban:

24

sudo iptables -L INPUT -v -n | less

Ini memberitahu iptables untuk Mendaftar semua aturan dalam rantai INPUT, memberikan output numerik verbal. Kami menyalurkan lebih sedikit sehingga kami mendapatkan satu halaman sekaligus.

Penatua Geek
sumber
2
Mungkin ada sesuatu yang berubah sejak 2014 tetapi seperti sekarang, jawaban ini salah karena fail2ban tidak menempatkan hal-hal di INPUTrantai.
billynoah
@ Billynoah Tentu saja ada yang berubah. Tidak ada kehidupan yang statis. Untuk satu, 12,04 tidak lagi di bawah dukungan. Jika Anda masih menggunakannya, saya sarankan Anda meningkatkan ke 16,04 LTS yang didukung hingga April 2021.
Penatua Geek
Saya tidak yakin apakah Anda merujuk 12,04 karena saya katakan 2014? Saya sedang berbicara tentang tahun jawaban Anda.
billynoah
1
@ Billynoah saya mereferensikan 12,04 karena fakta bahwa itu dirujuk dalam pertanyaan bahwa jawaban ini diberikan untuk. Anda memiliki permintaan maaf saya untuk kebingungan yang mungkin Anda alami. :-)
Penatua Geek
45

versi singkat :

daftarkan semua ips yang saat ini diblokir:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

batalkan pembatalan ip:

fail2ban-client set postfix-mail unbanip 111.222.333.444

versi panjang :

jika Anda mencari cara "resmi" untuk melakukan itu, ada klien baris perintah untuk fail2ban https://www.fail2ban.org/wiki/index.php/Commands :

~ # fail2ban-client status
Status
|- Number of jail:      8
`- Jail list:           roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos

maka kamu bisa lari

~ # fail2ban-client status roundcube

Status for the jail: roundcube
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 0
|  `- Total failed:     12
`- action
   |- Currently banned: 1
   |  `- IP list:       111.222.333.444
   `- Total banned:     1

atau Anda dapat menggunakan perintah saya, yang mengulangi semua penjara yang ada:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

yang keluaran:

Status for the jail: roundcube
   |  `- IP list:
Status for the jail: sshd
   |  `- IP list:
Status for the jail: sogo
   |  `- IP list:
Status for the jail: postfix-sasl
   |  `- IP list:
Status for the jail: postfix-mail
   |  `- IP list:
Status for the jail: dovecot
   |  `- IP list:
Status for the jail: ssh
   |  `- IP list:
Status for the jail: sshd-ddos
   |  `- IP list:
c33s
sumber
Seharusnya jawaban yang diterima sekarang.
Basj
tanpa awk:fail2ban-client status | grep "Jail list:" | sed "s/`- Jail list://" | sed "s/\s//g" | sed "s/,/\n/g" | xargs -L1 fail2ban-client status | less
Quamis
21

Anda dapat melihat semua IP yang sebelumnya dilarang melalui /var/log/fail2ban.log

sudo zgrep 'Ban' /var/log/fail2ban.log*

Beberapa larangan bersifat sementara, jadi saya tidak yakin bagaimana cara terbaik untuk membatalkannya (log fail2ban saya kosong yang membuat ini lebih sulit untuk diuji!). Anda bisa masuk ke dalam skema akuntansi besar dengan awkperintah, tetapi semakin membosankan.

Bagaimanapun, itulah cara yang ingin Anda lakukan jika Anda mencari alasan mengapa Anda dilarang.

Cara lain adalah dengan melihat tabel IP dan melihat apa yang dijatuhkan. Sekali lagi, ini memiliki beberapa masalah karena ini menunjukkan rute default yang ditimpa tetapi saya memblokir aturan dengan sumber 0.0.0.0/0 dan yang tampaknya menjaganya cukup bersih untuk penggunaan praktis:

sudo iptables -L -n | awk '$1=="DROP" && $4!="0.0.0.0/0"'

Ini tidak akan menjelaskan mengapa pelarangan terjadi.

Oli
sumber
apakah fail2ban aplikasi utama yang melakukan pelarangan dan bukan aplikasi lain? server saya hanyalah server ubuntu dasar jadi saya tidak pernah menginstal apa pun ke dalamnya.
Patoshi パ ト シ
Kalau begitu, ya.
Oli
1
Perhatikan bahwa versi saya saat ini menulis NOTICE [snap-iptables] Ban 45.32.216.148- tidak ':'setelah kata Ban, tetapi spasi sebelum dan sesudah.
Alexis Wilke