Internet es un lugar salvaje y aterrador, lleno de descontentos cuyos motivos van desde la curiosidad hasta la actividad delictiva. Estos indeseables buscan constantemente computadoras que ejecuten servicios que esperan explotar; por lo general, los servicios más comunes, como SSH, HTTP, FTP, etc. Los escaneos generalmente se dividen en una de dos categorías:
- Escaneos de reconocimiento para ver qué dirección IP tienen esos servicios abiertos.
- Análisis de exploits contra direcciones IP que se ha encontrado que ejecutan un servicio específico.
Teniendo en cuenta el tamaño de Internet, normalmente no es factible buscar en cada puerto de cada dirección IP para encontrar lo que se escucha en todas partes. Este es el quid de los consejos para cambiar su puerto predeterminado. Si estas personas descontentas desean encontrar servidores SSH, comenzarán a sondear cada dirección IP en el puerto 22 (también pueden agregar algunas alternativas comunes, como 222 o 2222). Luego, una vez que tengan su lista de direcciones IP con el puerto 22 abierto, iniciarán su fuerza bruta de contraseñas para adivinar nombres de usuario/contraseñas o lanzarán el kit de explotación de su elección y comenzarán a probar vulnerabilidades conocidas (al menos para ellos) en el sistema de destino.
Esto significa que si cambia su puerto SSH a 34887, ese barrido lo pasará por alto, lo que probablemente resulte en que no sea el objetivo de la intrusión de seguimiento.
Parece color de rosa ¿verdad? Sin embargo, hay algunas desventajas.
- Asistencia al cliente:todas las personas que se conecten a su servidor deberán conocer y utilizar el puerto modificado. Si se encuentra en un entorno muy administrado, esta configuración se puede transferir a los clientes o, si tiene pocos usuarios, debería ser fácil de comunicar.
- Excepciones de documentación:la mayoría de los dispositivos de red, como firewalls e IDSes, están preconfigurados para que los servicios comunes se ejecuten en puertos comunes. Cualquier regla de firewall relacionada con este servicio en este dispositivo deberá ser inspeccionada y posiblemente modificada. De manera similar, las firmas de IDS se modificarán para realizar solo la inspección SSH en el puerto 22. Deberá modificar cada firma, cada vez que se actualicen, con su nuevo puerto. (Como punto de datos, actualmente hay 136 firmas de snort VRT y ET que involucran SSH).
- Protecciones del sistema:los Linux modernos a menudo se envían con una capa de kernel MAC y/o sistemas RBAC (por ejemplo, SELinux en RedHat o AppAmor en Debian) y están diseñados para permitir que las aplicaciones hagan exactamente lo que deben hacer. . Eso podría ir desde acceder al
/etc/hosts
archivo, escribir en un archivo específico o enviar un paquete en la red. Dependiendo de cómo esté configurado este sistema, puede, de forma predeterminada, prohibirsshd
del enlace a un puerto no estándar. Necesitará mantener una política local que lo permita. - Supervisión de terceros:si tiene una división de seguridad de la información externa o subcontrata la supervisión, deberá informarles del cambio. Cuando realizo una evaluación de seguridad o analizo registros en busca de amenazas de seguridad, si veo un servidor SSH ejecutándose en un puerto no estándar (o un servidor SSH en un servidor que no es UNIX/Linux) lo trato como una posible puerta trasera. e invoque la parte del sistema comprometido del procedimiento de manejo de incidentes. A veces se resuelve en 5 minutos después de hacer una llamada al administrador y me dicen que es legítimo, momento en el que actualizo la documentación, otras veces es realmente malo lo que se soluciona. En cualquier caso, esto puede resultar en un tiempo de inactividad para usted o, al menos, una llamada estresante cuando contesta su teléfono y escucha:"Hola, soy Bob de la Oficina de Seguridad de la Información. Tengo algunas preguntas para usted". ."
Antes de cambiar su puerto, debe tener todo esto en cuenta para saber que está tomando la mejor decisión. Es posible que algunas de esas desventajas no se apliquen, pero algunas ciertamente lo harán. Considere también contra qué está tratando de protegerse. A menudo, es simplemente más fácil configurar su firewall para permitir el acceso solo a 22 desde hosts específicos, en lugar de todo Internet.
Sí, puede ser, no aumentando la seguridad, pero puede reducir la cantidad de intentos fallidos de inicio de sesión en su servidor. Siempre cambio mi ssh predeterminado para reducir las advertencias que recibo de ossec. Además, si usa un puerto realmente aleatorio y alguien aún intenta acceder a su máquina, es más probable que se trate de un ataque dirigido en lugar de un escáner aleatorio.
Como dijeron otros, poner SSH en un puerto que no sea el 22 hará que sea más improbable que se produzca un escaneo aleatorio. Usted será el objetivo si el atacante intenta obtener su servidor, no cualquier servidor.
Tengo un servidor con ssh
vinculado a un puerto alto aleatorio. Y tengo un ssh honeypot en el puerto 22, que responderá a todos y cada uno de los intentos de inicio de sesión con un mensaje de "acceso denegado".
No creo que sea una defensa por oscuridad , pero defensa en profundidad :para atacar mi servidor, el atacante primero debe encontrar el puerto. Si tengo algunos honeypots falsos (muchos puertos redirigiendo al mismo honeypot), el atacante encontrará muchos falsos y no tendrá forma de saber si accedió al ssh real o no.
Sin embargo, es solo la defensa. Tengo portsentry
activo también, así que si alguien prueba un escaneo de puertos, será bloqueado por una hora. Si aplican fuerza bruta a la contraseña en el ssh correcto, recibirán 'acceso denegado' durante una hora. Si adivinan con éxito la contraseña, se les presentará un aviso de PAM que les solicitará el token de autenticación de Google.
El costo de cambiar el puerto es muy bajo y creo que las desventajas están justificadas por las ventajas.