notas:openssh
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
notas:openssh [2012/08/22 13:15] – [Conexion SSH reverso] cayu | notas: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, | ||
+ | |||
+ | == 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, | ||
+ | |||
+ | == 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: | ||
+ | < | ||
+ | AllowUsers sergio | ||
+ | </ | ||
+ | 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. | ||
+ | < | ||
+ | AllowGroups linux-admin linux-ssh | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== TIPS varios ===== | ||
===== Autenticación con clave pública/ | ===== Autenticación con clave pública/ | ||
Línea 51: | Línea 96: | ||
La idea es compartir una conexion ssh, por ejemplo: | La idea es compartir una conexion ssh, por ejemplo: | ||
+ | < | ||
hostA# ssh -M -S /tmp/hostB hostB | hostA# ssh -M -S /tmp/hostB hostB | ||
+ | </ | ||
Esa linea hace una conexion normal de ssh, pero crear un Unix socket en | Esa linea hace una conexion normal de ssh, pero crear un Unix socket en | ||
/tmp/hostB para compartir, entonces: | /tmp/hostB para compartir, entonces: | ||
+ | < | ||
hostA# ssh -S /tmp/hostB hostB | hostA# ssh -S /tmp/hostB hostB | ||
+ | </ | ||
Y van a ver como entran al hostB en forma inmediata y sin clave. | Y van a ver como entran al hostB en forma inmediata y sin clave. | ||
O tambien pueden copiar archivos: | O tambien pueden copiar archivos: | ||
+ | < | ||
hostA# scp -o ' | hostA# scp -o ' | ||
+ | </ | ||
Es util para scripts o para conexiones ssh de esas que son muy lentas | 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). | para el login (generalmente por que el destino tiene problemas de DNS). | ||
Línea 113: | Línea 158: | ||
===== Eliminar banner de OpenSSH en Debian ===== | ===== Eliminar banner de OpenSSH en Debian ===== | ||
- | |||
< | < | ||
DebianBanner " " | DebianBanner " " | ||
+ | </ | ||
+ | ===== 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 : | ||
+ | < | ||
+ | for i in `find |grep -v CVS | grep -oE " | ||
</ | </ |
notas/openssh.txt · Última modificación: 2017/08/17 15:10 por cayu