3 Möglichkeiten, mit OpenVPN unter Debian 8 sicher im Internet zu surfen

Einführung

Die Gründe für das Surfen im Internet mit mehr Datenschutz variieren ebenso wie die Möglichkeiten, dies zu erreichen.

In diesem Lernprogramm wird ausführlich erläutert, wie Sie ein virtuelles privates Netzwerk (VPN) auf einem Server einrichten, um drei wichtige Komponenten Ihres Internet-Browsing-Erlebnisses abzusichern:

  • Privatisieren Sie Ihren Webdatenverkehr, indem Sie den unverschlüsselten Datenverkehr schützen, Cookies und andere Tracker verhindern und die IP-Adresse Ihres lokalen Computers maskieren

  • Verhindern Sie, dass Ihr lokaler Internetdienstanbieter DNS-Anfragen protokolliert, indem Sie diese direkt vom VPN an die DNS-Server von Google senden

  • Scannen Sie nach Viren und böswilligen Anwendungen und verhindern Sie den Zugriff darauf

Wenn Sie Ihren eigenen VPN-Server anstelle eines kommerziellen Servers verwenden, können Sie auch die Protokollierung Ihres Browserverlaufs vermeiden (sofern Sie dies nicht möchten). Schließlich können Sie den physischen Standort auswählen, um die Latenz zu minimieren. Die Verwendung eines VPN ist jedoch in der Regel langsamer als die Verwendung einer direkten Internetverbindung.

Dazu installieren und konfigurieren wir die folgenden Anwendungen auf Ihrem Debian 8-Server:

  • * http: //www.clamav.net/index.html [ClamAV] * ist eine Open-Source-Antiviren-Engine zur Erkennung von Trojanern, Viren, Malware und anderen böswilligen Bedrohungen

  • * http: //www.thekelleys.org.uk/dnsmasq/doc.html [Dnsmasq] * ist ein Softwarepaket, das DNS-Dienste (und einige weitere) bereitstellt. Wir werden es nur als DNS-Cache verwenden

  • * http: //www.server-side.de/documentation.htm [HAVP] * Der HTTP-AntiVirus-Proxy ist ein Proxy mit einem Antivirenfilter. Es werden keine Inhalte zwischengespeichert oder gefiltert. Es scannt den gesamten Datenverkehr mit Antiviren-Engines von Drittanbietern. In diesem Tutorial verwenden wir "+ HAVP " als _Transparent Proxy_ und verketten " HAVP " und " Privoxy +" zusammen

  • * https: //openvpn.net/index.php/open-source.html [OpenVPN Community Edition] * ist ein beliebter VPN-Server. Es bietet eine sichere Verbindung zu Ihrem vertrauenswürdigen Server und kann auch DNS-Servereinstellungen an seine Clients senden. In diesem Tutorial wird der Begriff OpenVPN als Kurzform des VPN-Servernamens verwendet

  • * http: //www.privoxy.org/ [Privoxy] * ist von der offiziellen Website ein Non-Caching-Webproxy mit erweiterten Filterfunktionen zur Verbesserung des Datenschutzes, zum Ändern von Webseitendaten und HTTP-Headern, zum Kontrollieren des Zugriffs und zum Entfernen von Anzeigen und andere abscheuliche Internet-Junk_

Nach Abschluss dieses Lernprogramms verfügen Sie über ein Datenschutz-Gateway, das:

  • Sichert Ihre Verbindung, wenn Sie öffentliche WLAN-Spots verwenden

  • Blockiert Werbung und Tracking-Funktionen von Websites

  • Beschleunigt die Ladezeiten von Webseiten, indem serverseitige DNS-Antworten zwischengespeichert werden

  • Überprüft die von Ihnen besuchten Seiten und heruntergeladenen Dateien auf bekannte Viren

Wie es funktioniert

Das folgende Diagramm zeigt den Pfad, den eine Webanforderung über das in diesem Lernprogramm eingerichtete VPN verfolgt.

Die Spuren mit grünem Hintergrund sind die Komponenten des VPN-Servers. Grüne Kästchen stehen für die Anforderungsschritte und blaue und rote Kästchen für die Antwortschritte.

image: https://assets.digitalocean.com/articles/3-openvpn-examples/openvpn-final.png [Ablaufdiagramm der Webanforderung über den VPN-Server]

Der Datenverkehr zwischen Ihrem Computer und dem Datenschutzserver fließt durch einen VPN-Tunnel. Wenn Sie eine Webseite in Ihrem Browser öffnen, wird Ihre Anfrage an den VPN-Server weitergeleitet. Auf dem VPN-Server wird Ihre Anfrage an HAVP und anschließend an Privoxy weitergeleitet.

Privoxy vergleicht die URL mit seiner Musterdatenbank. Wenn die URL übereinstimmt, wird die URL blockiert und eine gültige, aber leere Antwort zurückgegeben.

Wenn die URL nicht blockiert ist, fungiert Privoxy als nicht zwischengespeicherter Proxyserver, um DNS abzufragen und den Inhalt der URL abzurufen. DNS-Abfragen werden von Dnsmasq verarbeitet und zwischengespeichert.

HAVP empfängt den Inhalt von Privoxy und führt einen Virenscan über ClamAV durch. Wenn ein Virus gefunden wird, wird eine Fehlerseite zurückgegeben.

Voraussetzungen

Bitte stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

System Anforderungen

Der zu konfigurierende Server schont die CPU, den RAM und den Festplattenspeicher. Wählen Sie ein Droplet mit mindestens 1 GB RAM aus, das genügend Bandbreite für Ihre Browsing-Anforderungen bietet.

Das Betriebssystem der Wahl für dieses Tutorial ist Debian 8. Es sollte auch mehr oder weniger auf die gleiche Weise für andere Debian-basierte Linux-Distributionen wie Ubuntu funktionieren.

  • Lizenzen *

Die gesamte in diesem Tutorial verwendete Software ist in Debian-Repositories verfügbar und unterliegt den Debian Policies.

Sicherheit

Dieser Server fängt alle Ihre HTTP-Anfragen ab. Jemand, der die Kontrolle über diesen Server übernimmt, kann als Man-in-the-Middle fungieren und den gesamten HTTP-Verkehr überwachen, DNS-Anforderungen umleiten usw. Sie * müssen * Ihren Server sichern. Informationen zum Einrichten von sudo access und einer Firewall als anfängliche Schutzstufe finden Sie in den am Anfang dieses Abschnitts erwähnten Lernprogrammen.

Schritt 1 - Installieren von OpenVPN und anderen Voraussetzungen

Wenn Sie OpenVPN noch nicht installiert haben, tun Sie dies jetzt.

Sie können dem Tutorial https://www.digitalocean.com/community/tutorials/ folgen. .

In den folgenden Schritten installieren wir einige Pakete. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass Ihre Paketindizes auf dem neuesten Stand sind.

sudo apt-get update

Wenn Sie + ssh + in Ihrem UFW-Firewall-Setup noch nicht aktiviert haben, tun Sie dies bitte mit den folgenden Befehlen.

sudo ufw allow ssh
sudo ufw enable

Schritt 2 - Installieren von Dnsmasq

In diesem Schritt installieren und konfigurieren wir Dnsmasq. Unser Datenschutz-Proxy-Server verwendet Dnsmasq, um seine DNS-Abfragen zu beschleunigen und zu sichern.

Jedes Mal, wenn Sie eine Verbindung zu einer Webseite herstellen, versucht Ihr Computer, die Internetadresse dieses Servers aufzulösen, indem Sie einen DNS-Server (Domain Name System) fragen. Ihr Computer verwendet standardmäßig die DNS-Server Ihres Internetdienstanbieters.

Die Verwendung eines eigenen DNS-Servers bietet folgende Vorteile:

  • Ihr ISP kennt die Hostnamen, zu denen Sie eine Verbindung herstellen, nicht

  • Ihr ISP kann Ihre Anfragen nicht an andere Server umleiten, was eine der Hauptmethoden der Zensur darstellt

  • Ihre DNS-Suchgeschwindigkeit wird sich verbessern

Auf einem Debian-System wird die Nameserver-Konfiguration in einer Datei mit dem Namen "+ / etc / resolv.conf +" gespeichert.

Überprüfen Sie Ihre aktuelle Nameserverkonfiguration mit dem folgenden Befehl.

cat /etc/resolv.conf

Ausgabe:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

Wie Sie sehen, sind die Standard-Nameserver auf diesem System auf die DNS-Server von Google eingestellt.

Installieren Sie nun + dnsmasq + mit dem folgenden Befehl:

sudo apt-get install dnsmasq

Nach der Installation des Pakets überprüfen Sie Ihre Konfiguration erneut:

cat /etc/resolv.conf

Ausgabe:

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

Der Standard-Nameserver ist auf * 127.0.0.1 * eingestellt. Dies ist die lokale Schnittstelle, auf der Dnsmasq ausgeführt wird.

Sie können die Installation mit dem folgenden Befehl testen. Beachten Sie die Abfragezeit in der Ausgabe.

dig digitalocean.com @localhost

Ausgabe:

Output. . .

;; Query time:
;; SERVER: 127.0.0.1#53(127.0.0.1)

. . .

Führen Sie nun den gleichen Befehl erneut aus und überprüfen Sie die Abfragezeit:

dig digitalocean.com @localhost

Ausgabe:

Output. . .

;; Query time:
;; SERVER: 127.0.0.1#53(127.0.0.1)

. . .

Unsere zweite Frage wird mit + dnsmasq + aus dem Cache beantwortet. Die Reaktionszeit ging von 20 Millisekunden auf 1 Millisekunde zurück. Abhängig von der Auslastung Ihres Systems werden die zwischengespeicherten Ergebnisse normalerweise in weniger als 1 Millisekunde zurückgegeben.

Schritt 3 - ClamAV installieren

Installieren wir unseren Antivirenscanner, damit unser VPN uns vor bekannten schädlichen Downloads schützt.

Installieren Sie ClamAV

ClamAV ist ein weit verbreiteter Open-Source-Virenscanner.

Installieren Sie ClamAV und seinen Scanner-Daemon:

sudo apt-get install clamav clamav-daemon

Virendatenbank aktualisieren

ClamAV aktualisiert seine Datenbank direkt nach der Installation und sucht stündlich nach Updates.

ClamAV protokolliert seinen Datenbankaktualisierungsstatus in "+ / var / log / clamav / freshclam.log +". Sie können diese Datei überprüfen, um zu sehen, wie die automatischen Aktualisierungen verarbeitet werden.

Jetzt warten wir, bis die automatischen Updates abgeschlossen sind. Andernfalls beschwert sich unser Scan-Proxy (HAVP) und startet nicht.

sudo tail -f /var/log/clamav/freshclam.log

Während des Update-Vorgangs wird der aktuelle Status auf den Bildschirm geschrieben.

OutputFri Jun 19 12:56:03 2015 -> ClamAV update process started at Fri Jun 19 12:56:03 2015
Fri Jun 19 12:56:12 2015 -> Downloading main.cvd [100%]
Fri Jun 19 12:56:21 2015 -> main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo)
Fri Jun 19 12:56:28 2015 -> Downloading daily.cvd [100%]
Fri Jun 19 12:56:34 2015 -> daily.cvd updated (version: 20585, sigs: 1430267, f-level: 63, builder: neo)
Fri Jun 19 12:56:35 2015 -> Downloading bytecode.cvd [100%]
Fri Jun 19 12:56:35 2015 -> bytecode.cvd updated (version: 260, sigs: 47, f-level: 63, builder: shurley)
Fri Jun 19 12:56:41 2015 -> Database updated (3854539 signatures) from db.local.clamav.net (IP: 200.236.31.1)
Fri Jun 19 12:56:55 2015 ->
Fri Jun 19 12:56:55 2015 -> --------------------------------------

Warten Sie, bis der rot markierte Text "++" angezeigt wird.

Drücken Sie auf Ihrer Tastatur die Tastenkombination "+ STRG + C +", um den Schwanz zu verlassen. Dadurch kehren Sie zur Eingabeaufforderung zurück.

Sie können mit dem Abschnitt * Configure ClamAV * fortfahren, wenn alles normal gelaufen ist.

(Optional) Fehlerbehebung

Wenn das Virenupdate zu lange dauert, können Sie es manuell aufrufen. Dies wird unter normalen Umständen nicht benötigt.

Beenden Sie den Autoupdate-Dienst.

sudo service clamav-freshclam stop

Rufen Sie den Updater manuell auf und warten Sie, bis er abgeschlossen ist. Der Download-Fortschritt wird in Prozent angezeigt.

sudo freshclam

Starten Sie den Autoupdate-Dienst:

sudo service clamav-freshclam start

ClamAV konfigurieren

Jetzt werden wir anderen Gruppen erlauben, auf ClamAV zuzugreifen. Dies ist erforderlich, da wir in den folgenden Schritten einen Virenscan-Proxy (HAVP) für die Verwendung von ClamAV konfigurieren.

Bearbeiten Sie die ClamAV-Konfigurationsdatei "+ clamd.conf +" mit Ihrem bevorzugten Texteditor.

sudo vi /etc/clamav/clamd.conf

Setzen Sie den folgenden Parameter auf "+ true +".

/etc/clamav/clamd.conf

AllowSupplementaryGroups

Speichern Sie die Konfiguration und beenden Sie das Programm.

Starten Sie + clamav-daemon + neu

sudo service clamav-daemon restart

Schritt 4 - HAVP installieren

HAVP ist ein Proxy-Server für die Virensuche. Es werden alle Elemente auf den von Ihnen besuchten Seiten gescannt und schädliche Inhalte blockiert. HAVP enthält keine Virenscanner-Engine, kann jedoch einige Engines von Drittanbietern verwenden. In diesem Tutorial konfigurieren wir es mit ClamAV.

Installieren Sie HAVP von Debian-Repositories.

sudo apt-get install havp

Die Installation wird eine Weile dauern, bitte haben Sie etwas Geduld.

Bearbeiten der Konfigurationsdatei

Laden Sie die HAVP-Konfigurationsdatei in Ihren bevorzugten Editor:

sudo vi /etc/havp/havp.config

Wir müssen einige Konfigurationsoptionen festlegen, damit HAVP mit dem ClamAV-Daemon ausgeführt werden kann.

HAVP kann mit den ClamAV-Bibliotheken (standardmäßig) oder dem ClamAV-Daemon arbeiten. Der Library-Modus benötigt viel mehr RAM als der Daemon-Modus (Socket-Scanner). Wenn Ihr Droplet 4 GB oder mehr RAM hat, können Sie "+ ENABLECLAMLIB " auf " true +" setzen und den Bibliotheksmodus verwenden.

Verwenden Sie andernfalls diese Einstellungen, die sich am unteren Rand der Konfigurationsdatei befinden.

/etc/havp/havp.config

ENABLECLAMLIB

. . .

ENABLECLAMD

Die Standardkonfiguration von HAVP beeinträchtigt möglicherweise einige Video-Streaming-Sites. Legen Sie den folgenden Parameter fest, um HTTP-Bereichsanforderungen zuzulassen.

/etc/havp/havp.config

RANGE

Viele Inhalte im Internet bestehen aus Bildern. Obwohl es einige Exploits gibt, die Bilder als Vektoren verwenden, ist es mehr oder weniger sicher, Bilder nicht zu scannen.

Wir empfehlen, "+ SCANIMAGES " auf " false " zu setzen, aber Sie können diese Einstellung als " true +" belassen, wenn HAVP Bilder scannen soll.

/etc/havp/havp.config

SCANIMAGES

Scannen Sie keine Dateien mit Bild-, Video- und Audio-MIME-Typen. Diese Einstellung verbessert die Leistung und ermöglicht das Ansehen von Streaming-Videoinhalten (vorausgesetzt, das VPN insgesamt verfügt über genügend Bandbreite). Kommentieren Sie diese Zeile aus, um sie zu aktivieren.

/etc/havp/havp.config

SKIPMIME image/* video/* audio/*

Es gibt noch einen weiteren Parameter, den wir ändern werden.

Dieser Parameter weist HAVP an, keine erfolgreichen Anforderungen in der Protokolldatei unter + / var / log / havp / access.log + zu protokollieren. Behalten Sie den Standardwert (+ true +) bei, wenn Sie die Zugriffsprotokolle überprüfen möchten, um festzustellen, ob HAVP funktioniert. Setzen Sie diesen Parameter für die Produktion auf "+ false +", um die Leistung und den Datenschutz zu verbessern.

/etc/havp/havp.config

LOG_OKS

Speichern Sie Ihre Änderungen und beenden Sie die Datei.

Benutzer Konfiguration

Erinnern Sie sich, als wir ClamAV so konfiguriert haben, dass andere Gruppen darauf zugreifen können?

Jetzt werden wir den Benutzer * clamav * zur Gruppe * havp * hinzufügen und HAVP den Zugriff auf ClamAV erlauben. Führen Sie den folgenden Befehl aus:

sudo gpasswd -a clamav havp

Ausgabe:

OutputAdding user clamav to group havp

Wir müssen + clamav-daemon + neu starten, damit unsere Änderungen an Gruppen wirksam werden.

sudo service clamav-daemon restart

Nachdem wir HAVP konfiguriert haben, können wir es mit dem folgenden Befehl starten:

sudo service havp restart

Dienstneustartbefehle sollten unbeaufsichtigt ausgeführt werden. Auf der Konsole sollten keine Meldungen angezeigt werden.

Überprüfen der Protokolle

HAVP speichert seine Protokolldateien im Verzeichnis + / var / log / havp +. Fehler- und Initialisierungsnachrichten werden in die Datei "+ error.log +" geschrieben. Sie können den Status von HAVP überprüfen, indem Sie diese Datei überprüfen.

sudo tail /var/log/havp/error.log

Der Befehl + tail + zeigt die letzten Zeilen der Datei an. Wenn HAVP erfolgreich gestartet wurde, sehen Sie so etwas wie die unten gezeigte Ausgabe. Das Datum und die Uhrzeit hängen natürlich von Ihrem System ab:

Output17/06/2015 12:48:13 === Starting HAVP Version: 0.92
17/06/2015 12:48:13 Running as user: havp, group: havp
17/06/2015 12:48:13 --- Initializing Clamd Socket Scanner
17/06/2015 12:48:22 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
17/06/2015 12:48:22 --- All scanners initialized
17/06/2015 12:48:22 Process ID: 3896

Schritt 5 - Testen von HAVP

In diesem Abschnitt stellen wir sicher, dass HAVP tatsächlich Viren blockiert.

Das oben gezeigte Protokoll nennt sich "+ EICAR-Virentest".

Bei der Initialisierung testet HAVP die Virenscanner-Engines mit einer speziell konstruierten Virensignatur. Alle Virenscanner-Programme erkennen Dateien, die diese (harmlose) Signatur enthalten, als Viren. Weitere Informationen zu EICAR finden Sie auf der Seite EICAR Intended Use.

Lassen Sie uns unseren eigenen manuellen Test mit der EICAR-Datei durchführen und feststellen, dass HAVP und ClamAV sie blockieren.

Wir werden das Kommandozeilen-Dienstprogramm + wget + verwenden, um Dateien von der EICAR-Webseite herunterzuladen.

Laden Sie zunächst die EICAR-Testdatei herunter, ohne einen Proxy zu verwenden:

wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

Ihr Server wird die Datei ohne Beanstandung herunterladen:

Outputconverted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8)
--2015-06-16 13:53:41--  http://www.eicar.org/download/eicar.com
Resolving www.eicar.org (www.eicar.org)... 188.40.238.250
Connecting to www.eicar.org (www.eicar.org)|188.40.238.250|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 68 [application/octet-stream]
Saving to: '/tmp/eicar.com'

/tmp/eicar.com       100%[=====================>]      68  --.-KB/s   in 0s

2015-06-16 13:53:41 (13.7 MB/s) - '/tmp/eicar.com' saved [68/68]

Wie Sie sehen, hat "+ wget +" die Testdatei mit der Virensignatur ohne Beanstandungen heruntergeladen.

Versuchen wir nun, dieselbe Datei mit unserem neu konfigurierten Proxy herunterzuladen. Wir setzen die Umgebungsvariable "+ http_proxy +" auf unsere HAVP-Adresse und unseren Port.

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicar.com -O /tmp/eicar.com

Ausgabe:

Outputconverted 'http://www.eicar.org/download/eicar.com' (ISO-8859-1) -> 'http://www.eicar.org/download/eicar.com' (UTF-8)
--2015-06-25 20:47:38--  http://www.eicar.org/download/eicar.com
Connecting to 127.0.0.1:8080... connected.
Proxy request sent, awaiting response... 403 Virus found by HAVP
2015-06-25 20:47:39

Unser Proxy hat den Download erfolgreich abgefangen und den Virus blockiert.

EICAR stellt auch eine Virensignaturdatei bereit, die in einer ZIP-komprimierten Datei versteckt ist.

Mit dem folgenden Befehl können Sie testen, ob HAVP Dateien in ZIP-Archiven durchsucht:

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

Ausgabe:

Outputconverted 'http://www.eicar.org/download/eicarcom2.zip' (ISO-8859-1) -> 'http://www.eicar.org/download/eicarcom2.zip' (UTF-8)
--2015-06-25 20:48:28--  http://www.eicar.org/download/eicarcom2.zip
Connecting to 127.0.0.1:8080... connected.
Proxy request sent, awaiting response... 403 Virus found by HAVP
2015-06-25 20:48:28

HAVP (mit ClamAV) hat den Virus erneut gefunden.

Schritt 6 - Installieren von Privoxy

Bisher haben wir einen Proxyserver konfiguriert, der Webseiten auf Viren überprüft. Was ist mit Anzeigen und Tracking-Cookies? In diesem Schritt installieren und konfigurieren wir Privoxy.

Verwenden Sie den folgenden Befehl, um Privoxy zu installieren:

sudo apt-get install privoxy

Die Konfiguration von Privoxy befindet sich in der Datei "+ / etc / privoxy / config +". Wir müssen zwei Parameter einstellen, bevor wir Privoxy verwenden.

Öffnen Sie die Konfigurationsdatei in Ihrem Lieblingseditor.

sudo vi /etc/privoxy/config

Entfernen Sie nun das Kommentarzeichen und stellen Sie die folgenden zwei Parameter ein:

/ etc / privoxy / config

listen-address

. . .

hostname

Der Parameter "+ Listen-Adresse " bestimmt, auf welcher IP und welchem ​​Port Privoxy ausgeführt wird. Der Standardwert ist ` localhost: 8118 +`; wir werden dies in "+127.0.0.1: 8118 +" ändern.

Der Parameter "+ Hostname +" gibt an, auf welchem ​​Host Privoxy ausgeführt und protokolliert wird. Stellen Sie hier den Hostnamen oder die DNS-Adresse Ihres Servers ein. Es kann ein beliebiger gültiger Hostname sein.

Starten Sie nun Privoxy mit seiner neuen Konfiguration neu.

sudo service privoxy restart

Schritt 7 - Verketten von HAVP mit Privoxy

HAVP und Privoxy sind im Wesentlichen HTTP-Proxy-Server. Wir werden diese beiden Proxys nun verketten, damit Ihr Client, wenn er eine Webseite von HAVP anfordert, diese Anfrage an Privoxy weiterleitet. Privoxy ruft die angeforderte Webseite ab, entfernt die Bedrohungen und Anzeigen für den Datenschutz und anschließend verarbeitet HAVP die Antwort weiter und entfernt Viren und bösartigen Code.

Laden Sie die HAVP-Konfigurationsdatei in Ihren bevorzugten Texteditor:

sudo vi /etc/havp/havp.config

Kommentieren Sie die folgenden Zeilen aus (entfernen Sie das Zeichen "+ # " am Anfang der Zeilen) und stellen Sie ihre Werte wie unten gezeigt ein. Privoxy läuft auf IP ` 127.0.0.1 ` und Port ` 8118 +`.

/etc/havp/havp.config

PARENTPROXY
PARENTPORT

Speichern Sie Ihre Änderungen und beenden Sie die Datei.

Starten Sie HAVP neu, damit die Änderungen wirksam werden:

sudo service havp restart

Überprüfen Sie das HAVP-Fehlerprotokoll und beachten Sie die Meldung "+ Übergeordneten Proxy verwenden: 127.0.0.1: 8118 +".

sudo tail /var/log/havp/error.log

Ausgabe:

Output17/06/2015 12:57:37 === Starting HAVP Version: 0.92
17/06/2015 12:57:37 Running as user: havp, group: havp
17/06/2015 12:57:37
17/06/2015 12:57:37 --- Initializing Clamd Socket Scanner
17/06/2015 12:57:37 Clamd Socket Scanner passed EICAR virus test (Eicar-Test-Signature)
17/06/2015 12:57:37 --- All scanners initialized
17/06/2015 12:57:37 Process ID: 4646

Unsere Proxy-Server-Konfiguration ist nun abgeschlossen. Testen wir es noch einmal mit dem EICAR-Virentest.

http_proxy=127.0.0.1:8080 wget http://www.eicar.org/download/eicarcom2.zip -O /tmp/eicarcom2.zip

Wenn Ihre Konfiguration korrekt ist, sollte erneut die Meldung "+ ERROR 403: Virus gefunden von HAVP +" angezeigt werden.

Schritt 8 - Festlegen der DNS-Optionen für OpenVPN Server

Obwohl die Standardkonfiguration von OpenVPN Server unseren Anforderungen entspricht, ist es möglich, sie noch ein wenig zu verbessern.

Laden Sie die Konfigurationsdatei des OpenVPN-Servers in einen Texteditor:

sudo vi /etc/openvpn/server.conf

OpenVPN ist standardmäßig so konfiguriert, dass OpenDNS-Server verwendet werden. Wenn Sie es ändern möchten, um die DNS-Server von Google zu verwenden, ändern Sie die DNS + -Parameter der DHCP-Option wie folgt.

Fügen Sie die neue Zeile + push" register-dns "+ hinzu, die einige Windows-Clients möglicherweise benötigen, um die DNS-Server zu verwenden.

Fügen Sie außerdem die neue Zeile "+ push" block-ipv6 "+" hinzu, um IPv6 zu blockieren, während eine VPN-Verbindung besteht. (IPv6-Verkehr kann unseren VPN-Server umgehen.)

So sollte dieser Abschnitt aussehen:

/etc/openvpn/server.conf

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "register-dns"
push "block-ipv6"

Wenn Sie mehreren Clients erlauben möchten, eine Verbindung mit derselben ovpn-Datei herzustellen, müssen Sie die folgende Zeile auskommentieren. (Dies ist praktisch, aber NICHT sicherer!)

/etc/openvpn/server.conf

duplicate-cn

Starten Sie den OpenVPN-Dienst neu, damit die Änderungen wirksam werden.

sudo service openvpn restart

Schritt 9 - Konfigurieren Ihres transparenten Proxys

Wir richten unseren Datenschutzserver nun so ein, dass der HTTP-Verkehr zwischen seinen Clients (Ihrem Browser) und dem Internet abgefangen wird.

Aktivieren Sie die Paketweiterleitung

Damit unser Server HTTP-Datenverkehr an den Proxyserver weiterleitet, müssen wir die Paketweiterleitung aktivieren. Sie sollten es bereits im OpenVPN-Setup-Tutorial aktiviert haben.

Testen Sie die Konfiguration mit dem folgenden Befehl.

sudo sysctl -p

Es sollte die geänderten Parameter wie folgt anzeigen. Wenn dies nicht der Fall ist, besuchen Sie das OpenVPN-Tutorial erneut.

Outputnet.ipv4.ip_forward = 1

Konfigurieren Sie UFW

Wir müssen HTTP-Pakete, die von OpenVPN-Clients stammen, an HAVP weiterleiten. Wir werden zu diesem Zweck "+ ufw +" verwenden.

Zuerst müssen wir den Datenverkehr von OpenVPN-Clients zulassen

sudo ufw allow in on tun0 from 10.8.0.0/24

Im OpenVPN-Tutorial sollten Sie die Datei "+ / etc / ufw / before.rules +" geändert und einige Regeln für OpenVPN hinzugefügt haben. Jetzt werden wir dieselbe Datei erneut aufrufen und die Portumleitung für den transparenten Proxy konfigurieren.

sudo vi /etc/ufw/before.rules

Ändern Sie die Zeilen, die Sie in der OpenVPN-Konfiguration hinzugefügt haben, wie unten gezeigt. Fügen Sie die roten Linien hinzu.

/etc/ufw/before.rules

# START OPENVPN RULES
# NAT table rules
*nat

:POSTROUTING ACCEPT [0:0]


# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

Laden Sie Ihre Firewall-Konfiguration neu.

sudo ufw reload

Überprüfen Sie den UFW-Status:

sudo ufw status

Ausgabe:

OutputStatus: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
1194/udp                   ALLOW       Anywhere
Anywhere on tun0           ALLOW       10.8.0.0/24
22                         ALLOW       Anywhere (v6)
1194/udp                   ALLOW       Anywhere (v6)

Aktivieren Sie den transparenten HAVP-Modus

In den vorherigen Schritten haben wir alle HTTP-Pakete gezwungen, HAVP zu durchlaufen. Diese Konfiguration wird als transparenter Proxy bezeichnet.

Wir müssen + HAVP + als solches konfigurieren.

sudo vi /etc/havp/havp.config

Stellen Sie den folgenden Parameter ein:

/etc/havp/havp.config

TRANSPARENT

Starten Sie den HAVP-Dienst neu:

sudo service havp restart

Unser Server ist jetzt einsatzbereit.

Schritt 10 - Testen der Client-Konfiguration

Verbinden Sie auf Ihrem Client (Windows, OS X, Tablet …​) Ihren Client mit Ihrem OpenVPN-Server. Beachten Sie, dass Sie dieselbe "+ .ovpn +" - Datei aus dem ursprünglichen OpenVPN-Tutorial verwenden können. Alle Änderungen sind auf der Serverseite.

Nachdem die VPN-Verbindung hergestellt wurde, sollten Sie Ihre bevorzugten DNS-Einstellungen in den OpenVPN-Client-Protokollen sehen. Das folgende Beispiel stammt aus dem IOS-Client.

DNS Servers
   8.8.8.8
   8.8.4.4
Search Domains:

Wenn Sie Tunnelblick verwenden, wird möglicherweise die folgende Zeile angezeigt:

Changed DNS ServerAddresses setting from '8.8.8.8 208.67.222.222 8.8.4.4' to '8.8.8.8 8.8.4.4'

Rufen Sie zum Testen Ihrer Konfiguration die [EICAR-Testseite] (http://www.eicar.org [www.eicar.org]) in Ihrem Browser auf und versuchen Sie, die EICAR-Testdatei herunterzuladen. Es sollte eine Seite * HAVP - Zugriff verweigert * angezeigt werden.

  • + http: // www.eicar.org / download / eicarcom2.zip +

  • + http: // www.eicar.org / 85-0-Download.html +

Schritt 11 - Fehlerbehebung

Dieser Abschnitt hilft Ihnen bei der Behebung einiger häufig auftretender Probleme.

Ich kann keine Videos ansehen oder meine Lieblingsseite verwenden

Privoxy kann so konfiguriert werden, dass es bei Websites, die zu langsam geladen werden, weniger streng ist. Dieses Verhalten wird in der Konfigurationsdatei + user.action + konfiguriert.

Laden Sie die Benutzeraktionsdatei in Ihren bevorzugten Texteditor.

sudo vi /etc/privoxy/user.action

Gehen Sie zum Ende der Datei und fügen Sie den folgenden Inhalt mit den gewünschten zusätzlichen Site-Adressen hinzu.

/etc/privoxy/user.action

{ fragile -deanimate-gifs }
.googlevideo.com
.youtube.com
.imgur.com

Nach diesen Änderungen müssen Sie Privoxy nicht neu starten. Sie sollten jedoch den Cache Ihres Browsers leeren und einige Male aktualisieren.

Wenn weiterhin Probleme auftreten, fügen Sie der HAVP-Whitelist-Datei Whitelist-Domänen hinzu. HAVP überprüft diese Datei und führt keinen Virenscan durch, wenn der Hostname übereinstimmt.

vi /etc/havp/whitelist

Fügen Sie Ihre Sites am Ende der Datei hinzu.

/ etc / havp / whitelist

# Whitelist Windowsupdate, so RANGE is allowed too
*.microsoft.com/*
*.windowsupdate.com/*

Der Browser reagiert bei starker Internetnutzung nicht mehr

Wenn Sie mehrere Webseiten gleichzeitig öffnen, reicht der Arbeitsspeicher Ihres Servers möglicherweise nicht aus, damit HAVP alle Ihre Anforderungen scannen kann.

Sie können versuchen, den RAM Ihres Droplets zu vergrößern und / oder den Swap-Speicher hinzuzufügen. Weitere Informationen finden Sie unter How To Configure Virtual Memory (Swap File) auf einem VPS Artikel.

Beachten Sie, dass das Hinzufügen eines VPN zu Ihrer Browser-Erfahrung in den meisten Fällen zu einer gewissen Latenz führt.

Fazit

Nachdem Sie dieses Tutorial befolgt haben, haben Sie Ihre VPN-Nutzung auf die nächste Stufe mit Datenschutz und Sicherheit beim Browsen gebracht.