OSTRZEŻENIE: PPTP TO PROTOKÓŁ BEZPIECZEŃSTWA! Szyfrowanie zostało nie tylko naruszone, ale wysyła twoje uwierzytelnienie czystym tekstem i jest łatwe do przechwycenia. Oszacowano, że czas wymagany do brutalnej siły hasła jest w przybliżeniu równy czasowi wymaganemu do brutalnej siły pojedynczego klucza DES. Rozważ użycie OpenVPN lub innej architektury VPN zamiast PPTP!
Skorzystałem z tego przewodnika, aby skonfigurować serwer PPTP VPN na moim serwerze Ubuntu 12.04.
Podsumowując główne punkty łącza:
1: Zainstaluj pptpdi ufw. iptablesmoże być stosowany zamiast ufw, ale ze względu na łatwość ufwjest lepszy, jeśli nie wiesz iptables.
sudo apt-get install pptpd ufw
2: Otwórz potrzebne porty. Przewodnik sugeruje 22 (SSH) i 1723 dla VPN PPTP.
sudo ufw pozwalają 22
sudo ufw pozwalają 1723
sudo ufw enable
3: Edytuj /etc/ppp/pptpd-options. Otwórz plik w swoim ulubionym edytorze (mój nano, więc dla mnie jest to polecenie sudo nano /etc/ppp/pptpd-options) i skomentuj te wiersze, umieszczając #przed nimi, jeśli chcesz, aby działało to uniwersalnie na wszystkich systemach operacyjnych:
odmówić
odmówić
refuse-mschap
Możesz skomentować ten wiersz, jeśli chcesz wyłączyć szyfrowanie: require-mppe-128
4: Podczas edycji /etc/ppp/pptpd-optionsdodaj serwery DNS dla VPN. W tym przykładzie wykorzystano serwery OpenDNS:
ms-dns 208,67.222.222
ms-dns 208,67.220,220
5: Edytuj /etc/pptpd.conf. Otwórz plik w swoim ulubionym edytorze (mój nano, więc dla mnie to polecenie sudo nano /etc/pptpd.conf). Musisz dodać lokalne adresy IP VPN dla systemu, więc dodaj:
localip 10.99.99.99
remoteip 10.99.99.100-199
Jeśli twój system to VPS, użyj publicznego adresu IP dla „localip”. Jeśli nie ma go i jest w sieci lokalnej, użyj adresu IP sieci komputera. Użyj różnych adresów IP i zakresów, jeśli istnieją one w twojej podsieci! Jeśli nie znasz swojego publicznego adresu IP swojego VPS, znajdź go, uruchamiającdig +short myip.opendns.com @resolver1.opendns.com
6: Edytuj /etc/ppp/chap-secrets. Otwórz plik w swoim ulubionym edytorze (mój nano, więc dla mnie jest to polecenie sudo nano /etc/ppp/chap-secrets) i dodaj dane uwierzytelniające.
Format /etc/ppp/chap-secretsto:
[Nazwa użytkownika] [Usługa] [Hasło] [Dozwolony adres IP]
Przykładem może być: sampleuser pptpd samplepassword *
7: Uruchom ponownie pptpd. Uruchom to polecenie w terminalu:sudo /etc/init.d/pptpd restart
8: Edytuj /etc/sysctl.conf. Otwórz plik w swoim ulubionym edytorze (mój nano, więc dla mnie to polecenie sudo nano /etc/sysctl.conf). Usuń komentarz z następującego wiersza (usuwając #jego początek) w /etc/sysctl.conf: net.ipv4.ip_forward=1
Przeładuj konfigurację: sudo sysctl -p
9: Ten krok zakłada, że masz ufw.
Edytuj /etc/default/ufwi zmień opcję DEFAULT_FORWARD_POLICYz DROPnaACCEPT
10: Ten krok zakłada, że masz ufw.
Edytuj /etc/ufw/before.rulesi dodaj następujące na początku /etc/ufw/before.ruleslub tuż przed *filterregułami (zalecane):
# Reguły tabeli NAT
* nat
: AKCEPTACJA POSTROUTINGU [0: 0]
# Zezwól na przesyłanie dalej do eth0
-A POSTROUTOWANIE -s 10.99.99.0/24 -o eth0 -j MASQUERADE
# Przetwarzaj reguły tabeli NAT
POPEŁNIĆ
Jeśli masz jądro w wersji 3.18 i nowsze (możesz to sprawdzić, uruchamiając uname -r), dodaj także następujące wiersze przed # drop INVALID packets ...wierszem:
-A ufw-before-input -p 47 -j ACCEPT
11: Uruchom ponownie zaporę, aby odświeżyć zestawy reguł i zastosować reguły dodane do /etc/ufw/*.rulesplików: sudo ufw disable && sudo ufw enable
Ostrzeżenie: jeśli masz inne porty, które potrzebujesz otworzyć, na przykład dla HTTPS, jeśli serwer obsługuje witrynę internetową, musisz osobno dodać te porty do dozwolonej listy za pomocąsudo ufw allow <PORT>