¿Cómo puedo eliminar todas las prohibiciones de fail2ban en Ubuntu? Intenté todo, pero no lo entiendo.

Solo quiero eliminar todas las prohibiciones, pero no conozco ninguna dirección IP.

Comentarios

  • Las prohibiciones generalmente se realizan en direcciones IP a través de su firewall, por lo que debe mirar las reglas del firewall.
  • Sí, lo sé. pero quiero borrar todas las prohibiciones sin decir una dirección IP
  • » Probé todo » no, no ‘ t. ¿Qué probaste?

Respuesta

Respuesta actualizada

A partir de la versión 0.10. 0 fail2ban-client presenta el comando unban que se puede usar de dos maneras:

unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database) 

Además, los comandos restart <JAIL>, reload <JAIL> y reload ahora también tienen la opción --unban.

Respuesta anterior

fail2ban usa iptables para bloquear el tráfico. Si desea ver las direcciones IP que están actualmente bloqueadas, escriba

iptables -L -n 

y busque las distintas cadenas llamadas fail2ban-something, donde something apunta a la cárcel fail2ban (por ejemplo, Chain f2b-sshd se refiere a la cárcel sshd). Si solo desea eliminar el bloqueo para una única dirección IP <IP> para una cárcel determinada <JAIL>, fail2ban ofrece su propio cliente:

fail2ban-client set <JAIL> unbanip <IP> 

Alternativamente, puede utilizar números de línea. Primero, enumere las iptables reglas con números de línea:

iptables -L -n --line-numbers 

A continuación, puede usar

iptables -D fail2ban-somejail <linenumber> 

para eliminar una sola línea de la tabla. Hasta donde yo sé, no hay opción para seleccionar un rango de números de línea, así que supongo que tendrías que envolver este comando en un bucle for:

for lin in {200..1}; do iptables -D fail2ban-somejail $lin done 

Aquí hice el número 200. Verifique su propia salida del comando con --line-numbers y observe que la última línea (con RETURN) debe permanecer. Vea el comentario de @roaima a continuación para conocer el razonamiento detrás de la cuenta regresiva.

Comentarios

  • Me salvó. Muchas gracias. Agregue un comando completo. porque tuve que darme cuenta de que necesito fail2ban-client en función de su comando. (Porque soy un novato)

Respuesta

La mejor manera de anular la prohibición de todas las IP es establecer el tiempo de bantime en 1 segundo, luego toda la IP se liberará de inmediato.

fail2ban-client set JailName bantime 1 

Después de eso, puede volver a establecer el tiempo de prohibición adecuado.

Es mejor dejar que fail2ban haga el desban por usted. No edite iptables manualmente usted mismo.

Comentarios

  • Esta es la única respuesta correcta aquí. Fail2ban mantiene su propia base de datos de prohibición que debe borrarse independientemente . Cada respuesta que habla sobre la eliminación de reglas de iptables ignora que en el momento en que fail2ban se inicia una copia de seguridad, volverá a agregar las reglas que acaba de eliminar a iptables. Además, no todas las configuraciones de fail2ban usan iptables para implementar prohibiciones.
  • encontrar todas las cárceles con fail2ban-client status
  • Acabo de emitir este comando y estoy viendo cómo el número de direcciones IP en mi cárcel disminuye hacia cero a medida que fail2ban procesa la cárcel. No suceden realmente muy rápido, pero eso ‘ está bien, había más de cinco mil entradas en la cárcel. ¡Buena respuesta!

Respuesta

La más reciente fail2ban-client (0.10) tiene un comando unban -all. Las cárceles también se pueden «reiniciar» individualmente, de eliminando las prohibiciones.

Si tiene una versión anterior, este truco podría funcionar para las prohibiciones temporales automáticas: elimine la cárcel que contiene la prohibición y luego reinicie fail2ban para que la cárcel (ahora vacía) se vuelva a crear.

$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban 

Comentarios

  • -todos o —todos? ¿O –todos?

Responder

  1. Detener el servicio limpiará todas las reglas agregadas por fail2ban

    service fail2ban stop 
  2. Si no tiene ninguna otra regla de iptables, puede eliminarla

    iptables -F 

Tenga cuidado: esto borrará cualquier otra regla en sus iptables .

Comentarios

  • Basta con detenerse y volver a comenzar.

Respuesta

Guarde la configuración de iptable en un archivo

$ iptables-save > iptables.conf 

Edítelo con cualquier editor que desee. Luego, vuelva a cargar la configuración en iptables

$ iptables-restore < iptables.conf 

No olvide almacenar la configuración dentro de iptables para que sea elegida al reiniciar

$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] 

Respuesta

aquí hay una línea simple para desbloquear todo Fail2ban jail de la manera correcta:

iptables -L f2b-recidive -n | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | grep -v 0.0.0.0 | xargs -n 1 fail2ban-client set recidive unbanip 

NOTA: el comando iptables toma el prefijo «f2b-» antes del nombre de la cárcel mientras que «fail2ban-client» es el nombre real de la cárcel

Comentarios

  • Esta es la mejor respuesta para las versiones de fail2ban por debajo de 0.10. Puede ir más allá creando un alias en .bashrc como fail2ban-purge con un parámetro para purgar una cárcel completa. Simplemente reemplace la palabra recidiva anterior con $ 1 y use el alias como fail2ban-purge < JAIL_NAME >.

Respuesta

Debido a la forma en que fail2ban funciona, solo hay dos soluciones posibles:

  • Cree una secuencia de comandos de configuración de firewall que incluya fail2ban cárceles y reinicie el firewall.
  • Elimine las reglas de firewall que bloquean las IP que desea desbloquear. .

Respuesta

Este es el script que estoy usando para desbloquear todas las direcciones IP de una cárcel ssh ( simplemente reemplace la ocurrencia de sshd con el nombre de la cárcel que necesita … por ejemplo, mysqld-auth)

#!/bin/bash j=$(iptables -L f2b-sshd | grep -c "REJECT") for ((i=1;i<=j;i++)) do fail2ban-client set sshd unbanip $(fail2ban-client status sshd | grep "Banned IP list:" | cut -c23-) done 

Respuesta

Quizás este script pueda ayudar a alguien con una versión < 0.10.0 como yo:

 #!/bin/bash for JAIL in $(fail2ban-client status | grep "Jail list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/, / /g") do for IP in $(fail2ban-client status ${JAIL} | grep "Banned IP list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/ /\n/g") do fail2ban-client set ${JAIL} unbanip ${IP} done done unset JAIL IP exit 0  

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *