Microsoft PPTP server
PoPToP VPN Server
Het Microsoft PPTP protocol is een relatief onveilig protocol (op pptpclient.sourceforge.net staat een uitleg). Desalniettemin kan het wenselijk zijn om een Linux-server te voorzien van een VPN-server op basis van het PPTP protocol; meestal zal dit zijn omdat een klant een VPN-oplossing wil, maar geen client VPN software geïnstalleerd wil hebben (en de Microsoft PPTP-software zit standaard bij elke Windows client [ik geloof sinds Windows 98]). Iedere beveiligingsexpert die het zout in de pap waard is zal je adviseren geen PPTP te gebruiken, maar IPsec of OpenVPN (gebaseerd op SSL). Weet je desondanks zéker dat de Linux-server PPTP-VPN moet ondersteunen, waarschuw dan de klant schriftelijk voor de risico's, en begin daarna pas met onderstaande. Voorbereiding
1.Begin met een Linux-server die zijn basis-opzet gehad heeft. Log in en su naar root. Zorg dat de catalogus van aptitude is bijgewerkt (met “u”); check dat alle software op de Linux-server up-to-date is t.ov. deze catalogus (met “shift-u” en “g”). 2.Gebruik aptitude om de volgende pakketten te installeren, voorzover ze niet al geïnstalleerd zijn:
- ppp (minstens versie 2.4.4) - pptp-linux (client software, niet expliciet nodig) - pptpd (versie 1.3.0 of hoger)
3.Zorg dat de kernel gecompileerd is met ppp-support als module. In menuconfig vind je dit onder device drivers > Network device support > PPP (Point-to-Point protocol) support.
Doe hierbij ook “PPP support for async serial ports” als module. NB beide schijnen niet statisch gecompileerd te kunnen worden, want dan werkt de pptpd niet? Tevens moet je onder cryptographic options de opties SHA1 en ARC4 aan hebben staan.
4.Bewerk /etc/pptpd.conf. Het belangrijkste zijn de onderste regels: welke IP-nummers moeten er gebruikt worden voor de server en voor de VPN clients. Het is mogelijk maar één IPnummer in te vullen voor de server; de clients krijgen elk een eigen IPnummer uit de opgegeven reeks. Een voorbeeld is dus:
localip 192.168.0.1 remoteip 192.168.0.201-210 Hiermee reserveer je 10 IPnummers voor clients; elke client heeft zijn pptp-verbinding met 192.168.0.1. Het is mogelijk een range te pakken búiten de LAN range, maar dan moet je op de client een gateway opgeven. Handiger is het om een klein stukje vrije range van het LAN zelf te nemen.
5.Herstart de pptpd server middels
/etc/init.d/pptpd restart
6.Voeg gebruikers toe aan /etc/ppp/chap-secrets. De format is:
<gebruikersnaam> pptpd “<password>“ * Merk op dat gebruikersnamen case sensitive zijn! Als je dus als gebruikersnaam “jans” intypt, dan kun je NIET met “JanS” inloggen!
7.Voeg aan het eind van /etc/ppp/pptpd-options de tekst toe:
# Disable Van Jacobson compression # (needed on some networks with Windows 9x/ME/XP clients, see posting to # poptop-server on 14th April 2005 by Pawel Pokrywka and followups, # http://marc.theaimsgroup.com/?t=111343175400006&r=1&w=2 ) novj novjccomp
# turn off logging to stderr, since this may be redirected to pptpd, # which may trigger a loopback nologfd
8.check of de firewall verkeer van de VPN clients kan doorlaten; een VPN-verbinding is in het algemeen verkeer vanaf een ppp<x> interface (ppp0 e.d.).