• Retrointernet
Retrointernet
Cómo hacer más seguro el servicio SSH con IPTABLES

Cómo hacer más seguro el servicio SSH con IPTABLES

  • 13 de noviembre de 2018

Si estamos utilizando un servidor externo y utilizamos el comando SSH para acceder al sistema, entonces deberemos tener presente la seguridad del servicio a través del puerto 22. A continuación se comentarán algunas recomendaciones de cómo configurar el firewall de Linux para aumentar la seguridad de los accesos por SSH.

Permitir todo SSH entrante

Permite a todas las conexiones SSH entrantes acceder al sistema:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

El segundo comando, permite el tráfico saliente de las conexiones SSH establecidas, solo es necesario si la política de OUTPUT no está configurada como ACCEPT.

Permitir SSH entrante desde una dirección IP específica o subred

Para permitir conexiones SSH entrantes desde una dirección IP (tenemos una IP dedicada) o subred específica, debemos especificar la fuente. Por ejemplo, si deseamos permitir toda la subred 15.14.15.0/24:

iptables -A INPUT -p tcp -s 15.14.15.0/24 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

El segundo comando, permite el tráfico saliente de las conexiones SSH establecidas, solo es necesario si la política de OUTPUT no está configurada como ACCEPT.

Permitir SSH saliente

Si la política de OUTPUT del firewall no está configurada como ACCEPT, y se desea permitir conexiones SSH salientes (ee servidor inicia una conexión SSH a otro servidor):

iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Permitir Rsync entrante desde una dirección IP específica o subred

Rsync, se ejecuta en el puerto 873, se puede utilizar para transferir archivos de un ordenador a otro.

Para permitir las conexiones rsync entrantes desde una dirección IP o subred específica, es necesario indicar la dirección IP de origen y el puerto de destino. Por ejemplo, si se desea permitir que toda la subred 15.14.15.0/24 pueda sincronizar el servidor, ejecute estos comandos:

iptables -A INPUT -p tcp -s 15.14.15.0/24 --dport 873 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 873 -m conntrack --ctstate ESTABLISHED -j ACCEPT

El segundo comando, permite el tráfico saliente de las conexiones SSH establecidas, solo es necesario si la política de OUTPUT no está configurada como ACCEPT.

Vídeo relacionado