Ir al contenido

Entradas etiquetadas como ‘bsd’

19
oct

OpenBSD 4.6

Una nueva edición de OpenBSD, el sistema operativo con menos cantidad de agujeros de seguridad según sus propios desarrolladores, se ha liberado para el público en general.

Sus novedades pueden consultarse en la web de OpenBSD y están dadas básicamente por un ampliado soporte de hardware, varias mejoras en PF, su popular herramienta de filtrado y clasificación de tráfico de red, OpenSSH 5.3, nuevas funcionalidades en software de enrutamiento y optimizaciones en su stack de protocolos de red.

5
oct

Dirección IP secundaria en distintos sistemas operativos

Una dirección IP secundaria es una dirección extra que se le asigna a una placa de red. En realidad, una misma placa de red suele admitir múltiples direcciones IP. Esto resulta muy útil cuando deseamos tener una PC en más de una red al mismo tiempo utilizando una única placa de red y, por tanto, un único cable. A continuación dejo los comandos para hacerlo en diferentes sistemas operativos. Notar que en todos los casos es necesario tener privilegios de administrador para hacerlo.

Linux

Suponiendo que la placa de red en cuestión se llama eth0, entonces:

ifconfig eth0:1 192.168.2.2

BSD

Suponiendo que la placa de red en cuestión se llama rl0, entonces:

ifconfig rl0 alias 192.168.2.2

Mac OS X

Suponiendo que la placa de red en cuestión se llama en0, entonces:

ifconfig en0 add 192.168.2.2

Cisco IOS

Suponiendo que el puerto que se quiere configurar es el fastEthernet 0/0, entonces:

Router# configure terminal
Router(config)# interface fastEthernet 0/0
Router(config-if)# ip address 192.168.2.2 255.255.255.0 secondary

Windows XP

Inicio – Panel de control – Conexiones de red – Click derecho sobre la conexión a editar – Propiedades – Seleccionar Protocolo de Internet TCP/IP – Propiedades – Opciones avanzadas – En Direcciones IP elegir Agregar – Setear la nueva dirección IP

10
ago

Login con clave pública con SSH

Algo muy cómodo al administrar equipos es utilizar el esquema de clave pública y clave privada. Resulta muy interesante también a la hora de programar un script que necesite conectarse a un servidor para copiar archivos o ejecutar comandos en él.

Esta estrategia se basa en la criptografía asimétrica y consiste en un par de claves, precisamente una clave privada que se almacena en el equipo de administración con gran seguridad y una clave pública que se distribuye a los demás equipos. Entonces, cada vez que el equipo de administración se quiere loguear a uno de los equipos que tienen su clave pública, éste genera un mensaje cifrado con su clave privada que descifra el otro equipo utilizando la clave pública. Así, el equipo destino sabe que quien intenta autenticarse es quien dice ser, dado que es el único que conoce la clave privada.

Lo anterior nos da la posibilidad de autenticarnos a un equipo sin la necesidad de suministrar una contraseña o reforzar la seguridad exigiendo ambas cosas para la autenticación. Con esto último, si alguien pudiera descifrar nuestra contraseña aún necesitaría la clave privada y viceversa.

Luego de esta introducción veremos cómo lograr el primero de los casos entre dos equipos con Linux. Los pasos a seguir son:

  • Generar el par de claves en el equipo desde el cuál nos autenticaremos a los demás. Nos pedirá una contraseña que no vamos a suministrar, de lo contrario la deberemos ingresar al autenticarnos al otro equipo.

leandro@scarlet-ubuntu:~$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/leandro/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/leandro/.ssh/id_rsa.
Your public key has been saved in /home/leandro/.ssh/id_rsa.pub.
The key fingerprint is: af:72:d1:4d:84:33:d6:c4:50:d3:7c:ff:e3:28:90:25 leandro@scarlet-ubuntu

Si analizamos los archivos creados en el directorio .ssh encontraremos: id_rsa e id_rsa.pub. La primera de ellas es la clave privada que estará protegida para lectura por todos los demás usuarios y la segunda la pública.

  • Copiar la clave pública al host destino. Para ello, es necesario pegar el contenido del archivo id_rsa.pub del host de administración en un archivo llamado authorized_keys en el host destino, una clave pública por línea. También existe en Linux una utilidad que hace este trabajo por nosotros. Para ello, desde el equipo de administración:

leandro@scarlet-ubuntu:~$ ssh-copy-id 192.168.1.2

The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established. RSA key fingerprint is 2d:6a:7f:9a:71:ff:32:ae::09:3b:23:9e:70:70:8d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (RSA) to the list of known hosts
Password:

Now try logging into the machine, with "ssh '192.168.1.2'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.

  • Con lo anterior ya está todo listo para poder entrar al equipo remoto sin contraseña como se ve a continuación:

leandro@scarlet-ubuntu:~$ ssh 163.10.41.2
Last login: Mon Aug 10 08:18:32 2009
scarlet:~ leandro$

Notar que si bien esto puede resultar muy práctico en muchos casos también supone un riesgo de seguridad, dado que si la máquina de administración se ve comprometida entonces el atacante podrá acceder a todos los servidores que tengan la clave pública de la misma.