Powerlinks Plugin: Record for page-titles updated successfully!.
Array ( [title] => updated [doa] => code:200. )
Fetched title: 'Noticias relacionadas' xtitle==research!rsc: Lessons from the Debian/OpenSSL Fiasco

Servidor SSH (sshd)

El servidor SSH es el demonio responsable de gestionar las conexiones remotas SSH al equipo. Instalando un servidor SSH, podemos acceder remotamente a nuestra máquina para realizar distintas tareas a través de la terminal.

Instalación

El proceso de instalación es sencillo:

#con privilegios de superusuario:
apt-get install openssh-server openssh-blacklist

Esta operación tomará un poco de tiempo ya que el servidor necesita crear las llaves de autenticación para nuestro servidor, las cuales proveen de autenticación de cifrado vía anillos de claves públicas. Aparte de esto será posible hacer login desde una estación remota simplemente usando el nombre de usuario y contraseña de una cuenta.

Ejemplo de la salida del proceso de instalación (con apt-get):

Seleccionando el paquete openssh-blacklist-extra previamente no seleccionado.
Desempaquetando openssh-blacklist-extra (de .../openssh-blacklist-extra_0.4.1_all.deb) ...
Seleccionando el paquete openssh-server previamente no seleccionado.
Desempaquetando openssh-server (de .../openssh-server_1%3a5.1p1-5_i386.deb) ...
Procesando disparadores para man-db ...
Configurando openssh-blacklist (0.4.1) ...
Configurando openssh-blacklist-extra (0.4.1) ...
Configurando openssh-server (1:5.1p1-5) ...
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Restarting OpenBSD Secure Shell server: sshd.

Donde las líneas “Creating SSH2 … ” pueden tomar un poco más de tiempo que el resto (a veces más de un minuto en una máquina con procesador muy antiguo).

:!: La instalación del paquete openssh-blacklist es obligatoria en nuevas distribuciones de Linux (Debian Lenny en adelante en nuestro caso luego del fiasco producido por la mala gestión de la pileta de entropía descubierta en el año 2007. Noticias relacionadas.

Configuración

La configuración del servidor se lleva a cabo en el archivo /etc/ssh/sshd_config. El archivo debe ser modificado por el usuario root.

Aquí se discutirá las opciones más interesantes de configuración.

:!: Más información puede encontrarse, por supuesto, con man sshd_config.
AllowGroups
DenyGroups
Forma: AllowGroups ¦ DenyGroups nombregrupo

Cuando esta opción está presente, SSH aceptará o denegará logins para los usuarios que pertenezcan a la lista de grupos nombregrupo…; los nombres estan separados por espacios. Por defecto, SSH acepta login para todos los grupos.

AllowUsers
DenyUsers
Forma: AllowUsers ¦ DenyUsers usuario1


Cuando esta opción está presente, SSH aceptará o denegará logins para los usuarios con nombre de usuario en la lista usuario1…; los nombres estan separados por espacios. Por defecto, SSH acepta login para todos los usuarios.

PermitRootLogin Forma: PermitRootLogin yes¦no¦without-password¦forced-commands-only


Esta opción determina si el usuario root puede hacer login remoto, y es una opcion clave para fortalecer un servidor. Los valores posibles son:

  • yes: el usuario root puede hacer login remoto.
  • no: el usuario root NO puede hacer login remoto. ¡Recomendado!
  • without-password: root puede hacer login solamente con autenticacion de clave privada.
  • forced-commands-only: root puede hacer login solamente si ejecuta un comando simple y no pasa al shell.

Port Forma: Port numero


Esta opción determina el puerto en el cual escucha SSH y es una opción clave para fortalecer un servidor. Por defecto es 22 que es el puerto anotado para SSH en /etc/services. Se recomienda cambiarlo.

LoginGraceTime Forma: LoginGraceTime segundos


Esta opción determina cuánto tiempo va a esperar SSH que una conexión haga login efectivo antes de botar la conexión, y es una opción clave para fortalecer el servidor. El valor por defecto es 120 segundos; el valor 0 deshabilita la característica haciendo que SSH espere un login por siempre, o hasta que la conexión caiga por otros motivos. Un buen valor es de 30 segundos, después de todo no debiera tomar tanto tiempo teclear una contraseña.

Ciphers Forma: Ciphers lista de ciphers


Esta opción determina qué cifrados va a permitir el servidor. Por defecto se aceptan algoritmos como AES-128 y Blowfish. Para cambiar esta opción se recomienda revisar la pagina del manual (via man) y ver que algoritmos están soportados.

Banner Forma: Banner archivo


Esta opción muestra el banner archivo al cliente remoto justo antes del login. Puede ser por ejemplo un mensaje de bienvenida. Igualmente en algunas legislaciones es necesario mostrar una advertencia de login para tener ciertos tipos de protección legal, pero que yo sepa no es necesario en Chile.

MaxStartups Forma: MaxStartups margen:ratio:maximo


FIXME

MaxAuthTries Forma: MaxAuthTries cantidad


Cuando esta opción está habilitada y una conexión ha fallado en más de cantidad/2 login sucesivos, todos los intentos subsiguientes son archivados en el historial de autenticación de categoría auth del sistema (ej.: /var/log/auth.log).

Inicio y Parada

[root@servidor] ~$ /etc/init.d/sshd start¦stop

Probando el Servicio

TOBEDONE

Ver También

proyectos/taller-redes/contenidos/openssh-server.txt · Última modificación: 2010/10/24 08:14 por manager

“Taller de Redes” Universidad del Mar, Sede Temuco, 2007—2009

Creative Commons License
Taller de Redes” por  Luis Machuca B. está licenciado bajo
Creative Commons Atribución-No Comercial-Sin Derivados 2.0 Chile License.
Para más información del Autor, visita: ¿Quién Soy?