Ein WLAN ist eine feine Sache. Man benötigt keine Kabel mehr. Smartphones und Tablets bekommen auch Internet. Aber was kann man machen, wenn Fremde Personen das eigene WLAN mitbenutzen. Natürlich kann man regelmäßig die Verschlüsselung ändern. Aber wer macht das schon. Es geht auch einfacher.
Man benötigt nur einen Raspberry PI und etwas Geduld. Bevor man den Raspberry allerdings einsetzt, sollte man DHCP im Router deaktivieren und die Clients auf statisch umstellen. Den unser Raspberry verteilt IP-Adressen, die ins leere laufen. So kann man mit einfachen Mitteln den lieben Nachbarn mitteilen, das fremde WLANs benutzen nicht die feine Art ist.
Folgende Komponenten habe ich hierfür benutzt:
Bauteil | Preis | Wo gekauft |
Raspberry Pi B komplett Paket | 44,44 | eBay |
Raspberry Pi Kühler Cooler Kühlkörper 3 Stk. CPU / GPU, Lan / USB, Wandler | 5,99 | eBay |
TP-Link MR3020 | 27,03 € | Amazon |
Netzwerkkabel 1m | 2,09 € | Amazon |
Speicherkarte 16 GB | 8,99 | Amazon |
Die Preise sind vom 07.04.16. Der Raspberry Pi B ist leider auf eBay nicht mehr in dem Paket erhältlich. Der Honeypot funktioniert aber auch mit dem Modell 2 und 3. Bei diesen Modellen ist jedoch eine Mikro-SD Karte erforderlich.
Einrichtung DNS-Server
Im ersten Schritt richten wir einen DNS-Server ein. Hierfür müssen wir die Pakete bind9
, bind9utils
und dnsutils
. Dies geht über das Terminal mit dem folgenden Befehl:
sudo apt-get install bind9 bind9utils dnsutils
Die Installation können wir einfach testen. Hierzu gebt ihr den folgenden Befehl ein.
dig @127.0.0.1 www.google.de
Wenn die installation fehlerfrei ist, bekommt ihr IP der Internetseite zurück. Das Tool ist in den dnsutils
enthalten. Im Anschluss bearbeiten wir die erste Konfigurationsdatei. Da diese noch nicht existiert wird sie zuerst erstellt. dies geht am einfachten mit touch
.
sudo touch /etc/bind/named.conf.local
Nach dem erstellen der Datei named.conf.local
bearbeiten wir diese. Hierfür benutzen wir das Programm nano
. Es ginge auch mit jedem anderen Editor, für Anfänger ist der nano
jedoch recht einfach zu bedienen.
sudo nano /etc/bind/named.conf.local
In diese Datei fügt ihr die folgenden Zeilen Code ein und speichert diese mit STRG+O und schließt den Editor mit STRG+X
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; // // This file contains the own local DNS server configuration. // This is where you declare the zones associated with this server's domain(s). // Consider adding the 1918 zones here, if they are not used in your organization // include "/etc/bind/zones.rfc1918"; // // ----------------------- Zones ----------------------- // Forward-Lookup zone "." { type master; file "/etc/namedb/db.catchall"; }; // Reverse-Lookup // ----------------------- Zones -----------------------
Hier werden die Forward und Reverse Lookup Zonen hinterlegt. Wir benötigen jedoch nur die Forward Zone. Darum hinterlegen wir in dieser Datei nur den Pfad zu Forward Zone mit dem Namen db.catchall
, die wir gleich bearbeiten. Diese legen wir später unter dem Pfad /etc/namedb/db.catchall
ab. Im Anschluss muss noch die Datei db.catchall
erstellt werden.
sudo touch /etc/namedb/db.catchall
Nach dem erstellen muss diese auch bearbeitet werden
sudo nano /etc/namedb/db.catchall
In die Datei fügt ihr den folgenden Code ein
$TTL 604800 @ IN SOA . root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL IN NS . . IN A 192.168.178.110 *. IN A 192.168.178.110
Mit der folgenden Abfrage prüft ihr, ob der DNS-Server richtig funktioniert.
host www.google.de 127.0.0.1
Das Ergebnis sollte wie folgt aussehen:
Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: www.google.de has address 192.168.178.110
Ihr könnt natürlich auch eine Fakedomain eingeben. Das Ergebnis ist das gleiche
pi@raspberrypi:~ $ host googlsdfsffsde.de 127.0.0.1 Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: googlsdfsffsde.de has address 192.168.178.110
Das war es auch schon mit dem DNS Server. Dieser funktioniert jetzt schon.
Einrichtung DHCP-Server
Im nächsten Schritt richten wir einen DHCP-Server ein. Wenn ihr schon einen DHCP-Server habt, den ihr benutzen wollt, dann machen wir bei der Einrichtung des Apache weiter.
sudo apt-get install isc-dhcp-server
Nach der Installation muss der DHCP-Server noch konfiguriert werden.
Hierfür müssen zwei Dateien angepasst werden. Die erste Datei ist die /etc/default/isc-dhcp-server
. Dort müsst ihr das Interface festlegen, worauf euer DHCP-Server läuft. Bei mir sieht die Datei wie folgt aus
INTERFACES="eth0 wlan0"
Wenn ihr andere Interfacenamen habt, sehen die bei euch anders aus. Ihr könnt auch mehr Interfaces hinterlegen. Wichtig ist das Leerzeichen zwischen den einzelnen Interfaces.
Die zweite Datei die bearbeitet wird ist die dhcpd.conf. Diese liegt unter /etc/dhcp/dhcpd.conf
. Hier werden die folgenden Parameter eingetragen:
Subnetz | 192.168.178.0 |
Netzmaske | 255.255.255.0 |
Interface | eth0 |
IP Range für dne DHCP | 192.168.178.10 – 192.168.178.40 |
DNS-Server | 192.168.178.110 |
# Erstes Subnetz subnet 192.168.178.0 netmask 255.255.255.0 { interface eth0; range 192.168.178.10 192.168.178.40; option domain-name-servers 192.168.178.110; }
Damit ist der DHCP Server konfiguriert. Um diesen jetzt zu starten gebt ihr folgendes ein
/etc/init.d/isc-dhcp-server start
Danach sollte folgende Ausgabe kommen
[ ok ] Starting isc-dhcp-server (via systemctl): isc-dhcp-server.service
Wenn der DHCP-Server nicht startet, könnt ihr mit
/etc/init.d/isc-dhcp-server status
den Status überprüfen. Hier seht ihr auch eventuelle Fehler.
Einrichtung Apache Webserver
Der Apache Webserver ist am schnellsten eingerichtet und konfiguriert. Zuerst müsst ihr diesen installieren. Dies geht mit dem folgenden Befehl:
sudo apt-get install apache2 apache2-doc
Nachdem der Apache Webserver installiert ist, müsst ihr nur noch die index.html
Datei unter dem Pfad /var/www/html
ändern. Unten habt ihr eine Beispielhtmlseite, wie diese aussehen könnte.
<!doctype html> <html class="no-js" lang="de"> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="language" content="de"> <title>Welcome</title> </head> <body> Fremde WLANS benutzen lohnt sich nicht </body> </html>
Das wars auch schon. Viel mehr müsst ihr nicht machen. So werden alle DNS Anfragen auf eine von euch definierte Seite umgeleitet.
Wenn ihr den Accesspoint benutzen wollt, müsst ihr diesen natürlich auch noch einrichten. Wie das geht, steht im Handbuch. Aufgrund der vielen verschiedenen Modelle und Firmwarestände kann ich euch diesen Weg nicht erläutern.