Resumen
Estoy tratando de entender cómo mantener una regla encima de una cadena en IPtables. Me gustaría mantener mi cadena personalizada (como regla) encima de la cadena INPUT, es decir, como la primera regla de la cadena.
Configuración
- cadena personalizada (que quiero mantener encima de la cadena de ENTRADA)
- fail2ban que genera (creo que crea y elimina) cadenas basadas en el estado de las prohibiciones
Comportamiento actual:
Al configurar mi cadena personalizada, puedo configurarla como regla número 1. Sin embargo, con el tiempo, con los cambios en fail2ban, la cadena personalizada termina siendo movida hacia abajo en la cadena INPUT.
¡Gracias por su ayuda!Mis disculpas si esto ya ha sido respondido. Lamentablemente no pude encontrarlo en las preguntas sugeridas.
Respuesta1
Fail2ban debido aesteLa línea (por ejemplo en iptables-multiport
) agregará la regla en la primera posición de la INPUT
cadena, que se interpolaría normalmente en esta línea (por ejemplo, cárcel sshd simple, IPv4, etc.):
# <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
iptables -I INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
Entonces tienes 2 posibilidades para hacer esto:
- O crea otra cadena (por ejemplo
F2B
), la agrega después de su primera cadena en INPUT y especifica su nombre en la configuración de fail2ban en lugar de INPUT. Por ejemplo crear nuevos/etc/fail2ban/action.d/iptables-common.localy sobrescribe elchain
tuyo propio para todas las cadenas de fail2ban:
[Init]
chain = F2B
o especifique su nombre en jail.local
, por ejemplo en la sección predeterminada o por cárcel:
[DEFAULT]
banaction = %(known/banaction)s[chain=F2B]
banaction_allports = %(known/banaction_allports)s[chain=F2B]
- Especifique su propio número de regla (1 es el valor predeterminado) en la cadena. Entonces, en lugar de establecer la cadena en
F2B
, utilícelachain = INPUT 2
en la configuración común local o como aquí enjail.local
:
[DEFAULT]
banaction = %(known/banaction)s[chain="INPUT 2"]
banaction_allports = %(known/banaction_allports)s[chain="INPUT 2"]
En este caso, fail2ban interpolará la regla de adición mencionada anteriormente (para sshd jail) de esta manera:
- iptables -I INPUT -p tcp -m multiport --dports ssh -j f2b-sshd
+ iptables -I INPUT 2 -p tcp -m multiport --dports ssh -j f2b-sshd
Solo en ambos casos asegúrese (por ejemplo, usando dependencias de servicio) de que la cadena F2B
y su propia cadena ya estén agregadas a iptables (fail2ban comenzará después de que se haya realizado el cambio).