Herramientas de usuario

Herramientas del sitio


notas:openssh

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
notas:openssh [2010/08/02 15:07] cayunotas:openssh [2017/08/17 15:10] (actual) – [Eliminar banner de OpenSSH en Debian] cayu
Línea 1: Línea 1:
 ====== OpenSSH ====== ====== OpenSSH ======
 +===== Configuración general =====
 +== TCPKeepAlive yes ==
 +Significa que el servidor sshd enviara mensajes de keepalive a el cliente después de que detecta alguna inactividad (idle), este método puede ser spoofable.
 + 
 +== UsePrivilegeSeparation yes ==
 +Significa que después de que la sesión ssh se ha establecida se pasaran los privilegios de ese proceso a el usuario de quien inicie la conexión, sin
 +esto el proceso estará a nombre de root, muy bueno esto para evitar elevaciónn de privilegios.
  
 +== LoginGraceTime 30 ==
 +El número indica la cantidad de segundos en que la pantalla de login estará disponible para que el usuario capture su nombre de usuario y contraseña, si no lo hace el login se cerrará, evitando así dejar por tiempo indeterminado pantallas de login sin que nadie las use, o peor aun, que alguien este intentando mediante un script varias veces el adivinar un usuario y contraseña. Aqui conviene identificar en nuestros usuarios el tiempo promedio que tardan en ingresar su usuario y contraseña y darles unos cuantos segundos más de margen por los usuarios lentos para que ingresen sus credenciales. Si somos el único usuario del sistema considero que con 20 o 30 segundos es mas que suficiente.
 +
 +== PermitRootLogin no ==
 +
 +El usuario root no tendrá permiso de acceder mediante ssh y por lo tanto cualquier intento de ataque directo a root será inútil. Con esto siempre tendremos que ingresar como un usuario normal y ya estando adentro entonces mediante su o sudo podremos usar funciones de root.
 +
 +== MaxAuthTries 2 ==
 +El número indica la cantidad de veces que podemos equivocarnos en ingresar el usuario y/o contraseña, en este caso después de dos intentos, se perderá o cerrará la conexión. Claro, es totalmente posible volver a intentarlo, pero como son dos intentos por vez, evitaremos ataques basados en la persistencia de la conexión, como se perderá al tercer intento de conexión, el ataque cesará.
 +
 +== MaxStartups 3 ==
 +El número indica la cantidad de pantallas de login, o cantidad de conexiones simultaneas de login que permitirá el sshd por ip que intente conectarse. Hay ataques muy efectivos que dividen el ataque en decenas y puede ser que en cientos (si el sistema atacado lo permite) de conexiones de login. Es decir, el ataque divide en una gran cantidad de logins los intentos por ingresar, aumentando sus posibilidades de más rapidamente adivinar al usuario y contraseña. Con esta directiva limitamos a tan solo 3 pantallas de login. Que quede claro, una vez logueados en el sistema, es posible tener mas de 3 terminales de ssh, se refiere exclusivamente a pantallas de login.
 +
 +== AllowUsers ==
 +En sistemas donde se tiene varios usuarios, quizás existan varios que solo pueden acceder desde la LAN por ejemplo, o quizás solo desde ciertos equipos. Con esta directiva podemos indicar los usuarios que pueden ingresar via ssh. Si solo indicamos al usuario:
 +<code>
 +AllowUsers sergio
 +</code>
 +El usuario sergio podrá ingresar desde cualquier PC en cualquier lugar, no se está validando el host.
 +Si se quiere mas seguridad, es posible indicar también el host mediante el símbolo @
 +  * **Solo desde la IP indicada**
 +    * AllowUsers sergio@192.168.0.25
 +  * **Toda la red indicada**
 +    * AllowUsers sergio@192.168.0.*
 +  * **sergio desde su equipo del dominio**
 +    * AllowUsers sergio@pc.dominio.com
 +  * **sergio desde cualquier equipo del dominio indicado**
 +    * AllowUsers sergio@*.dominio.com
 +
 +== AllowGroups ==
 +Idem a la directiva anterior, pero define que grupos de usuarios se pueden logguear por SSH.
 +<code>
 +AllowGroups linux-admin linux-ssh
 +</code>
 +
 +
 +
 +===== TIPS varios =====
 ===== Autenticación con clave pública/privada (RSA) ===== ===== Autenticación con clave pública/privada (RSA) =====
  
Línea 17: Línea 62:
 </code> </code>
 Luego, en el equipo remoto Luego, en el equipo remoto
 +
 +
 +**Por si no estuviera generado**
 +<code>
 +$ mkdir .ssh
 +</code>
 +
 +**Agrega esta clave pública al archivo de claves públicas autorizadas en el directorio .ssh**
 <code> <code>
-$ mkdir .ssh (por si no estuviera generado) +$ cat id_dsa.pub >> ~/.ssh/authorized_keys
-$ cat id_dsa.pub >> ~/.ssh/authorized_keys (agrega esta clave pública al archivo de claves públicas autorizadas en el directorio .ssh)+
 </code> </code>
 Luego setear permisos Luego setear permisos
Línea 41: Línea 93:
 </code> </code>
  
 +===== Compartir conexion SSH =====
  
 +La idea es compartir una conexion ssh, por ejemplo:
 +<code>
 +hostA# ssh -M -S /tmp/hostB hostB
 +</code>
 +Esa linea hace una conexion normal de ssh, pero crear un Unix socket en
 +/tmp/hostB para compartir, entonces:
 +<code>
 +hostA# ssh -S /tmp/hostB hostB
 +</code>
 +Y van a ver como entran al hostB en forma inmediata y sin clave.
 +
 +O tambien pueden copiar archivos:
 +<code>
 +hostA# scp -o 'ControlPath /tmp/hostA' /etc/fstab hostB:/tmp
 +</code>
 +Es util para scripts o para conexiones ssh de esas que son muy lentas
 +para el login (generalmente por que el destino tiene problemas de DNS).
 +
 +Fuente: DiegoW - Lista de correo de Lanux
 ===== SSH detras de un proxy ===== ===== SSH detras de un proxy =====
  
Línea 85: Línea 157:
  
  
 +===== Eliminar banner de OpenSSH en Debian ===== 
 +<code> 
 +DebianBanner " " 
 +</code> 
 +===== Actualizar en masa los host keys ===== 
 +Ejemplo si usamos algun sistema que nos deja la configuración en archivos con nombres de ip y queremos que se actualicen todas sus host keys podemos ejecutar el siguiente comando : 
 +<code> 
 +for i in `find  |grep -v CVS | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"` ; do ssh-keyscan $i >> ~/.ssh/known_hosts ; done 
 +</code>
notas/openssh.1280761625.txt.gz · Última modificación: 2010/08/02 15:07 por cayu