PDF de programación - SSH

<<>>
Imágen de pdf SSH

SSHgráfica de visualizaciones

Publicado el 29 de Mayo del 2017
1.307 visualizaciones desde el 29 de Mayo del 2017
117,2 KB
5 paginas
SSH 
 
Secure shell, también llamado ssh es un protocolo utilizado paro login y ejecución de procesos
 
 
remotos. 
 
SSH nos permite: 

   

 

 

 

 

 

 

 

 

 

 

 

● iniciar sesiones en servidores remotos. 
● ejecutar comandos remotamente. 
● realizar tuneles IP cifrados. 
● copiar archivos entre diferentes hosts 
● ejecutar aplicaciones X11 remotamente. 

 

 

 

 

 

 
 
 
 
 
 
 

 
Cómo funciona el protocolo SSH  
  
El funcionamiento de este protocolo se puede resumir en los siguientes pasos a continuación:  
 

1. El cliente inicia una conexión TCP sobre el puerto 22 del servicio. Este puerto es el que
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

utiliza por defecto el protocolo, aunque se puede modificar.  

 

2. El cliente y el servidor se ponen de acuerdo en la versión del protocolo a utilizar, así

 
como el algoritmo de cifrado utilizado para el intercambio de la información.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. El servidor, que tiene en su poder dos claves (una privada y una pública), manda su
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
clave pública al cliente.  

 

 

4. Cuando el cliente recibe la clave enviada por el servidor, la compara con la que tiene
 
almacenada para verificar su autenticidad. El protocolo SSH exige que el cliente la
 
confirme la primera vez.  

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Con la clave pública del servidor en su poder, el cliente genera una clave de sesión
 
 
aleatoria, creando un mensaje que contiene esa clave y el algoritmo seleccionado para
la encriptación de la información. Toda esa información es enviada al servidor haciendo
 
 
uso de la clave pública que envió en un paso anterior de forma cifrada.  

 
 
 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Si todo es correcto, el cliente queda autenticado, iniciando la sesión para comunicarse

 

 

 

 

 

 

 

 

 

 

 

 

con el servidor.  

 

¿Por qué usar SSH? 
 
Existen ciertas amenazas: 
 

 

 

 

 

 

 

 

 

 

 

 
 

 
● Intercepción de la comunicación entre dos sistemas:un tercero en algún lugar de la red
 
entre entidades en comunicación hace una copia de la información que pasa entre ellas.
La parte interceptora puede interceptar y conservar la información, o puede modificar la
 
información y luego enviarla al recipiente al cual estaba destinada. 

 
 
   

 
 
 

 
 

 
 

 
 

 
 

 
● Personificación de un determinado host:un sistema interceptor finge ser el receptor a
quien está destinado un mensaje. Si funciona la estrategia, el cliente no se da cuenta del
 
 
interceptor como si su mensaje hubiese
engaño y continúa la comunicación con el
 
 
llegado a su destino satisfactoriamente. 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
Métodos de autenticación de usuarios: 
 
 
Existen varios métodos que pueden utilizarse para autenticar usuarios. Aunque son
mutuamente excluyentes, tanto el cliente como el servidor pueden soportar varios de ellos. En el
 
 
 
momento de la autenticación se aplicarán los métodos que ambos soporten, siguiendo un orden
 
 
determinado. 

 
 
 

 
 

 
 

 
 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

 

 

 

 

 
 

Autenticación con contraseña:Es el método más simple (y común) de autenticación. El
 
 
 
cliente solicita al usuario el
ingreso de una contraseña (password) y la misma es
 
enviada al servidor, el cuál validará la misma utilizando los mecanismos configurados en
el sistema (generalmente, utilizará la autenticación del sistema Unix para validar la
 
 
 
contraseña contra el contenido del archivo /etc/shadow, de la misma manera que lo
 
hace el login). Las desventajas de este sistema son varias: 

 
 
 
 
 

 
 
 

 
 
 

 
 
 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. El usuario debe tipear su contraseña cada vez que se conecta al servidor . 
2. La contraseña del usuario es enviada hacia el servidor. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

● Autenticación con clave pública:Para poder llevarse a cabo, el usuario debe tener un par
 
de claves pública/privada, y la clave pública debe estar almacenada en el servidor
 
.Luego de establecida la conexión, el servidor genera un número aleatorio llamado
 
“desafío” (challenge) que es cifrado con la clave pública del usuario usando RSA o DSA
 
 
(en los ejemplos nos referiremos siempre a RSA). El texto cifrado es enviado al cliente,
que debe descifrarlo con la clave privada correspondiente y devolverlo al servidor,
 
demostrando de esta manera que el usuario es quien dice ser. Las ventajas de este
 
método respecto del anterior son: 

   

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. El usuario no debe tipear (ni recordar) ninguna contraseña. 
2. Ninguna contraseña secreta (en este caso, la clave privada del usuario) es 

enviada al servidor . 

 

 
 
 
 

 
 

 

 

 

 

 

 

 

 

 
 

 

 

 
 

 

 

 

 

 

 

 

 
 

 

 

 
 

 

 

 
 

 

 

 

 

 

 

 

 
 

 

 

 

 

 
 

 

 

 

 

 

 

 
 

 

 
 

 

 

 

 

 

 
 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
 

 
 
 

 
 
 

 
 
 

 
 
 
 

Cómo configurar el protocolo SSH para hacerlo más seguro  
  
 
Aunque hemos estado hablando de que el uso del protocolo SSH es totalmente seguro, esto no
 
quiere decir que esté ajeno a sufrir algún tipo de ataque que ponga en riesgo nuestra
información. Por este motivo, los usuarios tienen la opción de modificar la configuración por
 
 
defecto que trae este protocolo para hacerlo aún más seguro, como puede ser el cambio del
puerto por defecto o el número máximo de reintentos para conectarse al servidor. Veamos
 
cómo mejorar la seguridad de nuestro SSH.  
 
Lo primero que debemos hacer es localizar el fichero de configuración y que lleva por nombre
 
“sshd_config”. Este fichero suele estar en la ruta “/etc/ssh”. Si no estuviera en esa dirección,
 
 
podemos hacer uso del comando “find” de Linux para localizar su ubicación.  
 
Una vez localizado lo editamos con nuestro programa de edición de ficheros favorito, como
puede ser Vi, Nano o cualquier otro que tengamos instalado. Una vez que lo abrimos, nos
 
debemos encontrar un contenido parecido al que dejamos a continuación (los valores pueden
 
variar).  
 
Port 22  
Protocol 2  
LoginGraceTime 30  
PermitRootLogin no  
MaxAuthTries 2  
MaxStartups 3  
AllowUsers Hostalia  
  
Entre las cosas que podemos hacer están:  
a) Cambiar el puerto por defecto: Por defecto, SSH utiliza el puerto 22, por lo que cuando un
 
hacker lanza un ataque lo suele hacer sobre este puerto. Si le cambiamos el número del puerto,
 
el servicio no responderá al puerto por defecto y habremos puesto una nueva traba a quien
 
intente conseguir nuestra información.  
 
Para hacer este cambio, lo único que hay que hacer es en el fichero de configuración cambiar el 
valor del campo “port” por el valor que queramos, por ejemplo el puerto 10589.   
 
Port 10589  
  
b) Deshabilitar el acceso root:Todo servidor tiene asignado un usuario root que tiene
 
privilegios para hacer cualquier tipo de acción sobre la máquina. Una buena práctica para
 
mejorar la seguridad es impedir el acceso al servidor por medio de este usuario root y obligar  
al acceso por medio de alguno de los usuarios que hayamos creado y que no tienen privilegio 
root. Una vez logueados con nuestro usuario, podremos convertirnos en usuario root por medio 
del comando “sudo”.  
Para impedir el acceso del usuario root, debemos poner a “no” la variable “PermitRootLogin”.  

 
 
 

 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 
 
 

 

 

 

 

 

 

 

 

 

 
 

 

 

 
 

 

 

 

 

 

 

 

 

 
 

 
 

 

 
 

 

 
 

 

 

 

 

 

 

 
 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 
 

 

 

 

 

 

 

 

   

 

 

 

 

 

 
 
 
 

PermitRootLogin no  
  
c) Deshabilitar el uso del protocolo 1 de SSH: La versión 1 que apareció primero y a la que
 
se descubrió algunas vulnerabilidades, y la versión 2 que corregía esos problemas.  
De forma general, se puede configurar para que se pueda utilizar cualquiera de las dos
 
 
versiones, pero es recomendable no utilizar la primera de las versiones. Para indicar que vamos
 
a utilizar la versión 2 hay que modificar la variable “Protocol” del siguiente modo:  
 
Protocol 2  
  
d) Limitar el número de reintentos:Por medio de la variable “MaxAuthTries”, podemos indicar
 
 
 
introducir el nombre de usuario o la
el número de veces que nos podemos equivocar al
 
contraseña. Una vez superado el número que hayamos indicado, la conexión se perderá y
 
 
habrá que empezar de nuevo el proceso de conexión. Con esto evitaremos ataques de
 
persistencia de la conexión.  
Si queremos poner un máximo de 3 intentos, habría que indicarlo de la siguiente manera:  
 
MaxAuthTries 3  
  
e) Limitar el número de pantallas de login:Otra de las acciones que podemos llevar a cabo
 
para mejorar la seguridad es limitar el número de ventanas de logueo simultáneas que podemos
 
 
tener activas desde una misma IP, para de esta forma evitar ataques divididos. Una vez
logueado el usuario, no será posible tener abiertos un número superior de terminales SSH al
 
indicado en esta variable.  
Si queremos limitar a una única pantalla de logueo por IP, habrí
  • Links de descarga
http://lwp-l.com/pdf3729

Comentarios de: SSH (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad