VPN entre dos servidores con openVPN

openvpntech_logo1Hoy vamos a montar una VPN entre dos servidores ubicados en dos CPDs distintos, para que puedan comunicarse entre ellos a través de un canal seguro. En mi caso, he usado el túnel VPN (Full TLS) para conectar dos servidores MySQL que replican los datos el uno del otro. De esta forma, los datos que se replican de la base de datos viajan por Internet a través de un canal privado y seguro.

He hecho las pruebas en el siguiente entorno:

  • OpenVPN 2.3.2 x86_64-redhat-linux-gnu

Un servidor CentOS 6.4 con 512MB de RAM, instancia de RackSpace (sí, 512MB de RAM, y estamos en 2013, sí).

  • Hostname: vpntest1
  • IP pública: 80.80.80.81
  • IP privada: 10.10.10.81

Un segundo servidor CentOS 6.4 con 512MB de RAM, instancia de RackSpace en un CPD diferente.

  • Hostname: vpntest2
  • IP pública: 80.80.80.82
  • IP privada: 10.10.10.82

Por defecto, los servidores vienen con selinux deshabilitado, iptables parado, y no pueden hacer ping entre sí mediante sus ips privadas pero sí mediante sus ips públicas. He seguido, en mayor parte, este fantástico tutorial que han hecho los técnicos de Rackspace.

También es importante configurar ntp en ambos servidor, para que tengan la hora sincronizada.

Continuar leyendo «VPN entre dos servidores con openVPN»

vsftpd con TLS explícito en CentOS

Seguridad

vsftpd es un servidor FTP que debería ser «Very Secure FTP», pero que por defecto es justo lo contrario. Con un poco de trabajo, podemos dejarlo bastante mejor, que es precisamente, lo que voy a mirar de describir a continuación.

Lo que queremos es forzar a los clientes a usar FTP+TLS Explícito, en lugar de FTP simple, para forzar comunicaciones cifradas. Además, usaremos FTP pasivo, enjaularemos a los usuarios y crearemos un listado de usuarios que puedan conectar, para tener controlados a los usuarios FTP.

Las pruebas se han realizado sobre un servidor CentOS 5.4 con vsFTPd 2.0.5.

En primer lugar, si no lo tenemos ya, podremos instalar vsftpd desde yum.

[root@MyServer]# yum install vsftpd

Certificado SSL

A continuación, generaremos el certificado para el SSL y le daremos los valores adecuados:

[root@MyServer]# openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Country Name (2 letter code) [GB]:ES
State or Province Name (full name) [Berkshire]:Spain
Locality Name (eg, city) [Newbury]:Barcelona
Organization Name (eg, company) [My Company Ltd]:Mi Empresa S.A.
Organizational Unit Name (eg, section) []: IT
Common Name (eg, your name or your server’s hostname) []:midominio.com
Email Address []:

Una vez generado, cambiaremos los permisos del fichero:

[root@MyServer]# chmod 600 /etc/vsftpd/vsftpd.pem

Continuar leyendo «vsftpd con TLS explícito en CentOS»