Suchen Sie nach einer Möglichkeit, eine zu erstellen Raspberry Pi Firewall für eine längere Zeit? Wenn Sie es mit OpenWRT und Pfsense nicht durchführen konnten, dann ist dieser Blog definitiv für Sie. Der Raspberry Pi verfügt über einen einzelnen Ethernet-Sockel, weshalb es nicht möglich ist, eine echte Firewall auf dem Raspberry Pi zu erstellen. Man kann jedoch einen Router mit Firewall-Funktionen herstellen. Um diese Aufgabe auszuführen, müssen Sie einige Softwareblöcke auf Pi installieren. Bevor wir uns mit Details befassen, wollen wir einige grundlegende Dinge besprechen!

Was ist eine Router-Firewall?

Um dies zu verstehen, sollten Sie wissen, was ein Router und eine Firewall bedeuten. Ein Router bezieht sich auf ein Netzwerk-Gadget, das zwei Netzwerke miteinander verbindet. Wenn Ihr Computer über zwei oder mehr Ethernet-Ports verfügt und über verschiedene Netzwerke verfügt, kann er sich wie ein Router verhalten. Dann haben Sie zwei Netzwerke, die eine Verbindung zu einem Router teilen, 2.0 und 1.0. Wenn es einen gut konfigurierten Router gibt, können sich X und Y gegenseitig anzeigen, während sie in einem vielfältigen Netzwerk arbeiten.

Raspberry Pi verfügt über eine einzelne Ethernet-Karte. Benutzer können jedoch eine WiFi-Karte verwenden, um ein anderes Netzwerk zu erstellen. Hier erfahren Sie, wie Sie ein WiFi-Netzwerk mit einem Ethernet-Netzwerk verbinden können. Andererseits bezieht sich Firewall auf eine Art Software. Mit dieser Software können Benutzer Sicherheitsrichtlinien in den Router einfügen. Wie im obigen Beispiel angegeben, haben wir erwähnt, dass X Y anpingen kann, aber nicht auf seinen HTTP-Server zugreifen kann. Hier werden wir verwenden “iptables”Software dafür. Sie können je nach Wunsch mit anderer Software für Firewalls arbeiten.

Um einen drahtlosen Zugriff und andere Software zur Überwachung des Netzwerks zu erstellen, müssen Benutzer einige Anweisungen durchgehen. Auf diese Weise können Sie sogar Datenverkehr filtern. Wenn Sie dies tun möchten, folgen Sie weiter.

Hier ist mein aktuelles Netzwerk:

Und ich möchte es so drehen:

  • Installieren Sie die Raspberry Pi Firewall in Ihrem Netzwerk
  • Ermöglichen Sie einen WiFi-Zugangspunkt über ein vielfältiges Netzwerk-Subnetz
  • Bauen Sie eine Brücke zwischen zwei Netzwerken
  • Legen Sie einige Firewall-Regeln und -Bestimmungen fest
  • Installieren Sie andere Software

Hier werden wir diese Schritte nacheinander ausführlich besprechen. Beginnen wir also mit dem ersten Schritt dieses Verfahrens.

Außerdem erfahren Sie mehr darüber Firewall-Grundlagen, und So deaktivieren Sie die Firewall sowie den vollständigen Vergleich von Stateful vs. Stateless Firewal zu.

installieren Raspberry Pi Firewall

Zunächst müssen Sie die Raspberry Pi Firewall in Ihrem Netzwerk installieren. Folgen Sie dazu:

  • Installieren Sie Raspbian
  • Keine Anforderung des Desktop-Modells, außer wenn Benutzer Raspbian für andere Aufgaben verwenden möchten
  • Plugin Raspberry Pi mit einem RJ45-Kabel im Netzwerk.
  • Die Verwendung statischer IP-Adressen ist nicht obligatorisch, kann jedoch hilfreich sein.
  • Aktualisieren Sie danach das System mit: sudo apt aktualisieren, Sudo Apt Upgrade, und Sudo Neustart.
  • Erlauben Sie SSH, indem Sie zu raspi-config, dann zu Interfacing-Optionen und dann navigieren sudo raspi-config.

Das war's und jetzt ist es Zeit, den Router zu installieren. Lassen Sie uns wissen, wie die Router-Installation durchgeführt wird.

Auch hier sind die Mikrotik Firewall Regeln und in den Vorteile der Virtualisierung für Ihre Referenz.

Installieren Sie den WLAN-Router

Es ist durchaus möglich, die Raspberry Pi Firewall manuell als WLAN-Router zu konfigurieren. Es ist jedoch etwas zeitaufwändig und komplex. Um es Ihnen einfacher zu machen, präsentieren wir Ihnen ein Skript dafür.

  • Dieses Skript ist auf GitHub verfügbar. Zunächst müssen Sie git installieren, um dieses Programm herunterladen zu können. Zum Beispiel, sudo apt installieren git
  • Wechseln Sie in einen neuen Ordner, um dieses Programm herunterzuladen.

cd / opt

Git-Klon https://github.com/unixabg/RPI-Wireless-Hotspot/git

  • Wechseln Sie in das Unterverzeichnis CD RPI-Wireless-Hotspot /
  • Beginnen Sie den Installationsvorgang mit sudo./install

Nun stellt das Skript einige Fragen. Sobald Sie sie beantwortet haben, wird Raspberry Pi neu gestartet, um die Änderungen zu übernehmen. Nach Abschluss dieses Vorgangs können Sie die Raspberry Pi Firewall als Router verwenden. In der Netzwerkliste von WiFi sehen Sie die passende SSID. Überprüfen Sie nach dem Herstellen einer Verbindung zum Server, ob alles ordnungsgemäß funktioniert oder nicht. Es gibt also nichts mehr zur Konfiguration des Netzwerks.

PS: Hier ist alles über die SMB Ports Firewall und in den Bedeutung der Firewallsowie alle Arten von Firewallfür Ihre Referenz.

Firewall-Theorie

Die Hauptaufgabe der Firewall besteht im Wesentlichen darin, den Zugriff von bestimmten IP-Adressen auf eine andere zuzulassen oder zu blockieren. Meistens verwenden wir einen Port, um genaue Berechtigungen festzulegen. In Firewall-Konfigurationen gibt es zwei Grundregeln: die Blacklist, die der Regel folgt.Erlaube alles außer ...'und Whitelist, die der Regel folgt'Verweigere alle außer ...'

Wählen Sie also diejenige, die Sie mit dem Router des Raspberry Pi ausführen möchten. Wenn Sie zu Hause sind, ist es am besten, die erste zu verwenden, bei der Sie verschiedene Dinge blockieren können, z. B. bestimmte IP-Adressen. Gehen Sie bei der Arbeit mit dem anderen, wo Sie alles verbieten können, außer was erlaubt ist.

In, Out und Forward

Es ist ein einfacheres Programm, bei dem mehrere Regeln in nur drei Richtungen erstellt werden können. Diese drei Richtungen sind:

  • Eingang: Pakete des Netzwerks, das in Ihre Firewall gelangt
  • Ausgabe: Pakete, die von Ihrer Firewall ausgehen
  • vorwärts: Pakete, die Ihre Firewall durchlaufen

Bei Verwendung eines gehosteten Webservers kann alles in der Eingabe blockiert werden, außer HTTPS und HTTP. Bei der Ausgabe spielt es jedoch keine Rolle, was der Server im Internet tut. Hier werden wir Weiterleitungsregeln verwenden, da die Raspberry Pi Firewall nicht viel enthält. Es macht also keinen Sinn, es zu schützen.

Raspberry Pi Firewall Konfiguration

Benutzer, die möchten, können ihrem Router eine Firewall hinzufügen, um den Datenverkehr zu filtern. Wenn Sie zu Hause arbeiten, ist dies nicht ganz wichtig. Es ist jedoch für einen öffentlichen Bereich oder ein Unternehmen obligatorisch.

IPTabellen

Für Raspbian sind verschiedene Firewall-Pakete vorhanden, z. B. UFW oder IPTables. Es gibt auch OpenWRT, die Raspberry Pi-Distribution zum Erstellen einer Firewall. IPTables ist auf dem Raspberry Pi installiert.

Untersuchen Sie die aktuelle Konfiguration

Vor dem Hinzufügen von Regeln ist es besser, die aktuelle Konfiguration zu überprüfen. Verwenden Sie dazu den Befehl 'sudo iptables - L.. ' Das GitHub-Skript fügt dem Abschnitt Weiterleiten grundlegende Regeln hinzu, um die Weiterleitung zu aktivieren. Mit diesem Befehl können Sie überprüfen, ob die Regeln, die Sie kürzlich hinzugefügt haben, Ihren Einstellungen entsprechen.

Fügen Sie die Weiterleitungsregel ein

Jedes Netzwerk ist unterschiedlich, und daher ist auch jede Regeltabelle der Raspberry Pi Firewall unterschiedlich. Hier ist eine vollständige Syntax zum Hinzufügen bestimmter Regeln in einer Umgebung.

  • Setzen Sie die IPTables-Konfiguration zurück

Fügen Sie dazu hinzu sudo iptables - F.. Die Reihenfolge ist wichtig, wenn der Router alles akzeptiert. Daher können wir bestimmte Verbindungen nicht blockieren.

  • Fügen Sie die DROP-Regel hinzu

Verwenden Sie den Befehl iptables - A FORWARD - p tcp - dport 80 - j DROP. Der Befehl erklärt Folgendes:

(-A) zum Hinzufügen einer neuen Regel

(FORWARD) zur Verwendung im vorderen Teil

(-p tcp) zur Verwendung des TCP-Protokolls

(-dport 80) zur Verwendung des HTTP-Ports

(DROP) zum Löschen von allem, was eine Timeout-Verbindung ist.

Überprüfen Sie nun, ob die Verbindung funktioniert. Stellen Sie dazu eine Verbindung mit dem WLAN-Router her. Zum Entfernen einer Regel müssen Benutzer IPTables -F verwenden. Oder verwenden Sie einen ähnlichen Befehl mit einem -D-Operator anstelle von -A.

Iptables -D FORWARD -p tcp –dport 80 -j DROP

Mit diesem Befehl können Benutzer eine bestimmte Regel und damit nicht alle Regeln entfernen, wie dies bei -F der Fall ist.

Iptables-Befehlssyntax

Zum Erstellen der Raspberry Pi Firewall-Regeln können ähnliche Befehlsvorlagen verwendet werden. Folgen Sie der Vorlage, um diese Aktion auszuführen:

Iptables - <Operation> <Richtung> -p <Protokoll> - -dport <Port> -j <Aktion>

Operationen:

  • -F: Entfernen und löschen Sie alle Regeln, für die keine Parameter erforderlich sind
  • -A: Hinzufügen, neue Regel anhängen
  • -D: Eine aktuelle Regel entfernen, löschen

Richtungen:

FORWARD, OUTPUT oder INPUT

Protokolle:

Hauptsächlich udp oder tcp

Hafen:

Die Anzahl der Ports, an denen Sie die Regel erstellen möchten.

Aktion:

Treffen Sie eine Wahl, um den konformen Verkehr zu machen. ACCEPT ermöglicht den Zugriff im Whitelist-Modus. REJECT verweigert den Zugriff und teilt den Absendern mit, was nicht zulässig ist. DROP verweigert den Zugriff, teilt dies jedoch nicht den Absendern mit.

Wechseln Sie zur Whitelist

Benutzer, die sich in einer strengen Umgebung befinden, wechseln dann in den Whitelist-Modus. Um diese Aktion auszuführen, müssen sie eine Reihe von Ports erstellen. Die einfachste Methode zum Erstellen eines Skripts besteht darin, alle Befehle gleichzeitig auszuführen. Dazu können Sie eine DNS-Weiterleitung auf Raspberry Pi herunterladen. Verwenden Sie als Nächstes dasselbe für die Beantwortung von DNS-Anforderungen.

  • Download Bind (DNS-Serverpaket)

sudo apt install bind9
  • Sichern Sie die Konfiguration

sudo mv /etc/bind/named.conf.options/etc/bind/named.conf.options

Fügen Sie nun die Zeilen wie folgt ein:

Acl "localnetwork" {127.0.0.1/32; 192.168.42.0/24;};
Optionen {Verzeichnis "/ var / cache / bind"; Weiterleitungen {208.67.222.222;};
allow-query {localnetwork;};
dnssec - Validierung automatisch;
auth-nxdomain no;
listen-on-v6 {any;};
};

Dies ist eine typische Konfiguration. Mit OpenDNS können auf Raspberry Pi empfangene DNS-Anfragen gesendet werden.

  • Speichern und schließen (STRG + O, STRG + X)
  • Binden neu starten durch folgenden sudo service bind9 restart
  • DNS-Server bearbeiten im DHCP vorhanden, sudo nano / etc / udhcpd.conf
  • Ändern Sie die Zeile, opt dns 208.67.222.222.208.67.220.220
  • Starten Sie den DHCP-Server neu per sudo service udhcp neu starten

Schließen Sie nun das Gerät wieder an und prüfen Sie, ob alles ordnungsgemäß funktioniert.

Erstellen Sie das Raspberry Pi Firewall-Skript

  • Machen Sie eine Datei mit Nano

Nano / usr / local / bin / firewall.sh
  • Fügen Sie die Zeilen ein als:
# / Bin / sh
# Löschen Sie alle Regeln
Iptables -F
#Whitelist-Modus
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Erlaube PING für alle
iptables -A FORWARD -p icmp -j AKZEPTIEREN
# Erlauben Sie HTTP / HTTPS für WiFi-Clients
iptables -A FORWARD -p tcp –dport 80 -j AKZEPTIEREN
iptables -A FORWARD -p tcp –dport 443 -j AKZEPTIEREN
# Erlaube POP / IMAP / SMTP für WiFi-Clients
iptables -A FORWARD -p tcp –dport 25 -j AKZEPTIEREN
iptables -A FORWARD -p tcp –dport 110 -j AKZEPTIEREN
iptables -A FORWARD -p tcp –dport 993 -j AKZEPTIEREN
# PING für WiFi-Clients zulassen
iptables -A FORWARD -p icmp -j AKZEPTIEREN
Benutzer können diesen Befehl nach ihren Wünschen ändern. Jetzt können Sie das Executive-Recht hinzufügen, indem Sie „sudo chmod + x firewall.sh"Und jetzt führen Sie es durch"sudo /usr/local/bin/firewall.sh. ” Wenn etwas nicht stimmt, können Sie die Raspberry Pi Firewall neu starten, um den gesamten Zugriff wiederherzustellen.

Nehmen Sie eine dauerhafte Konfiguration vor

Das Skript verwendet den Befehl „Datei / etc / iptables.ipv4.nat”Zum Speichern der Konfiguration. Wenn es funktioniert, speichern Sie die aktuelle Konfiguration wie folgt:

sudo iptables - save> /etc/iptables/ipv4.nat

Auf diese Weise wird die Datei hochgeladen und die Änderungen werden direkt übernommen.

Netzwerk-Monitoring

Wenn die Raspberry Pi-Firewall einwandfrei funktioniert, können Sie einige Pakete hinzufügen, um die Raspbian-Funktionen zu verbessern. Um eine Weboberfläche hinzuzufügen, können Sie überwachen, was im Netzwerk geschieht. Hierfür können Sie Webmin verwenden, eine Webschnittstelle. Laden Sie die neueste Version herunter und leiten Sie das Setup weiter. Legen Sie nun einen Passcode fest und wählen Sie aus, ob Sie SSL verwenden möchten.

Websites und Proxy-Filter

Hier installieren wir Squid als Proxy sowie SquidGuard als Filter für die Raspberry Pi Firewall. Folgen Sie zur Installation von Squid “sudo apt install squid"Und sichern Sie die Datei mit"cd / etc / squid sudo mv squid.conf squid.conf.old“. Wechseln Sie jetzt zum Benutzer und entfernen Sie alle Kommentare mit „sudo su

Katze squid.conf.old | egrep -v -e '^ [[: blank:]] * # | ^".

Sie müssen die Zeilen an der Öffnung wie folgt hinzufügen:

acl LocalNet src 192.168.42.0/24
http-Zugriff erlauben LocalNet

Starten Sie jetzt Squid neu, um Änderungen mit „sudo systemct1 Tintenfisch neu starten"

Nach der Konfiguration von Squid gibt es zunächst zwei Möglichkeiten, die Raspberry Pi Firewall als HTTP-Proxy zu verwenden, indem Sie den Webbrowser konfigurieren. Die andere besteht darin, den gesamten HTTP-Verkehr automatisch an Squid umzuleiten.

Installation von SquidGuard

Jetzt ist es Zeit, SquidGuard von „sudo apt installiert squidguard. ” Laden Sie die Website-Liste nach Kategorien herunter und extrahieren Sie die Archivdateien. Beim Extrahieren können Benutzer Blacklist-Kategorien auf dem Bildschirm anzeigen. Wählen Sie eine aus und verwenden Sie dieselbe für die Konfiguration von SquidGuard. Verschieben Sie Dateien in diesen Ordner und archivieren Sie die SquidGuard-Konfiguration. Erstellen Sie als Nächstes eine Konfigurationsdatei und fügen Sie die folgenden Zeilen ein:

Dbhome / var / lib / squidguard / db logdir / var / log / squidguard dest
Gewalt
Domainliste Blacklists / Gewalt / Domains
urllist blacklists / gewalt / urls
log violenceaccess
}
ac1 {
Standard
{
Pass! Gewalt
Leiten Sie http: //localhost/block.html um
}
}
Nehmen Sie gegebenenfalls Änderungen vor und speichern und verlassen Sie sie (STRG + O, STRG + X). Erstellen Sie nun die Datenbank und starten Sie Squid neu, um Änderungen zu übernehmen.sudo service squid neu starten. ” Versuchen Sie nun, über die Liste der Domain auf die URLs zuzugreifen, und prüfen Sie, ob SquidGuard Sie blockiert hat oder nicht.

So erstellen Sie die Raspberry Pi Firewall. Jetzt verfügen Sie über umfassende Kenntnisse zum Aufbau des Firewall-Routers mithilfe eines Proxys auf Raspberry Pi.

Markiert in:
Cocospy Telefon SpionCocoSpy Telefonspion