
PPTP (Point to Point Tunneling Protocol), es un protocolo de comunicaciones desarrollado por Microsoft, U.S. Robotics, Ascend Communications, 3Com/Primary Access, ECI Telematics conocidas colectivamente como PPTP Forum, para implementar redes privadas virtuales o VPN.
La seguridad de PPTP ha sido completamente rota, utilizando un ataque "Man in the middle" mientras se intercambian las claves en el establecimiento de la conexión. Podéis aprender a hacerlo en el siguiente enlace:
http://www.elladodelmal.com/2010/07/crackear-conexiones-vpn-pptp-con-ms.html
Para comparar las características de PPTP con el resto de protocolos de conexión, podéis consultar el siguiente enlace:
http://es.giganews.com/vyprvpn/compare-vpn-protocols.html
Lo primero será instalar el paquete "pptpd":
apt-get install pptpd
El servidor utilizará los puertos 1723 TCP y 47 GRE, que tendremos que tener en cuenta a la hora de configurar nuestro cortafuegos:
iptables --append INPUT --protocol 47 --jump ACCEPT iptables --append INPUT --protocol tcp --match tcp \ --destination-port 1723 --jump ACCEPT
Tras la instalación comenzamos a configurar nuestro servidor de VPNs con PPTP.
Editamos el fichero /etc/pptpd.conf, para que nos quede de la siguiente manera:
ppp /usr/sbin/pppd option /etc/ppp/pptpd-options localip 192.168.1.1 remoteip 192.168.1.100-150
Donde localip será la IP del servidor VPN y remoteip será el rango de IPs que se le asignarán a los clientes en el momento de la conexión.
A continuación editamos el archivo /etc/ppp/pptpd-options, señalado en nuestro archivo anterior /etc/pptpd.conf:
name VPN-PPTP require-mschap-v2 require-mppe-128 ms-dns 192.168.1.1 proxyarp nodefaultroute lock
- La línea name será el nombre de nuestra VPN, que nos servirá más adelante con la autenticación.
- Las opciones con require establecerán los mecanismos de autenticación que utilice la VPN.
- La línea ms-dns son los servidores DNS que serán asignados al cliente.
- La línea proxyarp permite que el servidor haga de proxy para los paquetes arp entre la red remota y la local.
Continuamos configurando las cuentas de los clientes, para esto editamos el archivo /etc/ppp/chap-secrets.
cliente1 VPN-PPTP clave-del-cliente1 *
- cliente1: nombre del usuario.
- VPN-PPTP: nombre de la VPN que hemos creado en el servidor.
- clave-del-cliente1: clave del cliente
- *: dirección IP que se asigna al cliente, con * el servidor la asigna automáticamente desde el rango.
Reiniciamos el servicio para que tomen efecto los cambios:
/etc/init.d/pptpd restart
Una vez configurado el servidor, sólo tendríamos que lanzar la VPN desde un cliente Windows, o incluso Linux, a la IP pública de nuestra conexión. Para ello podéis echarle un vistazo al siguiente manual:
Cómo configurar una VPN cliente en Windows
VPN con el protocolo PPTP escrito por Rafa Morales está protegido por una licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional