7 votos

Restringir el acceso ssh a la IP seleccionada en MacOS

Quiero restringir el acceso a ssh en MacOS 10.12 a las IPs seleccionadas en mi red local. He intentado escribir los siguientes archivos:

# /etc/hosts.allow
sshd: 192.168.1.32
sshd: 192.168.1.33

# /etc/hosts.deny
sshd: ALL

Entonces reiniciando con:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist

Descargando ssh.plist desactivado con éxito ssh, pero después de la recarga todavía puedo conectar desde cualquier IP.

¿Cómo puedo configurar una lista blanca de IP?

6voto

Jose Chavez Puntos 645

Hosts.allow y hosts.deny sólo se utilizan cuando se ejecuta el servicio (sshd) a través de wrappers TCP. La instalación por defecto de MacOS no lo hace, por lo que no tendrán ningún efecto.

Como recomiendan otras respuestas, podrías utilizar un firewall para restringir el acceso a SSH. Podría ser un firewall de hardware (es decir, "externo") o un firewall de software como el firewall pf incorporado.

Sin embargo, no recomendaría usar sólo un cortafuegos. Lo mejor es limitar el servicio sshd en sí mismo - y si quieres, puedes añadir la protección del cortafuegos a eso. El razonamiento detrás de esto es que si por alguna razón su firewall se desactiva, los usuarios externos de repente tendrían acceso a comunicarse con sshd - usted realmente no quiere eso.

Para configurar sshd para limitar el acceso, tendrá que editar el archivo /etc/ssh/sshd_config, y añadir lo siguiente:

AllowUsers username@192.168.1.32 username@192.168.1.33

donde sustituyes "nombre de usuario" por tu nombre de usuario real.

Si lo desea, puede sustituir las partes por * para denotar un comodín, como por ejemplo username@192.168.1.* o *@192.168.1.32 . Puede leer más sobre las opciones en la página man de sshd_config.

0 votos

No puedo pasar la autentificación de la contraseña con este método. Se me pide la contraseña 4 veces y luego recibo la respuesta Received disconnect from [...] port 22:2: Too many authentication failures

0 votos

¿Desea iniciar sesión con una contraseña? - ¿Cuál es su nombre de usuario? Por favor, pega la línea real que has añadido a sshd_config?

0 votos

He añadido AllowUsers admin@192.168.1.32 admin@192.168.1.33 y luego intentó conectarse con ssh admin@192.168.1.31 . Sin el filtro, escribo mi contraseña de administrador para iniciar sesión con éxito.

2voto

Douglas Puntos 10417

hosts.allow y hosts.deny ha quedado obsoleto y debería utilizar un cortafuegos ( pf ).

La regla por defecto para pf se puede encontrar en /etc/pf.conf . Puede editar este directorio de archivos o crear su propio conjunto de reglas personalizado, pero asegúrese de copiar el contenido del archivo predeterminado en él. Añada las dos líneas siguientes:

# The name of the network interface as shown in ifconfig
ext_if="en0"

tcp_services = "{ssh}"
icmp_types = "{echoreq, unreach}"
trusted = "{192.168.1.32, 192.168.1.33}"

# Exempt the loopback interface to prevent services that use if from being blocked
set skip on lo0

# This is a desktop so we have to be permissive in allowing outgoing  connections
pass out quick modulate state

# Block all incoming SSH Traffic by default 
  block in on $ext_if inet proto tcp from any to any port $tcp_services

# Allow SSH traffic from trusted IPs
pass in on $ext_if inet proto tcp from $trusted to any port $tcp_services

A continuación, active pf con el comando

$ sudo pfctl -e                                 #if using the default /etc/pf.conf
$ sudo pfctl -e -f /path/to/custom_pf.conf      #if using a custom pf.conf

Este conjunto de reglas bloqueará, por defecto, SSH a todas las IPs excepto a las de confianza que se definan. Todos los demás servicios no se verán afectados.

0 votos

He editado /etc/pf.conf , luego se habilitó pf con sudo pfctl -e -f /etc/pf.conf . Ahora no puedo conectarme desde mi otra máquina: ssh admin@192.168.1.31 se queda colgado para siempre. Además esto bloquea todo el tráfico, no puedo conectarme a ningún sitio web con pf habilitado.

0 votos

Me he adelantado y he escrito un conjunto de reglas más completo para una configuración de escritorio. Ver mis ediciones.

0 votos

Gracias, me decanté por la otra respuesta que era más sencilla de aplicar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X