Mostrando entradas con la etiqueta ssh. Mostrar todas las entradas
Mostrando entradas con la etiqueta ssh. Mostrar todas las entradas

martes, 17 de agosto de 2010

Openbox & sesiones ssh - ssh-agent ssh-add -

El problema que tenia es que cuando arrancaba el agente de ssh (eval `ssh-agent`) y ssh-add en un terminal, las variables de entorno que hacen referencia a la ubicación de los archivos y pid no eran visibles para otras sesiones de terminal y por lo tanto me pedia de nuevo hacer ssh-add en cada consola.

SSH_AUTH_SOCK=/tmp/ssh-xBlFuc3166/agent.3166; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3167; export SSH_AGENT_PID;

La solución que me ha funcionado en openbox es añadir en el fichero .xinitrc eval `ssh-agent -s` para que qeuede así:

eval `ssh-agent -s`
exec ck-launch-session dbus-launch openbox-session

martes, 10 de marzo de 2009

HOWTO: ESXi and SSH

By default this isn’t possible. But there’s a way to get this working, just do the following:
  1. Go to the ESXi console and press alt+F1
  2. Type: unsupported
  3. Enter the root password
  4. At the prompt type “vi /etc/inetd.conf”
  5. Look for the line that starts with “#ssh” (you can search with pressing “/”)
  6. Remove the “#” (press the “x” if the cursor is on the character)
  7. Save “/etc/inetd.conf” by typing “:wq!”
  8. Restart the management service “/sbin/services.sh restart”

viernes, 19 de diciembre de 2008

Protege SSHD - configuración segura

Configuración del servidor SSH

LoginGraceTime 30

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
Root no entra directamente por ssh

AllowUsers Ferran
Solamente mi usuario entrara.

AllowGroups wheel
AllowUsers ferran@192.168.1.25     (solo desde la IP indicada)
AllowUsers ferran@192.168.1.* (Toda la red indicada)

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.



En el artículo de linuxtotal.com.mx Sergio Gonzalez Duran redactó una buena pauta a seguir.
http://www.linuxtotal.com.mx/index.php?cont=info_seyre_004

Resumiendo...

Protege SSHD de pesados ataques de fuerza bruta con IPTABLES

Después de ver la cantidad de logs que tengo en mi servidor por culpa de estos barridos de IPs en busca de passwords débiles, he encontrado las siguientes reglas que pueden ser útiles. Lo pongo en formato script copy/paste:

#/bin/bash
iptables -A SSH -m recent --name SSH_ABL --update --seconds 3600 -j REJECT
iptables -A SSH -m recent --name SSH --rcheck --seconds 60 --hitcount 5 -j SSH_ABL
iptables -A SSH_ABL -m recent --name SSH_ABL --set -j LOG --log-level warn --log-prefix "ABL: +SSH: "
iptables -A SSH_ABL -j REJECT
iptables -A SSH -m recent --name SSH --rcheck --seconds 2 -j LOG --log-level warn --log-prefix "RATE: "
iptables -A SSH -m recent --name SSH --update --seconds 2 -j REJECT
iptables -A SSH -m recent --name SSH_ABL --remove -j LOG --log-level warn --log-prefix "ABL: -SSH: "
iptables -A SSH -m recent --name SSH --set -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp -m tcp --dport 22 -j SSH


Otro más

iptables -A INPUT -m recent --update --seconds 60 --hitcount 5 --name SSH --rsource -j DROP
iptables -A INPUT -m recent --set --name SSH --rsource -j ACCEPT

Si tengo un poco de tiempo explicaré cada una de estas línias. A grandes rasgos los dos hacen lo mismo, no deja entrar una misma IP si hace más de 5 intentos en 60 segundos.