lunes, 22 de octubre de 2012

SSH seguro

Cuando se hace la implantación de un servidor en, por ejemplo Rackspace.com éste una vez creado esta a merced de la red, esto quiere decir que el protocolo de conexión SSH esta por defecto sólo asegurado mediate usuario y password. Para acceder de manera más segura vamos a crear una Public Key Authentication mediante la aplicación puttygen.

Primero hay que crear la clave de conexión desde la aplicación pulsando Generate Key, moviendo el ratón generara el código aleatoriamente y obtendremos una pantalla similar a la siguiente. También es recomendable poner algún comentario en el campo  key comment:


 Mientras mantenemos esta pantalla abierta estableceremos conexión con el servidor usuario root y ejecutaremos:

useradd -s /bin/bash -m nombreusuario

Añadiremos este usuario a la lista de superusuarios

visudo

modificaremos la siguiente línea:

# User privilege specification
 root  ALL=(ALL:ALL) ALL

Por:

# User privilege specification
# root  ALL=(ALL:ALL) ALL
root ALL=(ALL:ALL) ALL
usuario ALL=(ALL) NOPASSWD: ALL


Salvaremos con CTRL+X y Y

Hemos modificado el fichero diciendole que nuestro usuario no hará falta que entre password para realizar tareas necesarias de privilegios. No obstante tenemos que asignarle un password mediante:

passwd username

Ahora hay que crear un directorio .ssh en el home del usuario creado para almacenar la key.

mkdir /home/username/.ssh

Y dentro crear un fichero con la key:

vim /home/username/.ssh/authorized_keys

alli copiaremos la clave que hemos generado mediante puttygen y salvaremos mediante "escape"
:wq

Grabaremos la clave pulsando en save private key, yo personalmente la grabaría en un dropbox folder para tenerla disponible en cualquier equipo.

Si hubiera varios usuarios el fichero podría ser como el siguiente, dónde # especifica comentarios y la clave esta en cada linea sin interrupciones ni espacios en blanco

# user1
aquiclaveenunasolalineatodoseguidoysinespacios
# user2
 aquiclaveenunasolalineatodoseguidoysinespacios

Para finalizar deberemos modificar el fichero /etc/ssh/sshd_config de la siguiente manera:

Podemos cambiar el puerto, por ejemplo al 28 en la linea:

port 28

Confirmar que  las siguientes lineas estan como YES

RSAAuthentication yes
PubkeyAuthentication yes

Importante -> antes de proseguir probar la nueva autentificación, si no podriamos perder la conectividad con root y sería un problema que podemos evitar fácilmente.

Para impedir que el usuario root pueda hacer logon mediante ssh cambiar las siguientes lineas:
 

PermitRootLogin no
PasswordAuthentication no


Ahora reiniciaremos el servicio mediante 

/etc/init.d/ssh restart y si da problemas con un reinicio del servidor bastará.

Para testear el login debemos conectar con putty, poner la ip, e ir a la opción Connection->SSH auth-> Browse en certifcates y seleccionar el *.PPK que hemos creado.

Al conectar sólo nos pedirá el nombre de usuario y comparará las claves, si son correctas permitirá el acceso.

Podemos ver los logs mediante:

tail -f /var/log/auth.log y podra aparecer algo como esto:




El primer círculo muestra una prueba de intento de conexión mediante usuario root, rechazada y marcada como BREAK-IN ATTEMP.
En el segundo círculo vemos aceptada la publik key para el usuario creado.

Hemos securizado un poco más el servidor mediante tres pasos:

-Cambio de puerto SSH.
-Denegación de logon root.
-Creación de clave pública para usuario distinto de root.






Tags

100 consejos 2 steps trouble 50gb cloud free acceso remoto acronis active directory activex AD administracion linux alta dyndns.com analytics android ape APN apt-get articulo request tracker 4 auditoria auditoría wireless b2b Backup backup on line backup online Backupify banco de españa Bancos bash bat bitlocker blogger_TID bloqueo usuario boomerang box box.net broute btrieve bugtraking bussines caducado cálculo callrecorder camara ip cambios catastro certificados Chrome cif Citrix Cloud cloud backup cloud computing cloud server cloudring cloudringapp.com cluod storage cmd cms CNMV comandos comercio electroinco Comisiones TPV computing condiciones tienda consola contraseña root cookie cookies Copia de seguridad copia seguridad correo correo electronico correo eléctronico cpu creacion servidor crm CSS desastre diagramly diferido directorio activo directorios disable dmesg Docs DOS drivers dropbox dropittome dropsync du du -sch dyndns e-commerce e-commerce mail shop ecommerce enviar mas tarde envío escritorio compartido esquemas estructura etiquetas inteligentes excel excepciones exclude dropbox exec Execpciones Java fhs ficheros find firewall firma fiscal flujo for formulario formularios free space ftp gdocs gdrive gmail gmail 2 pasos problema godaddy google apps google drive google history google search google+ GOYSCRIPT grabación de llamadas hacienda hang-out hangout hoja host dinamico i.e iass indra intalacion webmin interfaz metro internet explorer ip dinamica ipcam iva e-commerce Java joomla LAMP LDAP ley ley blogger ley cookies libros limpiar ubuntu linux linux password linux root logística LPIC mail mail notification mail server mamp MCSA memoria alta microsoft Ministerio Justicia Mis Documentos copia de seguridad molero monitor rendimiento montar usb mount mrw mta multishop mx Mysql net use NFC notificacion notificaciones novell 5.1 nube nube hibrida nube privada nube publica objetivo web Office on line Oracle organizaciones paas Pasarela de pago password root PAW pearltrees pedidos perfmon portapapeles postfix postfix gmail powershell precio prerequisitos ecommerce prestashop privacidad privacidad datos programación correo electrónico protección de datos proxy psexec puertos purgar pymes rackspace rackspace.com recover root recovery password linux recuperar root password recursos redirección registradores.org registro registry remoto rendimiento. windows 7 request tracker request tracker 4 article RESEVI ring rkhunter root linux root password root ubuntu rootkit router rt saas sals scheduled task script scripting scripts Secure SSH seguimiento seguridad send later server sincronización siret sitios seguros skydrive smalll server smartphone smtp smtp gmail relay smtp notification SSH ssl substitución system systernals tamaño directorio telefónica templates thatwe thunderbird ticketing tienda online tienda virtual tienda web token TPV virtual track translation two steps verification ubuntu ubuntu 12 ubuntu gmail relay unix upload urdangarín usb usbdisk ubuntu usuario validate.tpl variable VDA VDAAGENT verificación dos pasos vi virtual appliance virtualización novell visio vmware vritualdesktop w8 w8 gmail Wannacry webdav webmaster tools webmin websigner websigner.cab wifislax windos azure windows windows 7 windows 8 Windows Azure windows2012 windows8 wordpress workstation WPA xampp xargs XENDESKTOP zimbra on rackspace