Este artículo describe cómo configurar un inicio de sesión de Shell seguro (SSH) restringido a un servidor desde una dirección IP o un nombre de host en particular.
Para lograr esto, use TCP Wrappers porque proporcionan un filtrado de tráfico básico del tráfico de red entrante. Aunque en la superficie son más complejos, los TCP Wrappers utilizan esencialmente dos archivos:/etc/hosts.allow y /etc/hosts.deny .
Si los archivos aún no existen, puede crearlos. usando el siguiente comando:
sudo touch /etc/hosts.{allow,deny}
Denegar todos los hosts
Se considera una buena práctica denegar todas las conexiones SSH entrantes. Para hacer eso, realice los siguientes pasos:
-
Abra el archivo /etc/hosts.deny usando un editor de texto:
vi /etc/hosts.deny
-
Agregue la siguiente línea para denegar todas las conexiones SSH entrantes al servidor:
sshd: ALL
-
Guarde y cierre el archivo.
Eso es todo. Esto bloquea todos los accesos SSH al host
Permitir direcciones IP
Ahora, realice los siguientes pasos para configurar las direcciones IP con autorización para iniciar sesión mediante SSH:
-
Abra el archivo /etc/hosts.allow archivo usando un editor de texto:
vi /etc/hosts.allow
-
Agrega un
sshd
para permitir que la dirección IP de su elección se conecte mediante SSH público. Por ejemplo, la siguiente línea permite la red172.168.0.21
:sshd: 172.168.0.21
-
Guarde y cierre el archivo.
Los archivos TCP Wrapper aceptan una lista de entradas separadas por comas, por lo que puede agregar direcciones a la primera entrada de esta sección.
sshd: 172.168.0.21, 10.83.33.77, 10.63.152.9, 10.12.100.11, 10.82.192.28
También aceptan direcciones IP parciales como subredes, por lo que puede permitir el 172.168.0.0/24
completo. como:
sshd: 172.168.0.
O como se muestra en el siguiente ejemplo:
sshd : localhost
sshd : 192.168.0.
sshd : 99.151.250.7
Puede permitir o denegar según la dirección IP, la subred o el nombre de host. Enumere las reglas en orden de más a menos específico. Tenga en cuenta que los servidores basados en sistemas operativos Linux® buscan primero en hosts.allow archivo que comienza de arriba a abajo, seguido de hosts.deny expediente. Por ejemplo, un intento de conexión SSH desde una dirección IP en hosts.allow está permitido, aunque hosts.deny bloquea todas las conexiones.
Con esta configuración, cualquier cliente listado en hosts.allow Los archivos están permitidos a través de SSH y cualquier cliente no incluido en la lista está bloqueado.
Nota :No es necesario reiniciar el demonio SSH para que los cambios surtan efecto.