sábado, 10 de marzo de 2012

pfsense 2: Acceso a consola SSH por llave

Por seguridad es mucho mejor habilitar el acceso a la consola por medio de llaves, ya que muchos tienen la costumbre de abrir el acceso por medio del metodo tradicional que es:

usuario+password.

Pero esto ya no es seguro, aparte de que nuestro logs van a aparecer infinidad de mensajes de gente que esta tratando de accesar con ataques de diccionario.

Otra cosa que les aconsejo es cambiar el puerto tradicional de ssh que es el 22 por uno mayor pero que ustedes esten seguros que ninguno de sus servicios lo requiera, ejemplo:

1978

Regularmente los scripts de ataque escanean del 1-1024, asi que mientras mayor el puerto mucho mejor.

11387

Que servicio de nuestra red los usan?

Una vez que definan el puerto(si lo hacen) debemos generar nuestras llaves, tanto publica como privada, si usan windows tenemos a putty, el paquete completo trae todo, ahi viene el generador de llaves, por default la llave es generada utilizando codigos de 1024 bits, pero vamos siendo realistas, con el poder de los equipos de computo actuales este valor ya no es confiable.

Por ello yo lo cambio a 2048, mientras mayor el valor mas seguro pero tarda un poco mas en encriptar/desencriptar los paquetes pero vale la pena.

Generando las llaves de 2048 bits.
Llaves generadas.
Salvan las 2 llaves, podran ver los botones que dice:

Save public key y Save private key.

Ustedes deben saber que las llaves privadas son su llave a el mundo, deben guardarlas en un lugar seguro.

Lo que vamos a dar siempre a el mundo es la llave publica, la privada  a nadie, ni a su novia :-).

Yo no recomiendo que pongan una frase ya que es muy incomodo estar a cada rato metiendo esa clave, es buen punto de seguridad pero muy incomodo, si su sistema creen que lo vale adelante.

Un ejemplo de el contenido de las los archivos:

Llave publica.
Llave Privada.
Ahora la llave la debemos entregar de la siguiente manera:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAud0msDGWBNXq8OteQafJsKQz/xf1pDoqplnu
v/Wkm3ZFsbtN2UwO33gynocI9WAgIpNXXQXwQerS510HY/1iNhWVMrv5bWECyYkP
RrzhZLQwaqOvlHUoVFLeaKu95GJciSZeE/4fYxTG7kPY9JpW/gOH5+mbDmneUeiU
e0UPIuZKrOfJ9IsZqwMTdaoqiwWwhfWeSk0l2HQomwXCWHDdTQa0BbGEE1wZqKpR
BQ6HL7NeyqfOii6zSWtmpujTtocKg1btdDv21dhtVZ+pvNXK5nyYWt+z0S+ws9EQ
xrFUmsp8891XjX6YpTEnMbNfcJhYgHceuZcsgCdN5rAdkovEiQ==

El ssh-rsa se lo debemos agregar ya que putty no lo genera,

Ahora si vamos a el GUI de pfsense, y entramos a el administrador de usuarios, seleccionamos el admin y vamos a agregar nuestra llave publica.

Editando usuarios.
Seleccionamos el checkbox para que nos abra la ventana y pegar nuestra llave.

Agregando la llave.
Un consejo, la llave debe quedar en una sola linea, no debe quedar amontoda asi:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAud0msDGWBNXq8OteQafJsKQz/xf1pDoqplnu
v/Wkm3ZFsbtN2UwO33gynocI9WAgIpNXXQXwQerS510HY/1iNhWVMrv5bWECyYkP
RrzhZLQwaqOvlHUoVFLeaKu95GJciSZeE/4fYxTG7kPY9JpW/gOH5+mbDmneUeiU
e0UPIuZKrOfJ9IsZqwMTdaoqiwWwhfWeSk0l2HQomwXCWHDdTQa0BbGEE1wZqKpR
BQ6HL7NeyqfOii6zSWtmpujTtocKg1btdDv21dhtVZ+pvNXK5nyYWt+z0S+ws9EQ
xrFUmsp8891XjX6YpTEnMbNfcJhYgHceuZcsgCdN5rAdkovEiQ==

Todo en una sola linea.

Por ello en la imagen anterior como podran observar solo se ve una parte de la llave pero es una sola linea.

Debemos decirle a pfsense que vamos a entrar en la consola via ssh atraves de llaves. Nos vamos a la seccion System->Advanced->Secure Shell.

Habilitamos el acceso con llave.

Ya que hayamos hecho lo anterior salvamos y vamos a probar.

Para esto vamos a configurar putty para entrar a la consola usando nuestras llaves.

Configurando Putty.
Selecionamos la llave privada.
Salvamos y abrimos.

SSH pregunta si acepatamos la operacion.
Le damos a el boton "Yes"...

Adentro.
Ya hemos logrado entrar con nuestra llave privada.

Si desean comprobar que solo con llave podemos entrar, configuren otro profile en putty mentan todos los parametros excepto la llave y deben recibir un mensaje como este:

Error cuando no hay llaves dadas.
Como podran ver, si alguien no tiene la llave dada de alta imposible accese nuestro sistema, si abren el puerto para entrar remotamento es lo mismo, es mas complicado para los que traten de accesar nuestra sistema si no tienen la llave.

Recuerden que esta misma llave la pueden usar para todos los sistemas que controlen via ssh, se casa uno con ellas, yo la cambio cada 365 dias por seguridad.

Saludos.

2 comentarios:

Anónimo dijo...

Thanks for the advice,

I only have 2 packages installed

bandwidthd System No info, check the forum 2.0.1.2

rate Network Management No info, check the forum 0.9

when I install squid (it seems to crash when installing perl)

I checked the pkg_ino

I see

-bandwithdd

-db41_4-41.25 the berkly db package rev 4.1
-gd-20.35.1 - a graphics library for fast creation of images
-jpeg-6b-4-1JG - jpeg compression library
-libiconv - a character set conversion library


I did delete 2 packages that were related to squid but it still crashes not those packages no longer show but the above is what is left. I don't' want to mess up the system so I'm being cautious should I erase any of the above?

right after squid is extracted i get this message
instale pfsense y todo bien pero al momento de isntalar el squid me aparece esto ayudenme

Downloading package configuration file... done.
Saving updated package information... done.
Downloading squid and its dependencies... done.
Checking for successful package installation... failed!

Installation aborted.

Pedro Moreno dijo...

Es un espagueti tu comentario, te recomiendo irte a el foro de pfsense en español para ayudarte, saludos!!