El archivo /etc/ssh/sshd_config es la llave de funcionamiento de OpenSSH. Controla las opciones generales, que conviene adaptar a nuestras necesidades por seguridad.
Su disposición inicial, contiene solo los valores por defecto, que generalmente no son los más adecuados.
Modificarlos a nuestra conveniencia nos permitirá securizar el servidor en lo referente a conexiones con Openssh server.
Cuando editamos el fichero /etc/ssh/sshd_config, vemos que muchas de las líneas están comentadas (empiezan por el carácter #) y detallan brevemente cada una de las posibles configuraciones.
Para activar algunos parámetros, deberemos suprimir el comando # además de escribir el valor deseado para el mismo, si fuera necesario.
Algunas de las posibilidades más comunes para modificar el fichero de configuración, son:
En lugar de permitir a determinados usuarios (o grupos), también podemos asimismo denegar a estos usuarios o grupos de forma explícita.
Solo hay que agregarlo al sshd_config, teniendo en cuenta que los nombres de usuario y/o grupos deben estar separados por un espacio. Así, para denegar a usuarios específicos la entrada al sistema por SSH, podemos seguir el siguiente ejemplo:
1.- Los usuarios trojano y virus, no se desea que puedan acceder a este sistema.
2.- Los grupos mac y windows, no se desea que puedan acceder a este sistema.
sudo gedit / etc / ssh / sshd_config
Agregamos la siguiente linea para denegar el acceso:
DenyUsers trojano y virus
DenyGroups mac windows
Podemos combinar ambas directivas para especificar más concretamente.
DenyUsers y AllowUsers para denegar o permitir usuarios
DenyGroups y AllowGroups para denegar o permitir grupos.
Por ssh por defecto se ejecuta en el puerto 22. La mayoría de los atacantes va a ir a comprobar si este puerto está abierto, para posteriormente, usar fuerza bruta para obtener nombre de usuario y contraseña.
Vamos a ver a continuación, como cambiar el número del puerto al, por ejemplo, el 222 para ejecutar en él el nuestro servicio ssh.
Esto lo podemos identificar, entre otros métodos, a partir de los registros (/ var / log / secure). Si vemos muchos inicios de sesión no válidos usando el servicio ssh y para cuentas que no existen en el sistema, y además proviniendo de direcciones IP que no reconoce, esto es síntoma de que puede estar recibiendo ataques de fuerza bruta.
Este tipo de ataques que propician en el log estas entradas no válidas, se detendrán si cambiamos el número de puerto tal y como vimos el punto 4.
Hay que tener en cuenta que si esto te está sucediendo, tendrás molestias en tu equipo que es posible funcione más lento. Tambien es recomendable ante estos ataques, reiniciar la sesión en el sistema e incluso el router, ya que necesitan conocer tanto la dirección IP como el número de puerto para la realización de estos ataques de fuerza bruta.
Cuando intentamos acceder a un servidor ssh, tenemos dos minutos para entrar correctamente con un usuario y contraseña válidos. Si no lo conseguimos en estos 2 casino online minutos, ssh se desconectará.
¿Son necesarios 2 minutos para teclear unas pocas letras? Mejor bajar este tiempo a 30 segundos, o 1 minuto, para no ser tan drásticos.
Para ello realizamos las siguientes acciones:
sudo Vi / etc / ssh / sshd_config
LoginGraceTime 1m
Si tenemos placas modernas o varias tarjetas de red en nuestro servidor, configuradas para diferentes direcciones IP, es posible que no quieras que todo el mundo acceda al server desde todas las IPs posibles. Me explico:
Supongamos que tenemos una placa de las modernas, de las que traen dual-lan, y tenemos configuradas dos conexiones tal que:
Eth0 - 192.168.10.200
Eth1 - 192.168.10.201
De forma predeterminada, ssh va a escuchar en todas las IPs anteriores.
Si queremos que los usuarios que inicien sesión sólo sean los que tengan las direcciones IP terminadas en 200 y 202, (o cualquier otra, por ejemplo, por que sean colaboradores, clientes, alumnos, etc…) tocaremos como siempre el txt sshd_config como ya hemos visto:
Una vez se haya entrado con éxito en el sistema, es posible setear el servicio para que cuando no haya actividad después de n minutos, éste determine que no hay actividad en el servicio, y por tanto desconecte la conexión.
En OpenSSH, esto puede lograrse mediante la configuración de estas opciones en el sshd_config:
ClientAliveCountMax: Indica el número total de conexiones que indican actividad (checkalives). Estos mensajes son enviados por el servidor ssh cuando no hay ninguna respuesta por parte del cliente ssh. El valor predeterminado es 3.
ClientAliveInterval: Tiempo de espera en segundos. Después de un número de segundos, el servidor ssh enviará un mensaje al cliente pidiendo respuesta de actividad. Por defecto es 0, de forma que el servidor no enviará ningún mensaje al cliente para verificar la conexión.
Así, si queremos que configurar ssh para desconectar de forma automática después de 10 minutos (600 segundos), modificaremos el archivo sshd_config estableciendo los valores de estos campos descritos acordes al timeout que queremos tener en nuestro sistema:
Las cookies de este sitio se usan para personalizar el contenido y los anuncios, para ofrecer funciones de medios sociales y para analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de medios sociales, de publicidad y de análisis web. Leer másAceptoSettings
Política de privacidad. (Privacy & Cookies Policy)
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.