Cómo proteger su inicio de sesión SSH – Alojamiento –

Cuando se trata de un VPS o un servidor dedicado, utilizará Secure Shell para acceder al servidor y gestionar las tareas diarias. Si accede a su servidor de forma remota (mediante SSH), es una buena idea protegerse contra ataques. Aquí hay algunas recomendaciones sobre cómo proteger su inicio de sesión SSH:

Echemos un vistazo más de cerca a estas recomendaciones:

Dado que al usuario raíz se le otorgan todos los privilegios en el servidor, y exponer el inicio de sesión de raíz representa una amenaza para todo su sistema, puede ser una buena decisión deshabilitar los inicios de sesión de raíz.
Aquí se explica cómo hacerlo.

Etapa de preparación: asegúrese de crear un usuario con derechos de superusuario, también conocido como sudo, para realizar todas las acciones administrativas necesarias. Una vez que haya iniciado sesión en el servidor, siga estos pasos:

1. Para crear un nuevo usuario, ejecute el siguiente comando:

useradd -m -s /bin/bash -c “Administrador” usuario técnico

Dónde:

Useradd es un comando real para crear un usuario
-m: un argumento que crea un usuario con un directorio de inicio predeterminado en el formato /home/user (en este caso home/techuser).

Si desea utilizar un argumento diferente al directorio predeterminado, utilice el argumento -d en lugar de -m y especifique el directorio deseado, por ejemplo, /ejemplo/inicio/usuario).

-s: permite especificar el shell para el usuario (en este caso el shell es /bin/bash)
-c – adición de comentarios. El comentario real aquí es 'Admin'
techuser: un nombre de usuario de ejemplo. En lugar de techuser, puedes usar cualquier nombre de usuario que desees, solo asegúrate de modificar todos los comandos anteriores en consecuencia).

Establezca una contraseña para el usuario recién creado (asegúrese de configurarla).

NOTA: Mientras escribe la nueva contraseña, no verá aparecer ningún símbolo, ya que los campos ocultos no muestran nada en absoluto. Si dudas sobre tu contraseña, puedes presionar Ctrl + U para vaciar el campo y luego comenzar desde cero.

usuario técnico contraseña

Una vez que haya ingresado la contraseña, debería recibir el siguiente resultado:

Ahora necesitas asignar derechos sudo (superusuario) a tu usuario. Este proceso varía según la distribución de Linux que esté utilizando.

Debian (también Ubuntu):

usermod -aG sudo techuser

CentOS/AlmaLinux/CloudLinux:

usermod -aG rueda techuser

Ahora puedes probar si tu usuario recién creado tiene derechos sudo:
Cambie al nuevo usuario que ha creado:

su – usuario técnico

Anteponga los comandos que requieren acceso de superusuario con sudo:
Por ejemplo: sudo ls -la /root

Se le pedirá que ingrese una contraseña para su usuario que se utilizará para iniciar sesión en el sistema y confirmar las acciones sudo siempre que el sistema las requiera.
Si hiciste todo correctamente, te dará el resultado del archivo:

Sin embargo, si está utilizando WHM/cPanel, puede asignar derechos sudo a cualquier usuario de cPanel. Es preferible utilizar el comando useradd. Para hacerlo, una vez creada una cuenta de cPanel, puede ir a su WHM >> Centro de seguridad >> Administrar grupo de ruedas >> Agregar un usuario al grupo de ruedas.

See also  10 ejemplos y opciones de diseño de sitios web para su sitio | Nombre barato

Elija su nombre de usuario de cPanel de la lista y haga clic en Agregar al grupo.

2. Deshabilite la opción de inicio de sesión SSH para root:

Ahora abra /etc/ssh/sshd_config. Puedes usar el editor de texto nano para esto:

sudo nano /etc/ssh/sshd_configLuego busque (ya sea con o sin “#” al principio de la línea):

#PermitRootLogin sí

En su lugar, configúrelo en esto:

Asegúrese de que la línea editada no comience con #, ya que se considerará solo un comentario y no tendrá ningún efecto.

También puede editar su puerto SSH predeterminado en este archivo. Vea cómo realizar estos cambios a continuación.

De forma predeterminada, el puerto SSH está configurado en 22.
Localice la siguiente línea en el mismo archivo /etc/ssh/sshd_config:

Elimine # y cambie 22 al número de puerto que desee. Aunque asegúrese de no utilizar los puertos que utilizan otros sistemas (es decir, 465.993, que son puertos de correo, etc.).

Para conservar el puerto personalizado, asegúrese de que el nuevo puerto que configuró esté funcionando. Para la mayoría de los firewalls, los puertos hasta el 1000 están abiertos de forma predeterminada. Si va a utilizar números más altos, asegúrese de abrirlos manualmente y agregar la regla correspondiente a la configuración del firewall.

Por ejemplo, se puede implementar mediante el complemento CSF ​​para servidores con WHM. Por favor, siga .
Para probar la configuración debes dejar 2 puertos abiertos:
Puerto 22
Puerto 22345
Una vez que cierre sesión e inicie sesión nuevamente usando su puerto personalizado, y se haya asegurado de que le permite conectarse, puede comentar (poniendo # al principio de la línea) o eliminar la cadena con el Puerto 22.

Guarde los cambios y cierre el archivo. Presione Ctrl + O para guardar. Escriba Ctrl + X para salir.

Para aplicar la configuración, es necesario reiniciar el servicio SSH. Si ha iniciado sesión como usuario técnico (o uno personalizado creado para reemplazar a root), deberá usar el comando sudo para realizar esta acción.

Dependiendo de tu distribución y su versión, el comando requerido puede ser diferente, así como el nombre del servicio SSH (sshd para Centos y CloudLinux y ssh para Ubuntu).
En el siguiente ejemplo usamos sudo systemctl restart sshd mientras ejecutamos CentOS 7/AlmaLinux.

Otras variantes si ejecutas alguna otra distro o versión (p.ej. Centos 6, Ubuntu 14.04 y versiones anteriores):

sudo /etc/init.d/sshd reiniciar
reinicio del servicio sudo sshd
sudo reiniciar ssh

Si desactivó el inicio de sesión de root en etapas anteriores, aún podrá iniciar sesión en su panel de control con los detalles de root.
Si usa una licencia de cPanel para su servidor, puede deshabilitar la autenticación de contraseña usando el menú Ajuste de autorización de contraseña SSH en el panel WHM.

NOTA: Una vez que presione Desactivar autenticación de contraseña, todos los usuarios de cPanel podrán acceder a SSH solo a través de claves SSH.

See also  Logotipos de gimnasios gratuitos: cree su propio diseño de logotipo de gimnasio en línea

En su máquina local, necesita tener un par de claves SSH (una pública y otra privada).
Genere claves SSH en su máquina local (aplicable para Linux y MacOS):

ssh-keygen -t rsa

Verá este mensaje:
> Generación de par de claves rsa pública/privada.

Cuando se le solicite ingresar el archivo en el que desea guardar la clave, presione Entrar. Esto acepta la ubicación y el nombre del archivo predeterminado. Sólo asegúrese de no sobrescribir sus claves SSH existentes. Puede encontrarlos usando el comando (puede cancelar la creación de claves SSH usando el atajo Ctrl + C y luego ejecutar el siguiente comando para ver si ya tiene alguna clave):

ls -la ~/.ssh/

> Ingrese el archivo en el que guardar la clave (/home/you/.ssh/id_rsa): presione Enter.

Cuando se le solicite, escriba una frase de contraseña segura. Para más información, ver .

Ingrese la frase de contraseña (vacía si no hay frase de contraseña): escriba una frase de contraseña
Ingrese la misma frase de contraseña nuevamente: escriba la frase de contraseña nuevamente

La frase de contraseña se utiliza para proteger su clave. Se te solicitará cuando te conectes vía SSH. No se recomienda generar claves SSH sin contraseña por razones de seguridad.
Puede consultar el proceso de generación de claves ssh a continuación:

Una vez que haya generado su clave SSH, se le proporcionarán dos claves. Puede consultarlos en su carpeta de inicio en un directorio llamado .ssh:

ls -la ~/.ssh/
id_rsa id_rsa.pub

Para Windows existen varios programas que le permiten generar claves SSH:

WSL (Windows 10) brinda una experiencia similar a su distribución de Linux habitual, solo necesita activar WSL, instalar el software de distribución que desee desde la Tienda Windows y ejecutarlo siguiendo estas instrucciones. Una vez que lo instale y ejecute, podrá crear un par de claves SSH de la misma manera que lo hace en Linux (como se muestra en los pasos anteriores).

MobaXterm, ConEmu y similares también le permiten simular el Shell de Linux para que pueda usar programas SSH de la misma manera que lo hace en Linux (y WSL).

PuTTY es un cliente SSH que le permite conectarse de forma remota a servidores SSH, pero no simula el entorno de shell, por lo que generar un par de claves SSH aquí es un proceso diferente. Para ello, necesitará PuTTYgen que esté instalado junto con PuTTY:

1. Vaya al menú Inicio de Windows >> Todos los programas >> PuTTY >> PuTTYgen.

2. Haga clic en Generar y comience a mover el mouse aleatoriamente dentro de la ventana de PuTTYgen.
3. Opcional: ingrese un comentario clave, que identificará la clave (útil cuando usa varias claves SSH).
4. Escriba la frase de contraseña y confírmela. La frase de contraseña se utiliza para proteger su clave. Se te solicitará cuando te conectes vía SSH.
5. Haga clic en Guardar clave privada y Guardar clave pública para guardar sus claves en consecuencia. Puede copiar una clave pública a su servidor SSH remoto directamente desde la ventana de PuTTYgen como se muestra en la captura de pantalla.

See also  Vídeo: Cómo cambiar de forma masiva la información de contacto de mis dominios - Vídeos instructivos -

Copiar la clave pública a su servidor SSH

Debe copiar su clave pública al servidor en un archivo llamado Authorized_keys ubicado en la misma carpeta .ssh de su usuario remoto en el servidor. Hay un comando en Linux y MacOS que puedes usar para hacer esto automáticamente:

ssh-copy-id -p su_número_de_puerto_personalizado usuario_tecnico@suIPdelservidor

O puede copiar manualmente el contenido de id_rsa.pub (es importante copiar el contenido de su clave pública, NO la privada):

Y luego péguelo en el archivo autorizado_keys en su servidor (cada nueva clave comienza en una nueva línea, en caso de que necesite agregar varias claves en el futuro).

Para editar el archivo autorizado_keys en su servidor remoto, puede usar este comando una vez que esté conectado nuevamente al servidor:

nano ~/.ssh/claves_autorizadas

Una vez realizados los cambios, presione Ctrl + O para guardar. Escribe Ctrl + X para salir
Probablemente verás todo el texto pegado en una sola línea, por lo que puede aparecer de manera diferente en tu pantalla.

Si tiene una licencia de cPanel, es posible configurar claves SSH usando WHM o cPanel.

WHM

1.Inicie sesión en su panel WHM como root.
2. Vaya al Centro de seguridad >> Administrar las claves SSH de root >> Generar una nueva clave:

3.Especifique la configuración clave:

Nombre de clave: ingrese su clave única (en este ejemplo usamos ncstest)
Contraseña clave: ingrese o presione Generar clave
Contraseña nuevamente: vuelva a ingresar la contraseña
Elija el tipo: RSA (más lento de generar pero más rápido de validar) o DSA (más rápido de generar pero más lento de validar)
Tamaño de clave: elija el tamaño de clave (cuanto mayor sea el número, más seguridad, pero menor velocidad de autenticación)
Y presione Generar clave.

Una vez hecho esto, se generan un par de claves públicas y privadas.
Para utilizarlo para iniciar sesión, debe autorizar la clave pública. Para hacerlo, regrese al administrador SSH >> claves_públicas >> busque sus claves y vaya a Administrar autorización.

En la ventana que aparece, presione Autorizar.

Luego, presione Volver al Administrador SSH, busque la clave privada que acaba de crear y cópiela.

Si va a utilizar PUTTY, deberá convertirlo al formato PPK. Para hacerlo, ingrese la contraseña de su usuario y presione convertir.

Para importar claves existentes, puede volver al administrador SSH y buscar la opción Importar clave.

Importar clave lo redirigirá a la siguiente ventana. Elija un nombre para esta clave y pegue la clave que desee (privada o pública) para importar. También será posible importar una clave PPK. Si no utiliza uno, puede dejar este campo vacío.

Además, puedes generar claves SSH directamente desde el cPanel.

Loading Facebook Comments ...
Loading Disqus Comments ...