GNU/Linux >> Tutoriales Linux >  >> Linux

Limite el acceso SSH por dirección IP

Este artículo describe cómo proteger el acceso SSH a su servidor realizando las siguientes acciones:

  • Evitar intentos de inicio de sesión para direcciones IP específicas en la configuración permisiva
  • Permitir el acceso a direcciones IP específicas en la configuración restrictiva

Configuración permisiva

La configuración permisiva permite el acceso a todos excepto a la dirección IP denegada. Puede denegar el acceso a direcciones IP específicas de las siguientes maneras:

envolturas TCP

Realice esta configuración en el archivo /etc/hosts.deny agregando la siguiente regla:

# vi /etc/host.deny

Establezca una regla de denegación de una de las siguientes maneras:

sshd: Bad_IP_address
sshd: 192.168.0.8

sshd: Bad_Segment/CIDR
sshd: 192.168.0.0/24

sshd: Bad_IP_address, Bad_IP_address
sshd: 192.168.0.3, 192.168.0.4

iptables

Esta configuración reside en la configuración de las reglas del cortafuegos del sistema operativo.

# iptables -A INPUT -s "BAD_IP" -p tcp --dport SSH_Port -j DROP

Bloquear una dirección IP :

# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j DROP

Bloquear un segmento :

# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j DROP

Configuración restrictiva

Esta configuración permite el acceso solo a direcciones IP específicas y descarta otro tráfico entrante.

Envoltorios TCP

Primero, deniegue todo el tráfico entrante a SSH en /etc/hosts.deny archivo:

# vi /etc/hosts.deny
sshd: ALL

Luego, permita el acceso a direcciones IP de confianza:

# vi /etc/hosts.allow
sshd: Trusted_IP_address
sshd: 192.168.0.8

sshd: Trusted_Segment/CIDR
sshd: 192.168.0.0/24

sshd: Trusted_IP_address, Trusted_IP_address
sshd: 192.168.0.3, 192.168.0.4

iptables

Para las tablas de IP, el orden en que coloca las reglas es muy importante. Es por eso que debe configurar primero las reglas de autorización y luego la regla de denegación.

# iptables -A INPUT --source Trusted_IP -p tcp --dport SSH_PORT  -j ACCEPT

Aceptar tráfico desde una IP:

# iptables -A INPUT --source 192.168.0.8 -p tcp --dport 22 -j ACCEPT

Aceptar tráfico de un segmento:

# iptables -A INPUT --source 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT

Configuración de la regla de bloqueo:

iptables -A INPUT -p tcp --dport 22 -j DROP

Cómo mejorar los cambios

Puede revisar sus cambios ejecutando los siguientes comandos según la configuración restrictiva o permisiva:

# cat /etc/hosts.deny
# cat /etc/hosts.allow
# iptables -L

Nota: Algunas distribuciones incluyen software de firewall predeterminado, como UFW para Debian® y el sistema operativo Ubuntu® y derivados, Firewalld para Red Hat® Enterprise Linux® 7 y derivados.

Configure ufw para denegar IP, número de puerto y protocolo específicos

Para bloquear una dirección IP al puerto TCP 22:

# ufw deny proto tcp from 192.168.0.8 to any port 22

Para bloquear una subred:

# ufw deny proto tcp from 192.168.0.0/24 to any port 22

Para listar las reglas configuradas:

# ufw status numbered

Configure firewalld para denegar una dirección IP, un número de puerto y un protocolo específicos

En firewalld, puede prohibir una dirección IP o un segmento, pero no permitirá ningún tipo de conexión:

Bloquear una dirección IP:

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.8' reject"

Bloquear un segmento:

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.0/24' reject"

Es por eso que puede optar por incluir en la lista blanca las direcciones IP de confianza para conectarse al puerto SSH:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.20" port protocol="tcp" port="22" accept'

Tienes que recargar la configuración de firewalld:

# firewall-cmd --reload

Enumere las reglas configuradas en el cortafuegos:

# firewall-cmd --list-all

Linux
  1. ¿Cómo leer una dirección IP al revés?

  2. Ssh:¿registro de intentos de acceso Ssh?

  3. ¿Cómo crear un nuevo usuario con acceso Ssh?

  4. ¿Permitir acceso Ssh remoto?

  5. Cómo empezar a utilizar SSH

¿Cómo podemos limitar el acceso SSH con UFW en Linux Mint 20?

Cómo deshabilitar el acceso SSH raíz en CentOS 7

¿Resolver la dirección Mac desde la dirección IP en Linux?

Acceso SSH para cPanel

Usuarios SSH adicionales

Resolución de la dirección MAC desde la dirección IP en Linux