Bajo la premisa: «No es que yo sea paranoico, es que me están siguiendo…» alguien ha creado un par de scripts que hacen a tu pc ridículamente segura y hasta le ha dado nombre (y apellido); Crypto Port Knocking 0 Single packet authentication. –o ambas cosas juntas, en realidad

Sencillamente genial.

¿Creíste que tu Linux con SELinux, ACL, Port knocking, Fail2ban, Snort, OSSEC, sin puertos abiertos, con autenticación SSH basada en llaves, con el usuario root deshabilitado y todos los servicios enjaulados, los DNS y la tabla ARP estática era seguro?

No… No es seguro. Al menos no para el creador de esta obra maestra de la seguridad que ha llevado la cosa a tal extremo que raya con el absurdo.

Si te interesan estos temas, después del salto viene lo bueno. Es fundamental tener una noción básica de bash y entender un poco de inglés para echarlo a andar:  Continúa leyendo

Otro que me llegó por mail en una cadena de forwards que tanto bien hacen:

No existen las lesbianas. Solo mujeres que nunca conocieron al cordobés.

Cuando Dios dijo: ‘Hágase la luz’, el cordobés ya estaba jugando a la play dos.

Un cordobés le regaló su navaja suiza a McGiver, total el se las arregla perfectamente con un alfiler de gancho.

El cordobés juega a la Ruleta Rusa con el arma totalmente cargada… Y gana.

El cordobés encuentra la revista «Muy interesante» bastante aburrida.

El cordobés compra fernet Capri y le queda como si fuera Branca.

Cuando Jesús en la montaña multiplicó los panes, el cordobés le dijo: «Deja flaco, traje facturas».

El cordobés culpó a la noche, culpó a la playa, y culpó a la lluvia.

Al cordobés siempre le funciona el ‘Abra aquí’ de las galletitas.

Cuando las ovejas no pueden dormir se ponen a contar cordobeses.

El cordobés compra todo lo que Mastercard no puede.

Mientras vos expías tus culpas y pecados en el Purgatorio, el cordobés entra en musculosa y calzones, agarra una cerveza de la heladera, y vuelve a su cuarto a ver tele.

El cordobés le cobra la renta al Señor Barriga.

El primer día Dios hizo la luz, y vio que era bueno. El segundo día hizo al cordobés, y se dijo a si mismo ‘me zarpé’.

El cordobés si quiere, te quita lo bailado.

Cuando el cordobés elimina un archivo, la computadora nunca le pregunta si está seguro.

El cordobés no sólo dividió las aguas, sino que también les sacó raíz cuadrada y está evaluando la posibilidad de elevarlas al cubo.

La MATRIX es un programa que hizo el cordobés en 5 minutos con el turbo Pascal, para pasar el rato.

El cordobés puede estornudar con los ojos abiertos.

Alrededor del cordobés hay señal Wi-Fi.

Si el cordobés se va a Sevilla, no sólo conserva su silla, sino que cuando vuelve tiene también un banquito y una reposera.

Cuando el cordobés juega al metegol, mete los goles de rabona y tira caños.

Al cordobés no se le rayan los CD S, solo se le remixan.

Si argentina queda afuera en el mundial, el cordobés se gana un plasma… De 72 pulgadas.

James Bond no tiene licencia para matar al cordobés.

Jehová es testigo del cordobés.

Ticketek llamo al cordobés para venderle entradas de U2 y Sabina. El los hizo aguardar 2 horas en línea.

El cordobés hizo un pacto con el Diablo. Ahora Lucifer está hasta las pelotas.

El cordobés invita a almorzar a Mirtha Legrand.

El cordobés sabe distinguir entre ‘Tire’ y ‘Empuje’.

Cuando todos van el Cordobés viene.

El cordobés es tan grosso, que de chico cuando decía ‘basta para mi’, era ‘basta para todos’

Están estudiando aplicar un nuevo método de calificación en las escuelas: Mal – Regular – Bien – Muy Bien -Excelente – Cordobés.

El cordobés no presta atención, la regala.

El cordobés puso dólares, y recibió dólares.

El cordobés es válido también en Buenos Aires y Mendoza.

El cordobés es sujeto y predicado al mismo tiempo.

El cordobés SABE, pero NO CONTESTA.

Cuando el cordobés deja una mina le dice: ‘No soy yo, sos vos’.

El cordobés se merece el jugo Tang que le da Jaime.

Si el cordobés mira la cinta de La Llamada, a los siete días se muere la nena del pozo.

El cordobés no esta a la derecha de Dios padre, DIOS se le sienta a upa.

Los noteros de CQC esquivan al cordobés por miedo a que los deje en ridículo.

El cordobés despidió a Donald Trump.

El Olmo del cordobés da peras.

El cordobés no salpica la tabla, la bendice.

El cordobés puede contar hasta el infinito, al revés.

El cordobés le enseñó a Cortázar a jugar a la Rayuela.

Lo que ‘La Gotita’ pega solo el cordobés puede despegarlo.

Toda la película de Forrest Gump está basada en anécdotas del cordobés.

El cordobés vende su orina enlatada. Se la conoce como Speed.

Si el cordobés alcanza la velocidad de la luz, no solo duplica su masa – según Einstein – sino que también usa la mitad de masa sobrante para hacer bizcochitos.

El cordobés no come milanesas porque conoce su verdad.

El cordobés fue al lado oscuro de la fuerza, volvió, y trajo recuerdos para la familia.

El cordobés es el único ser humano que se puede lamer el codo.

Ajajá! ¿Intentando lamerte el codo?

Viene de este otro artículo anterior, a raíz de la necesidad de ejecutar aplicaciones remotas en el servidor X local usando X11-Forwarding sin que se nos pregunte una contraseña. (Ideal para el acceso directo de la dama o el alias de bash del caballero).

Normalmente, si necesitamos conectarnos a un servidor SSH habitualmente, tendríamos que especificar el nombre de usuario y una contraseña. (Se especifica el usuario únicamente si nos autenticaremos remotamente como un usuario distinto al usuario que localmente ejecutará ssh)

Al cabo de un tiempo esto termina volviéndose tedioso por lo que usar un juego de llaves (key authentication) es la mejor solución.

Por otro lado, desde el punto de vista de la seguridad, –además de correr sshd en un puerto no privilegiado (de 1024 en adelante) y el buen fail2ban controlando los logs- la autenticación por llaves es muchísimo mas confiable en la medida en que nuestra clave privada se mantenga así (privada) y no caiga en manos de nadie.

Habiendo generado nuestro par de llaves RSA para autenticación ssh, una llave privada, y una pública, basta con copiar nuestra llave pública a todo servidor o pc contra la cual nos autenticaremos para que nos deje entrar sin preguntar quien está en la otra punta ni cual es la contraseña.

Sea cual sea el motivo que te lleve a implementar autenticación por llaves, por comodidad o por seguridad, veamos como se pone en funcionamiento:

Generar el par de llaves:

El comando ssh-keygen, que viene de serie con el paquete openssh es el encargado de generar nuestro juego de llaves:

~ $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mn/.ssh/id_rsa):
Created directory ‘/home/mn/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/mn/.ssh/id_rsa.
Your public key has been saved in /home/mn/.ssh/id_rsa.pub.

Dejando la contraseña (passphrase) en blanco durante el proceso, he generado mis dos llaves, la pública: id_rsa.pub dentro del directorio /home/mn/.ssh/  y la privada: id_rsa dentro del mismo directorio.

Copiar la llave pública a la ubicación remota:

Usando secure copy movemos nuestra clave pública hasta el servidor que frecuentamos:

~ $ scp ~/.ssh/id_rsa.pub usuario@servidor:

Instalar la llave pública en la ubicación remota:

Nos logueamos en el servidor (que todavía nos preguntará la contraseña):

~ $ ssh usuario@servidor

Password: **********
Last login: Wed Jul 29 23:19:44 ART 2009 from 5.192.233.114 on ssh

Y copiamos el contenido de nuestra llave pública dentro del archivo authorized_keys en el directorio  ~/.ssh/:

~ $ cat id_rsa.pub >> ~/.ssh/authorized_keys

~ $ exit

¡Y eso es todo!

Si nuevamente intento loguearme usando SSH en este servidor, ya no pregunta mi contraseña. Mi llave privada se coteja contra la llave pública y me permite el acceso de forma cómoda e instantanea:

~ $ ssh usuario@servidor
Last login: Wed Jul 29 23:20:09 ART 2009 from 5.192.233.114 on pts/0
servidor ~ $

Es importantísimo tener en cuenta que este método planteado, si bien es mucho mas seguro que el método tradicional de autenticación –que es vulnerable a ataques de fuerza bruta– a la vez representa un gran riesgo para la seguridad si alguien se hace con nuestra llave privada.

Quien tenga acceso local a la pc que almacena la llave privada automáticamente tiene acceso remoto a las pc o servidores que conocen nuestra llave pública.

Existiendo la posibilidad de especificar un password en nuestra llave privada automáticamente el sistema se vuelve seguro ya que en el caso de que este password no esté en blanco:

  • El acceso SSH no es vulnerable a ataques de fuerza bruta.
  • Nuestra clave privada no se puede desencriptar sin conocer el password.
  • Se nos pide el password de la clave privada en lugar de el password de usuario para iniciar sesión.

En este último caso se pierde la comodidad de loguearnos sin contraseña. Se nos pregunta la contraseña pero de la llave y no del usuario en cuestión. Esto también se puede automatizar haciendo uso de ssh-agent, pero es tema para otro artículo, para no complicar demasiado las cosas.