¿Cómo se compara el bloqueo de puertos específicos con fail2ban con el bloqueo de todos los puertos?

¿Cómo se compara el bloqueo de puertos específicos con fail2ban con el bloqueo de todos los puertos?

Estoy configurando fail2ban para mis instancias EC2, cada una de las cuales tiene diferentes servicios en ejecución. Por lo tanto, estoy configurando las cárceles específicamente para cada servicio. Tengo dos preguntas (para las cuales no pude encontrar respuesta en ningún otro lugar):

  1. Si fail2ban bloquea una IP debido a una autenticación fallida en un puerto, ¿ese usuario aún podrá ingresar a través de otros puertos abiertos?
  2. ¿Cómo se compara el bloqueo de puertos específicos con el bloqueo de todos los puertos usando la configuración mencionada aquí? ¿No sería más seguro bloquear todos los puertos abiertos ya que, en última instancia, no quiero que entre el hacker?

Respuesta1

(Suponiendo que el sistema operativo sea Linux)

falla2banEs una herramienta bien hecha, bendecida con un alto nivel de configuración.

En Linux Ubuntu, la configuración está en/etc/fail2ban

Pregunta 1

jail.confA menos que cambie la configuración, solo se bloquearán los puertos mencionados para el servicio en particular.

Pregunta 2

También puedes bloquear todos los puertos. Depende del nivel de seguridad que desees, pero bloquear todos los puertos puede tener inconvenientes.

Personalmente prefiero bloquear sólo el puerto del que se ha abusado. Porque

  • Si también se abusa de otros puertos (y si se declaran en jail.conf), también se bloquearán
  • algunas direcciones IP son compartidas por toda una empresa o por muchas personas; entonces, al bloquear todos los puertos por un abuso de ssh, evitará que todos en esa dirección accedan, http/spor ejemplo
  • También podría verse afectado por un bloqueo total. Por ejemplo, comete algunos errores de contraseña al utilizar ssh, y no podrá acceder a otro puerto que permitiría un acceso diferente, por ejemplo del proveedor.

Para bloquear más o todos los puertos, puede modificar el jail.confarchivo.

Algunos de los atributos predeterminados son (en [DEFAULT])

# "bantime" is the number of seconds that a host is banned.
bantime  = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime  = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 5

# Ports to be banned (Usually should be overridden in a particular jail)
port = 0:65535

es decir, todos los puertos.

Por [sshd]ejemplo (y todos los servicios) portse redefine

[sshd]
port    = ssh

Simplemente podría comentar la portlínea para volver a los valores predeterminados, pero yo agregaría un comentario y una nueva línea de puerto para facilitar el mantenimiento (otras personas/usted en 3 años)

[sshd]
# 25 Aug 2020 Rohit, block all ports
#port    = ssh
port = 0:65535

Cambiar el valor predeterminado

Verás en el action.ddirectorio la lista de posibles acciones. El valor predeterminado en jail.conf,

banaction = iptables-multiport

que también se puede cambiar a

banaction = iptables-allports

eso afectaría a todos los servicios de no redefinirse banaction.

Reiniciando fail2ban

Luego reinicie el servicio, para systemd

systemctl restart fail2ban.service

o

service fail2ban restart

(Para su información, el filter.ddirectorio enumera para cada servicio la forma en quefalla2bandetecta un intento de intrusión)

Consulte también los comentarios a continuación que pueden proporcionar información valiosa.

información relacionada