Cuando ejecuto este comando fail2ban-client status sshd
obtuve esto:
Status for the jail: sshd
|- Filter
| |- Currently failed: 1
| |- Total failed: 81
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 2
|- Total banned: 8
`- Banned IP list: 218.65.30.61 116.31.116.7
Solo muestra dos IP en la lista de IP prohibidas en lugar de 8, como dice Total Banned.
Mientras lo hago tail -f /var/log/auth.log
, tengo esto:
Mar 29 11:08:40 DBSERVER sshd[29163]: error: maximum authentication attempts exceeded for root from 218.65.30.61 port 50935 ssh2 [preauth]
Mar 29 11:08:40 DBSERVER sshd[29163]: Disconnecting: Too many authentication failures [preauth]
Mar 29 11:08:40 DBSERVER sshd[29163]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.61 user=root
Mar 29 11:08:40 DBSERVER sshd[29163]: PAM service(sshd) ignoring max retries; 6 > 3
Mar 29 11:08:44 DBSERVER sshd[29165]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.61 user=root
Mar 29 11:08:46 DBSERVER sshd[29165]: Failed password for root from 218.65.30.61 port 11857 ssh2
Mar 29 11:09:01 DBSERVER CRON[29172]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 29 11:09:01 DBSERVER CRON[29172]: pam_unix(cron:session): session closed for user root
Mar 29 11:10:01 DBSERVER CRON[29226]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 29 11:10:02 DBSERVER CRON[29226]: pam_unix(cron:session): session closed for user root
Mar 29 11:10:18 DBSERVER sshd[29238]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=113.122.43.185 user=root
Mar 29 11:10:20 DBSERVER sshd[29238]: Failed password for root from 113.122.43.185 port 46017 ssh2
Mar 29 11:10:33 DBSERVER sshd[29238]: message repeated 5 times: [ Failed password for root from 113.122.43.185 port 46017 ssh2]
Mar 29 11:10:33 DBSERVER sshd[29238]: error: maximum authentication attempts exceeded for root from 113.122.43.185 port 46017 ssh2 [preauth]
Mar 29 11:10:33 DBSERVER sshd[29238]: Disconnecting: Too many authentication failures [preauth]
Mar 29 11:10:33 DBSERVER sshd[29238]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=113.122.43.185 user=root
Mar 29 11:10:33 DBSERVER sshd[29238]: PAM service(sshd) ignoring max retries; 6 > 3
Mar 29 11:11:36 DBSERVER sshd[29245]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7 user=root
Mar 29 11:11:38 DBSERVER sshd[29245]: Failed password for root from 116.31.116.7 port 24892 ssh2
Mar 29 11:11:43 DBSERVER sshd[29245]: message repeated 2 times: [ Failed password for root from 116.31.116.7 port 24892 ssh2]
Mar 29 11:11:43 DBSERVER sshd[29245]: Received disconnect from 116.31.116.7 port 24892:11: [preauth]
Mar 29 11:11:43 DBSERVER sshd[29245]: Disconnected from 116.31.116.7 port 24892 [preauth]
Mar 29 11:11:43 DBSERVER sshd[29245]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7 user=root
Mar 29 11:12:39 DBSERVER sshd[29247]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7 user=root
Mar 29 11:12:41 DBSERVER sshd[29247]: Failed password for root from 116.31.116.7 port 26739 ssh2
Mar 29 11:12:45 DBSERVER sshd[29247]: message repeated 2 times: [ Failed password for root from 116.31.116.7 port 26739 ssh2]
Mar 29 11:12:45 DBSERVER sshd[29247]: Received disconnect from 116.31.116.7 port 26739:11: [preauth]
Mar 29 11:12:45 DBSERVER sshd[29247]: Disconnected from 116.31.116.7 port 26739 [preauth]
Mar 29 11:12:45 DBSERVER sshd[29247]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7 user=root
Mar 29 11:13:41 DBSERVER sshd[29249]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7 user=root
Mar 29 11:13:43 DBSERVER sshd[29249]: Failed password for root from 116.31.116.7 port 27040 ssh2
IP prohibida sigue intentando.
Sin embargo, cuando verifico sudo iptables -L INPUT -v -n
, obtuve esto:
Chain INPUT (policy ACCEPT 228 packets, 18000 bytes)
pkts bytes target prot opt in out source destination
6050 435K f2b-sshd tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
¿Qué estoy haciendo mal aquí?
¿Cómo puedo mostrar todas las listas de IP prohibidas?
Gracias por adelantado.
bantime
. Hazlo200m
o incluso más y luego hazlosudo service fail2ban restart
y luegofail2ban-client status sshd
Respuestas:
Tenga en cuenta que la prohibición de IP de fail2ban es de naturaleza temporal.
La mejor manera de echar un vistazo a la lista completa de IPs que han sido bloqueadas sería verificar el archivo de registro:
El siguiente comando también puede darle una lista limpia de reglas de entrada:
fuente
Para ver la línea completa de iptables:
Para ver solo la dirección IP:
Puede cambiar "REJECT" por "DROP", según su caso.
fuente
Similar a NA AE anterior con los comentarios de kwaa incluidos, esto enumera todas las IP:
pero esa salida tiene muchas líneas. Esto cuenta las líneas de todas las IP registradas prohibidas (y probablemente no prohibidas):
El resultado del comando anterior (con recuento de líneas) debe coincidir con el recuento 'Total prohibido' en la salida de estado de fail2ban:
probado en Ubuntu 18.04.1 LTS.
Mi salida de la línea 'wc -l':
Y a partir del estado de fail2ban, se verifica el mismo número 7244:
fuente
Solo un FYI:
Espero que ayude.
fuente
si desea ver la lista de IP prohibidas con su tiempo de espera (el tiempo de espera caduca, se eliminan del grupo prohibido) puede usar:
fuente
Esto mostrará lo que está actualmente prohibido (RECHAZAR) en la porción Chain fail2ban-ssh de iptables.
fuente
Para agregar una respuesta más genérica:
Tenga en cuenta que iptables podría no ser la respuesta correcta y podría no brindarle información relevante (para el póster original sí lo es). Depende de qué valor de banaction = [acción] esté utilizando en su DEFECTO o definición de cárcel específica.
Tengo muchas cajas pequeñas con ARM que funcionan con Linux, pero el núcleo no tiene todos los módulos de iptables relevantes disponibles, por lo que iptables no funcionará en ese caso.
* Es posible que BSD no tenga iptables en absoluto y use en su lugar algo como pf .
En mis cajas ARM estoy usando la ruta para bloquear. Agrega una ruta no válida para IP prohibidas y, por lo tanto, los paquetes de devolución no se pueden entregar y la IP está esencialmente bloqueada. Funciona muy bien En ese caso, puede verificar las direcciones IP prohibidas utilizando:
Tienes muchas opciones para prohibir. Y por lo tanto, muchas opciones para verificar la lista de prohibición. Cuál usar depende de su plataforma y preferencia. Hay muchos archivos de configuración preconfigurados en: /etc/fail2ban/action.d/ para elegir.
fuente