sudo iptables -L INPUT -v -n | less
Isto diz ao iptables para Listar todas as regras na cadeia INPUT, fornecendo uma saída numérica detalhada. Estamos percorrendo menos para conseguir uma página de cada vez.
Não consigo encontrar um comando rápido para visualizar todos os IPs proibidos no servidor. Ou há um arquivo que eu possa editar?
Eu estou supondo que o fail2ban é aquele que insere todos os IPs para banir. Onde eu ajusto as configurações?
Parece que só consigo fazer login no meu servidor remotamente se eu desabilitar o ufw. Eu não consigo descobrir como me desbanir. Eu nem sei porque eu fui banido em primeiro lugar. Existe algum tipo de registro para ver todas as tentativas feitas?
sudo iptables -L INPUT -v -n | less
Isto diz ao iptables para Listar todas as regras na cadeia INPUT, fornecendo uma saída numérica detalhada. Estamos percorrendo menos para conseguir uma página de cada vez.
versão curta :
liste todos os ips atualmente bloqueados:
fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split(,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"
desbanque um ip:
fail2ban-client set postfix-mail unbanip 111.222.333.444
versão longa :
Se você está procurando a maneira "oficial" de fazer isso, existe um cliente de linha de comando para o link fail2ban :
~ # fail2ban-client status
Status
|- Number of jail: 8
'- Jail list: roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos
então você pode correr
~ # 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
ou você pode usar o meu comando, que itera sobre todas as prisões existentes:
fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split(,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"
quais saídas:
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:
Você pode ver todos os IPs proibidos anteriormente por meio de /var/log/fail2ban.log
sudo zgrep 'Ban' /var/log/fail2ban.log*
Algumas proibições são temporárias, então não tenho certeza de como cancelá-las (meus logs do fail2ban estão vazios, o que torna isso mais difícil de testar!). Você poderia entrar em um grande esquema de contabilidade com o comando awk
, mas está ficando muito chato.
De qualquer forma, é a maneira que você quer fazer isso se você está procurando um motivo pelo qual você foi banido.
A outra maneira é examinar as tabelas de IP e ver o que está sendo descartado. Novamente, isso tem alguns problemas porque mostra rotas padrão que são substituídas, mas estou bloqueando regras com uma fonte de 0.0.0.0/0 e que parece mantê-las limpas o suficiente para uso prático:
sudo iptables -L -n | awk '=="DROP" && !="0.0.0.0/0"'
Isso não explica por que uma proibição aconteceu.