HackingLinuxServidores

Configurando el servidor SSH (ssh-parte 3)

ssh
b4rt

b4rt

Configurando el servidor SSH (ssh-parte 3)

Como habrás notado, ssh se puede utilizar tanto como cliente y servidor, primero vamos a configuar el servidor.
Para esto, vamos a modificar el achivo sshd_config, normalmente se encuentra en /etc/ssh/sshd_config


root@b4rt$ vim /etc/ssh/sshd_config
Captura

Al abrir el fichero, notamos una inmensa cantidad de lineas, llenas de parametros, , cada uno con opciones.
las lineas que tengan el simbolo "#", son comentarios, así que, como en cualquier script, debemos descomentar las lineas que querramos usar.
SSH por defecto, va a tener varias opciones activadas, asi que debemos tener cuidado de nunca dejar este achivo con las configuraciones por defecto.
Bien, manos a la obra.

Port

SSH por defecto usa el puerto 22, pero podemos usar cualquier puerto disponible del servidor,
Recomendacion: Utilizar algun puerto no conocido, pues la mayoría de ataques autimatizados, toman el puerto 22 como punto de partida.

PubkeyAuthentication yes

AdressFamily

Podemos seleccionar  entre: Any, inet (IPv4), inet6 (IPv6).
Recomendación: En la mayorìa de configuraciones que hagamos, procuremos ser restrictivos, al mayor nivel que podamos. Por ejemplo, si no está en tus planes utilizar IPv6, sólo debemos permitir IPv4.

AddressFamily inet4

UsePrivilegeSeparation

Al momento de iniciar una sesi’on, se inicia un hilo en paralelo, que divide los procesos del servidor, limitando ciertos comandos de root, es muy util al momento de evitar una escalada de privilegios.

UsePrivilegeSeparation yes

HostKey

La ruta en donde se almacena la clave privada de nuestro servidor

HostKey [ruta]

PermitRootLogin

Es vital prohibir el acceso al servidor, utilizando root.

PermitRootLogin no

PubkeyAuthentication

 Para permitir la autenticación de usuarios mediante llaves.

PubkeyAuthentication yes

AuthorizedKeysFile

La ruta en la que se almacenan las llaves públicas de los usuarios a quienes vamos a permitirles establecer alguna conexión.

AuthorizedKeysFile [ruta]

PasswordAuthentication

Como usaremos llaves para conectarnos, esta opción debe estar denegada

PasswordAuthentication no

AuthorizedKeysFile

La ruta en la que se almacenan las llaves públicas de los usuarios a quienes vamos a permitirles establecer alguna conexión.

AuthorizedKeysFile [ruta]

AllowUsers

Aquí debemos especificar qué usuarios son los autorizados a conectarse.

AllowUsers TuUsuario

PermitEmptyPasswords

No debemos permitir passwords vacias.

PermitEmptyPasswords no

AllowUsers

Aquí debemos especificar qué usuarios son los autorizados a conectarse.

AllowUsers TuUsuario

AllowGroups

Aquí agregamos los grupos.

AllowGroups TuGrupo

UsePAM

Como usaremos llaves publicas y privadas, esta opcion debería esta en NO

UsePAM no

X11Forwarding

Si estamos en un VPS, no necesitamos un módulo para ejecutar aplicaciones en modo grafico.

X11Forwarding no

ListenAddress

Si queremos especificar desde que IP permitiremos la conexión.

ListenAddress [IP]

Banner

Un texto de bienvenida al momento de conectarnos.

Banner [ruta]

KexAlgorithms

Los algoritmos que utilizaran las llaves publicas y privadas.

KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 inet4

Ciphers

Los algoritmos de cirado para nuestra conexión.

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctAddressFamily inet4

MaxAuthTries

El máximo de intentos permitidos por login.

MaxAuthTries 3
Related posts
Linux

My problem with Arch Linux

HackingLinuxServidores

¿Qué es SSH? (ssh-parte 1)

HackingLinuxServidores

SSH, LLaves publicas (ssh-parte 2)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *