AVERTISSEMENT: PPTP EST UN PROTOCOLE INSECURE! Non seulement le chiffrement a été violé, mais il envoie votre authentification en texte clair et est facilement intercepté. Il a été estimé que le temps nécessaire à la force brute du mot de passe équivaut à peu près au temps nécessaire à la force brute d'une seule touche DES. Pensez à utiliser OpenVPN ou une autre architecture VPN au lieu de PPTP!
J'ai utilisé ce guide pour configurer un serveur VPN PPTP sur mon serveur Ubuntu 12.04.
Pour résumer les points principaux du lien, cependant:
1: Installer pptpd
et ufw
. iptables
peut être utilisé à la place d'ufw, mais par souci de facilité, il ufw
est préférable que vous ne le sachiez pas iptables
.
sudo apt-get install pptpd ufw
2: Ouvrez les ports nécessaires. Le guide suggère 22 (SSH) et 1723 pour le VPP PPTP.
sudo ufw permettre 22
sudo ufw permettre 1723
sudo ufw enable
3: Modifier /etc/ppp/pptpd-options
. Ouvrez le fichier avec votre éditeur préféré (le mien est nano, donc la commande est pour moi sudo nano /etc/ppp/pptpd-options
), et commentez ces lignes en les plaçant #
devant, si vous voulez que cela fonctionne universellement sur tous les systèmes d'exploitation:
refuser-pap
refuser-chap
refuser-mschap
Vous pouvez commenter cette ligne si vous souhaitez désactiver le cryptage: require-mppe-128
4: Pendant la modification /etc/ppp/pptpd-options
, ajoutez des serveurs DNS pour le VPN. Cet exemple utilise des serveurs OpenDNS:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
5: Modifier /etc/pptpd.conf
. Ouvrez le fichier avec votre éditeur préféré (le mien est nano, donc la commande est pour moi sudo nano /etc/pptpd.conf
). Vous devez ajouter les adresses IP VPN locales du système. Ajoutez donc:
localip 10.99.99.99
remoteip 10.99.99.100-199
Si votre système est un SMV, utilisez l'adresse IP publique pour "localip". Si ce n'est pas le cas et s'il se trouve sur un réseau local, utilisez l'adresse IP du réseau de votre ordinateur. Utilisez différentes adresses IP et plages si ces adresses IP existent sur votre sous-réseau! Si vous ne connaissez pas votre adresse IP publique de votre VPS, trouvez-la en exécutantdig +short myip.opendns.com @resolver1.opendns.com
6: Modifier /etc/ppp/chap-secrets
. Ouvrez le fichier avec votre éditeur préféré (le mien est nano, donc la commande est pour moi sudo nano /etc/ppp/chap-secrets
), et ajoutez les données d'authentification.
Le format pour /etc/ppp/chap-secrets
est:
[Nom d'utilisateur] [Service] [Mot de passe] [Adresse IP autorisée]
Un exemple serait: sampleuser pptpd samplepassword *
7: Redémarrez pptpd. Exécutez cette commande dans le terminal:sudo /etc/init.d/pptpd restart
8: Modifier /etc/sysctl.conf
. Ouvrez le fichier avec votre éditeur préféré (le mien est nano, donc la commande est pour moi sudo nano /etc/sysctl.conf
). Décommentez la ligne suivante (en supprimant #
le début) dans /etc/sysctl.conf
: net.ipv4.ip_forward=1
Rechargez la configuration: sudo sysctl -p
9: Cette étape suppose que vous avez ufw.
Modifier /etc/default/ufw
et changer l'option DEFAULT_FORWARD_POLICY
de DROP
àACCEPT
10: Cette étape suppose que vous avez ufw.
Modifiez /etc/ufw/before.rules
et ajoutez les éléments suivants au début /etc/ufw/before.rules
ou juste avant les *filter
règles (recommandé):
# Règles de table NAT
* nat
: POSTROUTING ACCEPT [0: 0]
# Autoriser le trafic en avant vers eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE
# Traite les règles de la table NAT
COMMETTRE
Si vous avez la version 3.18 et ultérieure du noyau (vous pouvez le vérifier en le lançant uname -r
), ajoutez également les lignes suivantes avant la # drop INVALID packets ...
ligne:
-A ufw-before-input -p 47 -j ACCEPT
11: Redémarrez le pare-feu pour actualiser les jeux de règles et appliquer les règles ajoutées aux /etc/ufw/*.rules
fichiers: sudo ufw disable && sudo ufw enable
Avertissement: Si vous avez d'autres ports à ouvrir, par exemple pour HTTPS si votre serveur héberge un site Web, vous devez ajouter individuellement ces ports à la liste des applications autorisées avecsudo ufw allow <PORT>