Censura en Mexico Conectado – Configurando OpenVPN para cifrar conexiones con autenticacion de usuarios

Este artículo es el complemento del siguiente vídeo en mi canal de YouTube.

Articulo relacionado del 2006 ( VPN CON OPENVPN )

Requerimientos

Tener instalado OpenVPN, yo te recomiendo que si estas en un sistema operativo Unix o tipo Unix como GNU/Linux compiles tu OpenVPN desde el código fuente. Al momento de escribir esto la versión de openvpn es 2.3.13 y se puede descargar de https://swupdate.openvpn.org/community/releases/openvpn-2.3.13.tar.gz

Configuración del servidor con OpenVPN para permitir autenticación de usuarios

Crear un certificado de autoridad y un Certificado para el servidor firmado por el certificado de autoridad.

La llave privada para el certificado de autoridad y solo para casos de este ejemplo igual la usare para firmar el certificado de servidor es recomendable que el servidor tenga su propia llave privada.

openssl genrsa -out private.key 4096

Generar Certificado de autoridad con valides de un año, El certficado de autoridad deberá compartirse con los clientes, la llave privada obviamente NO pero lo escribo por si acaso algún despistado decide que debe compartirla.

openssl req -new -x509 -days 365 -key private.key -subj '/C=MX/ST=DF/L=CDMX/CN=Last Dragon CA' -out ca.crt

Generar solicitud de certificado de servidor que luego será firmado por el de autoridad

openssl req -new -key private.key -subj '/C=MX/ST=DF/L=CDMX/CN=Last Dragon CA' -out certificado.csr

Generar el certificado de servidor con la firma de el certificado de autoridad con una duración de un año

openssl x509 -req -CA ca.crt -CAkey private.key -days 365 -in certificado.csr -CAcreateserial -out certificado.crt

Generar el intercambio de llaves Diffie–Hellman con 512 bits, esto puede tomar un largo tiempo, mientras mas rápida sea la computadora mejor. Podría tomar entre 10 a 15 minutos, tal vez más si no cuentas con suficiente poder de computo.

openssl dhparam -out dh4096.pem 4096

Archivo de configuración.

# Puerto por el que se escucha.
port 1194

# Tipo de interface de red y el medio de transmisión tipo UDP o TCP
proto udp
dev tun

# Certificado de autoridad, Certificado de servidor y llave privada de servidor.
ca ca.crt
cert certificado.crt
key private.key

# Diffie hellman
dh dh4096.pem

# Impone datos de TCPIP como DHCP en la VPN.
server 10.10.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
push “route 10.10.0.1 255.255.0.0”
push “dhcp-option DNS 8.8.8.8”
push “redirect-gateway”

# Tiempo de reintento de conexión y solicitar compresión de datos
keepalive 10 120
comp-lzo

# Bajar privilegios al procesode OpenVPN, llave e interface
user nobody
group nobody

persist-key
persist-tun

# Aquí se solicita que se autentique con usuarios del sistema, la ruta del plugin openvpn-plugin-auth-pam.so depende de donde hayas solicitado la instalación.
client-cert-not-required
plugin /usr/openvpn2.3.13/lib/openvpn/plugins/openvpn-plugin-auth-pam.so login

# OpenVPN Logs y detalle de verbose
status openvpn-status.log
verb 3

Configuración del cliente

En el lado del cliente solo se instala OpenVPN y con privilegios de administrador se ejecuta el siguiente comando. ( En Windows requiere ejecutar como Administrador ) El certificado de autoridad debe encontrarse en la misma carpeta donde se ejecute el comando

openvpn --remote hackers.city --comp-lzo --dev tun --auth-user-pass --ca ca.crt –client

Si se desea especificar el puerto 80 por ejemplo, por omisión el protocolo es UDP

openvpn --remote hackers.city 80 --comp-lzo --dev tun --auth-user-pass --ca ca.crt –client

Desde aquí ya está establecida una VPN cifrada entre el cliente y el servidor, en el servidor podría darse servicio de NAT o Proxy , incluso Proxy + TOR. También cualquier otro tipo de servicios como transferencia de archivos o voz vía IP

Casos prácticos

Aunque originalmente el articulo es para incrementar tu privacidad, como segunda directiva puede ayudarte a quitar bloqueos en redes publicas y de gobierno.

En las siguientes imágenes se puede ver como mi gobierno considera mi sitio como de hacking y por algún motivo le tiene miedo, por lo que estoy bloqueado de las redes de gobierno. En este caso la red de gobierno es. MEXICO CONECTADO.

¿Qué es México Conectado?

México Conectado es un proyecto del Gobierno de la República que contribuye a garantizar el derecho constitucional de acceso al servicio de Internet de banda ancha (artículo 6to. constitucional).

Para lograr dicho objetivo, México Conectado despliega redes de telecomunicaciones que proveen conectividad en los sitios y espacios públicos tales como escuelas, centros de salud, bibliotecas, centros comunitarios o parques, en los tres ámbitos de gobierno: federal, estatal y municipal.

A través del proyecto México Conectado cada vez más estudiantes y maestros tienen acceso a la banda ancha en su escuela o universidad; cada vez más médicos y funcionarios de salud cuentan con conectividad en su clínica o centro de salud, y cada vez más ciudadanos disfrutan de conexión gratuita a Internet en algún sitio o espacio público, como bibliotecas o centros comunitarios.

Evitando la censura

Lograr la conexión a mi sitio aun estando en la red de México conectado, que por algún motivo decidió censurar la cueva del ultimo dragón. En este caso práctico simplemente es un acto de inocente rebeldía, sin embargo, en otros países donde haya persecución a periodistas o civiles por expresar sus ideas, este tipo de configuración de VPN abre una oportunidad de escapar a los regímenes de censura de la nación. Que dicho sea de paso, que pena que mi país decida censurar bajo el criterio de algún mocho que decidió censurar mi blog.

Imágenes de la censura y como esta fueron burladas.

Censura en México Conectado

Censura en México Conectado

Censura en México Conectado

Censura en México Conectado

11 Comments

Add a Comment

Comment spam protected by SpamBam