Anda di halaman 1dari 9

PRIMERA OPCION

Esta es la primera parte del tutorial, con la instalacin y configuracin bsicas. Luego vendr una segunda
parte con "Cosas guapas que hacer con SSH".
SSH, siglas de Secure SHell, es un protocolo que nos permite realizar una conexin segura y encriptada a la
Shell del equipo que actua como servidor.
Esto nos permitir administrar nuestros servidores de forma remota y segura, as como enrutar el trafico a
travs de tneles SSH para todo tipo de conexiones (VNC, FTP, Samba...) y as hacerlas ms seguras de lo que
son de por si.
Pues bien, vamor por partes:

1. Instalacin
Fcil y tpico:

sudo apt-get update


sudo apt-get upgrade
sudo apt-get install ssh
Dicho y hecho, ya tenemos instalado ssh con su configuracin basica (y un poco pastelera).

2. Configuracin
Cuando instalamos SSH viene con una configuracin por defecto, una configuracin standard que como suele
pasar, no es nada recomendable dejar tal cual. Aqui veremos algunos parametros interesantes de modificar
para aumentar la seguridad.
Antes que nada abrimos el archivo de consifuracin de SSH con un editor, por ejemplo VIM.

sudo vim /etc/ssh/sshd_config


A continuacin vamos a identificar algunos parametros interesantes de modificar o aadir, pues aunque no
exista un sistema 100% seguro, tenemos herramientas para optimizar la seguridad al mximo segn nuestras
necesidades.
PORT:
Es el puerto donde va a escuchar nuestro servidor y trae por defecto el puerto 22. Es vital cambiar el puerto,
ya que de esta forma complicamos un poco una posible intrusin. No cualquiera es capaz de averiguar en que
puerto est escuchando el servicio, y adems nos permite evitar en gran medida ataques automatizados
mediante scripts.
As pues buscamos la linea donde se declara el puerto y lo modificamos, por ejemplo:

port 8756
PROTOCOL:
Hay dos versiones del protocolo SSH, y la primera ya est en desuso. En este apartado simplemente nos
tenemos que asegurar que estamos utilizando el protocolo 2, as pues la linea correspondiente debe figurar
as:

Protocol 2
LOGINGRACETIME:
Aqui le podemos indicar el tiempo que tiene un usuario para hacer login correctamente antes de que se le
cierre automticamente la sesin. Yo normalmente lo pongo a 15 segundos. En principio lo podis poner como
queris (cuanto ms bajo mejor) teniendo en cuenta que os de tiempo de hacer login si conectis a travs de
conexiones lentas.
Si, me ha pasado de configurarlo "to flipao" a 5 segundos y luego no hay manera de acceder en remoto a
traves de internet... As que mejor:

LoginGraceTime 20
MAXAUTHTRIES:
Esta opcin nos permite introducir un numero mximo de intentos de login antes de que el servidor le de una
patada y cierre la conexin. Esto nos permitir aumentar nuestras defensas ante posibles ataques por fuerza
bruta, ya sean scripts automatizados o algn hacker juguetn. Que valor poner ya depende de cada uno. Para
que sea realmente efectivo yo no pondra ms de 2 intentos.

MaxAuthTries 2
MAXSTARTUPS:
Esta opcin nos permite indicar cuantas sesiones puede haber conectadas simultneamente por SSH. Esto ya
depende de las necesidades de cada uno, si por ejemplo solo tienes que entrar t, puedes poner "2", de
manera que si una sesin se te queda colgada tengas la posibilidad de entrar, y no te eche continuamente
porque se ha alcanzado el limite de conexiones.

MaxStartups 2
PERMITROOTLOGIN:
Esta opcin como bien indica su nombre, sirve para indicar si se permite o no el acceso remoto al usuario root.
Una vez superadas las barreras que hemos puesto hasta ahora, un atacante necesitara saber un usuario y
contrasea para entrar. Si permitimos el acceso al usuario root, le hacemos la mitad del trabajo, descubrir el
nombre de usuario. As pues, para mayor seguridad:

PermitRootLogin no
ALLOWUSERS:
Ahora viene cuando lo matan. Con esta opcin no solo podemos decir que usuarios tendrn acceso, sino
tambin desde que IP podrn conectar (descartando las otras) sea pblica o privada. En el ejemplo estaramos
dando acceso al usuario "admin" desde "cualquier lugar", al usuario "local" solamente si conecta desde la IP
192.168.1.151 (LAN) y al usuario "remote" solamente desde la ip 85.46.127.23 (WAN)

AllowUsers admin local@192.168.1.151 remote@85.46.127.23


FIN DE LA CONFIGURACIN:
Finalmente tenemos una configuracin bastante ms segura que la que trae por defecto, lo ltimo que queda
por decir es que nuestra ltima defensa despus de todas estas medidas es nuestra contrasea. Usadla cuanto
ms larga mejor, que contenga maysculas, minsculas y numeros, como por ejemplo
H0l4Bu3n0sD14s4T0d0sC0m0L0Ll3v41s.

Obviamente no es necesaria una contrasea tan larga, pero cunto ms mejor, de entrada recomendara que
fuese de no menos de 7 caracteres y que contenga maysculas, minsculas y nmeros.
Finalmente ejecutamos la siguiente orden para reiniciar el servidor SSH y aplicar los cambios.

sudo /etc/init.d/ssh restart


Para conectar de modo simple:

ssh usuario@ip -p puerto


Ya tenemos la configuracin aplicada y el servicio configurado a nuestro gusto y con la proteccin mejorada. A
partir de aqui nos queda ver las posibilidades que nos ofrece SSH, y las veremos, pero en otro articulo que
llevo mucho rato escribiendo ya!

SEGUNDA OPCION
El servidor de shell seguro o SSH (Secure SHell) es un servicio muy similar al servicio telnet ya que
permite que un usuario acceda de forma remota a un sistema Linux pero con la particularidad de
que, al contrario que telnet, las comunicaciones entre el cliente y servidor viajan cifradas desde el
primer momento de forma que si un usuario malintencionado intercepta los paquetes de datos
entre el cliente y el servidor, ser muy dificil que pueda extraer la informacin ya que se utilizan
sofisticados algoritmos de cifrado.
La popularidad de ssh ha llegado a tal punto que el servicio telnet prcticamente no se utiliza. Se
recomienda

no

utilizar

nunca

telnet

utilizar

ssh

en

su

lugar.

Para que un usuario se conecte a un sistema mediante ssh, deber disponer de un cliente ssh.
Durante el proceso de autentificacin, cuando el usuario proporciona el nombre y la contrasea, se
utiliza cifrado asimtrico pero en el resto de la sesin se utiliza cifrado simtrico por su menor
necesidad

de

procesamiento.

Para instalar el servidor y el cliente ssh debemos instalar mediante apt-get el paquete ssh que
contiene tanto la aplicacin servidora como la aplicacin cliente:
//

Instalacin

de

servidor

ssh

cliente

ssh

sudo apt-get install ssh

Los archivos de configuracin son:

/etc/ssh/ssh_config: Archivo de configuracin del


cliente ssh

/etc/ssh/sshd_config: Archivo de configuracin del


servidor ssh

Arranque y parada manual del servidor ssh


El servidor ssh, al igual que todos los servicios en Debian, dispone de un script de arranque y
parada en la carpeta /etc/init.d.
//
sudo

Iniciar

Reiniciar
/etc/init.d/ssh

el

servidor

ssh
restart

//

Parar

el

servidor

ssh

sudo /etc/init.d/ssh stop

Arranque automtico del servidor ssh al iniciar el sistema


Para un arranque automtico del servicio al iniciar el servidor, debemos crear los enlaces
simblicos correspondientes tal y como se indica en el apartado Trucos > Arranque automtico
de

servicios

al

iniciar

el

sistema.

Conexin al servidor mediante ssh


Para conectar desde un PC cliente al servidor mediante ssh, debemos ejecutar el comando ssh
seguido del nombre direccin IP del servidor. La conexin se realizar con el mismo nombre de
usuario que estemos utilizando en el PC cliente. Ejemplo, supongamos que jessica, desde el PC
llamado aula5pc3, quiere conectarse al servidor cuya IP es 192.168.1.239:
//

Conexin

por

jessica@cliente:~$
The

authenticity

RSA
Are

ssh
of

key
you

Warning:

host

'192.168.1.239

fingerprint

is

sure

you

Permanently

Password:

ssh

want

added

//

192.168.1.239

(192.168.1.239)'

can't

be

established.

51:70:3f:9c:ac:49:52:74:88:f5:45:a6:ae:f0:9c:8a.
to

'192.168.1.239'
Introducir

continue

connecting

(RSA)

to

the

list

of

contrasea

(yes/no)?

yes

known

hosts.

de

jessica

jessica@servidor:~$ // Ya estmos en el servidor


La primera vez que se conecte alguien desde dicho PC cliente, se instalar el certificado de
autentificacin del servidor, lo cual es normal si se trata de la primera vez. A la pregunta 'Are you
sure you want to continue connecting (yes/no)?' debemos responder 'yes' ya que de lo contrario la
comunicacin finalizar. Si ya nos hemos conectado anteriormente otras veces y vuelve a realizar
esta pregunta, significa que alguien se est haciendo pasar por el servidor (nuestro servidor ha
sido hackeado) o que se ha reconfigurado el servidor (cambio de nombre, IP, etc...)
Si deseamos conectarnos al servidor utilizando un nombre de usuario diferente, debemos incluir el
nombre de usuario antes del nombre o IP del servidor y separado por una arroba '@'. Ejemplo,
supongamos que jessica, desde el PC llamado aula5pc3, quiere conectarse como miguel al
servidor cuya IP es 192.168.1.239:
//

Conexin

por

jessica@cliente:~$
Password:

//

ssh

como

ssh
Introducir

contrasea

otro

usuario

miguel@192.168.1.239
de

miguel@servidor:~$ // Ya estmos en el servidor como miguel

miguel

en

el

servidor

Desde PCs con Windows es posible conectarse por ssh a servidores Linux mediante el programa
Putty. Se trata de un cliente ssh para Windows que permite acceder en modo texto al sistema
Linux

desde

sistemas

Windows.

Servicios adicionales
El paquete ssh no solamente nos proporciona conexin remota sino que proporciona otros
servicios como ejecucin remota de aplicaciones grficas, servidor ftp seguro o copia remota de
archivos.

Ejecucin remota de aplicaciones grficas


Mediante ssh existe la posibilidad de ejecutar aplicaciones grficas en el servidor y manejarlas y
visualizarlas en el cliente. El servidor ssh deber tener activada la redireccin del protocolo X, es
decir, deber tener el siguiente parmetro en el archivo de configuracin /etc/ssh/ssh_config:
// Habilitar la redireccin X en /etc/ssh/sshd_config
X11Forwarding yes
Ejemplo: supongamos que en nuestro terminal tenemos Damn Small Linux (que no dispone del
gimp) y deseamos conectarnos a otro PC que s que tiene instalado el editor grfico gimp, los
pasos que haremos sern:
// Ejecutar aplicaciones grficas
jessica@cliente:~$ ssh -X cnice@192.168.1.239 // -X para redirigir Xwindows
cnice@cnice-desktop:~$ gimp // Ejecutamos el gimp

El resultado ser que desde nuestro Linux sin gimp estamos manejando el gimp que se est
ejecutando en el PC remoto:

Ejecucin

remota

de

la

aplicacin

grfica

El

Gimp

Desde PCs con Windows es posible conectarse por ssh a servidores Linux de forma grfica
mediante Cygwin. Se trata de un conjunto de programas libres que simulan un 'Unix para Windows'
con servidor grfico X y cliente ssh para Windows entre otras cosas, que permite acceder en modo
grfico al sistema Linux desde sistemas Windows. Otros servidores X gratuitos para Windows son
Xming

Mocha.

Servidor de ftp seguro


El paquete ssh tambin incorpora un servidor ftp seguro y un cliente ftp seguro. Para activar el
servidor ftp seguro tan solo hay que tener arrancado el servidor ssh.

El cliente ftp seguro es el comando sftp que funciona igual que el comando ftp. Tambin podemos
utilizarlo desde el navegador Nautilus escribiendo sftp://nombre-del-usuario@nombre-del-servidor
por ejemplo en la url: sftp://profesor@miservidor

Cliente ftp seguro

Copia remota de archivos


Tambin se dispone de el comando scp que permite copiar archivos desde y hacia el servidor
remoto desde el cliente. Ejemplo, si el usuario jessica desea copiar el archivo /etc/hosts del
servidor cuya IP es 192.168.1.239 a la carpeta actual de nuestro PC, ejecut el siguiente comando:
// Copiar un archivo del servidor a nuestro PC
scp jessica@192.168.1.239:/etc/hosts . // Ojo no olvidar el punto al final
Password: // Introducimos la contrasea de jessica en el servidor
hosts 100% 443 0.4KB/s 00:00 // Archivo copiado
// Copiar un archivo de nuestro PC al servidor
// La carpeta de destino debe existir en el servidor
scp miarchivo.txt jessica@192.168.1.239:/home/jessica/pruebas/
Password: // Introducimos la contrasea de jessica en el servidor
miarchivo.txt 100% 443 1.6KB/s 00:00 // Archivo copiado
// Copiar una carpeta y subcarpetas de nuestro PC al servidor
scp -r /datos/*.* jessica@192.168.1.239:/pruebas/datos/

Password: // Introducimos la contrasea de jessica en el servidor


datos/*.* 100% 443 50.6KB/s 00:03 // Archivos copiados

Desde PCs con Windows es posible utilizar el programa WinSCP que permite copiar archivos
desde y hacia el servidor. Se trata de un cliente que utiliza el protocolo ssh para acceder al sistema
de archivos del servidor Linux desde sistemas Windows.

Anda mungkin juga menyukai