Las prohibiciones generalmente se realizan en direcciones IP a través de su firewall, por lo que debe consultar las reglas del firewall.
Julie Pelletier
Sí, lo sé. pero quiero borrar todas las prohibiciones sin decirle una dirección ip
Patrick
Respuestas:
26
Respuesta actualizada
A partir de la versión 0.10.0 fail2ban-clientpresenta el unbancomando 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 reloadahora también tienen la --unbanopción.
Vieja respuesta
fail2ban utiliza iptablespara bloquear el tráfico. Si desea ver las direcciones IP que están bloqueadas actualmente, escriba
iptables -L -n
y busque las diversas cadenas nombradas fail2ban-something, donde somethingapunta a la cárcel fail2ban (por ejemplo, se Chain f2b-sshdrefiere a la cárcel sshd). Si solo desea eliminar el bloqueo de una sola dirección IP <IP>para una cárcel determinada <JAIL>, fail2ban ofrece su propio cliente:
fail2ban-client set <JAIL> unbanip <IP>
Alternativamente, puede usar números de línea. Primero, enumere las iptablesreglas con números de línea:
iptables -L -n --line-numbers
Luego puedes usar
iptables -D fail2ban-somejail <linenumber>
para eliminar una sola línea de la tabla. Hasta donde sé, no hay una opción para seleccionar un rango de números de línea, así que supongo que tendrías que ajustar 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-numbersy tenga en cuenta que la última línea (con RETURN) debe permanecer. Vea el comentario de @ roaima a continuación para ver el razonamiento detrás de la cuenta regresiva.
Gracias @roaima! Actualizaré la respuesta en consecuencia.
ph0t0nix
1
@roaima Sí lo es (al menos en zsh y bash): echo {5..1}resultará en 5 4 3 2 1.
ph0t0nix
Me salvaste. Muchas gracias. Agregue un comando completo porque tuve que descubrir que necesito fail2ban-client delante de su comando. (Porque soy un novato)
sebastian.roibu
La vieja respuesta todavía está en caché en DuckDuckGo, llegó a decir lo mismo que @roaima - snipboard.io/0oZkXy.jpg
Ari
15
La mejor manera de deshacer todas las IP es establecer el tiempo de espera en 1 segundo, luego toda la IP se liberará de inmediato.
fail2ban-client set JailName bantime 1
Después de eso, puede restablecer el tiempo de prohibición adecuado.
Es mejor dejar que fail2ban haga el unban por usted. No edite manualmente iptables usted mismo.
Esta es la única respuesta correcta aquí. Fail2ban mantiene su propia base de datos de prohibición que debe borrarse de forma independiente. Cada respuesta que habla sobre la eliminación de las reglas de iptables ignora que en el momento en que se vuelva a iniciar fail2ban, volverá a agregar las reglas que acaba de eliminar a iptables. Además, no todas las configuraciones de fail2ban usan iptables para implementar prohibiciones.
Cliff Armstrong
3
encontrar todas las cárceles confail2ban-client status
Flion
Acabo de emitir este comando y veo que la cantidad de IP en mi cárcel disminuye hacia cero a medida que fail2ban procesa la cárcel. No sucede muy, muy rápido, pero está bien, había más de cinco mil entradas en la cárcel. ¡Buena respuesta!
Eric M
5
El último fail2ban-client(0.10) tiene un unban -allcomando. Las cárceles también se pueden "reiniciar" individualmente, eliminando efectivamente 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 se vuelva a crear la cárcel (ahora vacía).
Esta es la mejor respuesta para las versiones fail2ban debajo de 0.10. Puede ir más allá creando un alias en .bashrc como fail2ban-purge con un parámetro para purgar toda una cárcel. Simplemente reemplace la palabra retribuida anterior con $ 1 y use el alias como fail2ban-purge <JAIL_NAME>.
ADDISON74
2
Debido a la forma en que fail2banfunciona, solo hay dos soluciones posibles:
Cree un script de configuración de firewall que incluya fail2bancárceles y reinicie el firewall.
Elimine las reglas de firewall que bloquean las IP que desea desangrar.
Este es el script que estoy usando para desbancar todas las direcciones IP de una cárcel ssh (simplemente reemplace la aparición 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
Respuestas:
Respuesta actualizada
A partir de la versión 0.10.0
fail2ban-client
presenta elunban
comando que se puede usar de dos maneras:Además, los comandos
restart <JAIL>
,reload <JAIL>
yreload
ahora también tienen la--unban
opción.Vieja respuesta
fail2ban utiliza
iptables
para bloquear el tráfico. Si desea ver las direcciones IP que están bloqueadas actualmente, escribay busque las diversas cadenas nombradas
fail2ban-something
, dondesomething
apunta a la cárcel fail2ban (por ejemplo, seChain f2b-sshd
refiere a la cárcelsshd
). Si solo desea eliminar el bloqueo de una sola dirección IP<IP>
para una cárcel determinada<JAIL>
, fail2ban ofrece su propio cliente:Alternativamente, puede usar números de línea. Primero, enumere las
iptables
reglas con números de línea:Luego puedes usar
para eliminar una sola línea de la tabla. Hasta donde sé, no hay una opción para seleccionar un rango de números de línea, así que supongo que tendrías que ajustar este comando en un bucle for:
Aquí hice el número 200. Verifique su propia salida del comando con
--line-numbers
y tenga en cuenta que la última línea (conRETURN
) debe permanecer. Vea el comentario de @ roaima a continuación para ver el razonamiento detrás de la cuenta regresiva.fuente
echo {5..1}
resultará en5 4 3 2 1
.La mejor manera de deshacer todas las IP es establecer el tiempo de espera en 1 segundo, luego toda la IP se liberará de inmediato.
Después de eso, puede restablecer el tiempo de prohibición adecuado.
Es mejor dejar que fail2ban haga el unban por usted. No edite manualmente iptables usted mismo.
fuente
fail2ban-client status
El último
fail2ban-client
(0.10) tiene ununban -all
comando. Las cárceles también se pueden "reiniciar" individualmente, eliminando efectivamente 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 se vuelva a crear la cárcel (ahora vacía).
fuente
Guardar la configuración de iptable en el archivo
Edítelo con cualquier editor que desee. Luego, cargue la configuración de nuevo en iptables
No olvides almacenar la configuración dentro de iptables para que se recoja al reiniciar
fuente
1. detener el servicio limpiará todas las reglas agregadas por fail2ban
service fail2ban stop
2. si no tiene otras reglas de iptables, puede eliminarlo
iptables -F
tenga cuidado: esto borrará cualquier otra regla en sus iptables.
fuente
Heres un simple oneliner para deshacer toda la cárcel de fail2ban de la manera correcta:
NOTA: el comando iptables toma el prefijo "f2b-" antes del nombre de la cárcel mientras que "fail2ban-client" el nombre real de la cárcel
fuente
Debido a la forma en que
fail2ban
funciona, solo hay dos soluciones posibles:fail2ban
cárceles y reinicie el firewall.fuente
Este es el script que estoy usando para desbancar todas las direcciones IP de una cárcel ssh (simplemente reemplace la aparición de sshd con el nombre de la cárcel que necesita ... por ejemplo, mysqld-auth)
fuente