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
Enlaces transversales de Book para VPN con el protocolo PPTP
VPN con el protocolo PPTP escrito por Rafa Morales está protegido por una licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional