Inhaltsverzeichnis:

Raspberry Pi4-Firewall - Gunook
Raspberry Pi4-Firewall - Gunook

Video: Raspberry Pi4-Firewall - Gunook

Video: Raspberry Pi4-Firewall - Gunook
Video: Firewall For Your Home Or Office - For Free! How To Set Up Ipfire On Raspberry Pi. ipfire vs pfsense 2024, November
Anonim
Raspberry Pi4 Firewall
Raspberry Pi4 Firewall

Mit dem gerade veröffentlichten neuen Raspbery Pi 4 (RPi4) habe ich beschlossen, mir eine Firewall für den Heimgebrauch zu machen. Nach dem Stöbern im Internet habe ich einen tollen Artikel zu diesem Thema von Guillaume Kaddouch gefunden (https://networkfilter.blogspot.com/2012/08/building-your-piwall-gateway-firewall.html). Der Artikel ist erstaunlich, und Sie sollten ihn lesen, bevor Sie fortfahren – er wird den hier beschriebenen Prozess vereinfachen. Der Artikel wurde 2012 geschrieben und basiert auf der ArchLinux-Distribution. Nichts gegen ArchLinux, aber ich wollte dies mit dem gängigeren Raspbian-Build machen. Der RPi4 kann die Verarbeitungsanforderungen bewältigen. Danke, Guillaume, für die Inspiration!! Dieses anweisbare wird auf Guillaume's ("GK" kurz) Originalbeitrag verweisen, Sie werden wahrscheinlich wollen, dass beide Seiten in Ihrem Browser geöffnet sind.

Ein paar wichtige Dinge zu meiner Firewall:

  • Ich habe die eingebaute Ethernet-Buchse (eth0), die zum LAN geht
  • Der ISP-Router befindet sich auf dem TRENDnet-Adapter (eth1)
  • Ich habe den WLAN-Adapter (wlan0) aktiv deaktiviert
  • Dies ist nicht garantiert, dass Sie 100% dorthin gelangen… hoffentlich mindestens 99%:) also bitte Feedback/Kommentare geben
  • Dies ist mein erstes instructable. Entschuldigung für alles, was nicht den entsprechenden instructable-Normen entspricht.

Nun, lass uns etwas Spaß haben…

Lieferungen

  • Raspberry Pi 4

    • Ich habe die 4GB-Version verwendet, probiere gerne eine andere Version aus
    • Fall (Ich mag den FLIRC, aber das ist deine Entscheidung)
    • Netzteil
  • MicroSD-Karte, 32 GB oder größer (ich habe eine 64-GB-Karte verwendet)
  • TRENDnet USB3.0 Gigabit Ethernet Dongle (Modell: TU3-ETG)
  • Ein paar RJ45-Netzwerkkabel
  • USB-Tastatur und -Maus
  • Ein Micro-HDMI-zu-HDMI-Kabel (das an einen HDMI-Monitor angeschlossen ist)

Diese Tastatur, das Video und die Maus können entfernt werden, sobald Sie SSH und VNC zum Laufen bringen können.

Schritt 1: Erstes RPi-Setup

Erstes RPi-Setup
Erstes RPi-Setup

Als erstes müssen Sie Ihr RPi4 als neues System zum Laufen bringen. Laden Sie die Raspbian-Volldistribution herunter und installieren Sie sie (Raspbian Buster mit Desktop und empfohlener Software). Sie müssen ein paar Mal neu starten, damit es sich erweitern und die volle MicroSD-Karte nutzen kann.

Beim Booten müssen Sie Fragen zu Standort, Netzwerk, Tastatur und Maus beantworten. Stellen Sie eine Verbindung zu einem Netzwerk her und lassen Sie es aktualisieren.

Lassen Sie uns auch bestätigen, dass alles ordnungsgemäß aktualisiert wurde, und erhalten Sie ein paar Dienstprogramme, die später beim Debuggen helfen können:

$ sudo apt-get update

$ sudo apt-get dist-upgrade $ sudo apt-get install htop $ sudo apt-get install tcpdump

Ich habe weder vim installiert, noch habe ich Schritt 8 von GK (vim konfigurieren) durchgeführt. Ich habe gerade den vi-Editor verwendet, da er die meisten dieser Funktionen sowieso hat. Das sparte auch etwas Zeit und Mühe.

Sobald dies abgeschlossen ist, stellen wir das RPi4 so ein, dass wir einen Monitor hot-plug-fähig machen können. Mein Ziel war es, es kopflos laufen zu lassen, aber wenn ich einen Monitor anschließen muss, wird er erkannt.

$ sudo vi /boot/config.txt

In dieser Datei:

auskommentieren (das vordere #-Symbol entfernen): hdmi_force_hotplug=1

Kommentar entfernen: hdmi_drive=2

optional füge hinzu: enable_hdmi_sound

Schritt 2: Vernetzung

Vernetzung
Vernetzung
Vernetzung
Vernetzung

Wenn Sie der Website von GK folgen, ist dies Schritt 3. Aber denken Sie daran, dass ich viele seiner ersten Schritte nicht in der genauen Reihenfolge befolgt habe.

Als ich damit angefangen habe, habe ich das RPi direkt an meinen ISP-Router ("neben meinem bestehenden Netzwerk") angeschlossen. Dadurch konnte ich mit der Konfiguration spielen, ohne das Netzwerk zu beeinträchtigen. Verbinden Sie den im RPi4 integrierten RJ45 mit Ihrem Router (oder drahtlos, wenn Sie möchten). Bei Raspbian geht das am einfachsten über die GUI. Klicken Sie auf dem Desktop auf das Raspberry-Symbol > Einstellungen > Raspberry Pi-Konfiguration. Stellen Sie sicher, dass SSH und VNC aktiviert sind. Dadurch wird der Real-VNC-Serverclient installiert. Ich habe festgestellt, dass, wenn Sie versuchen, eine Verbindung mit dem Tight VNC-Client herzustellen, es zu Problemen kommt und eine zusätzliche Konfiguration erforderlich ist. Installieren Sie an dieser Stelle den Real-VNC-Client auf Ihrem primären Desktop/Laptop (nicht auf Ihrem RPi4).

SSH funktioniert nicht out-of-the-box (GKs Schritt 7). Wir müssen einige Konfigurationen ändern. Lassen Sie uns zunächst die ssh-Konfigurationsdatei ändern. Hier sind die Änderungen, die ich vorgenommen habe. Denken Sie daran, dass ich hier nicht die Auswirkungen jeder Änderung untersucht habe. Ich habe getan, was die Website von GK vorgeschlagen hat. Einige dieser Änderungen sind möglicherweise NICHT erforderlich.

$ sudo vi /etc/ssh/sshd_config

Entkommentieren Sie in dieser Datei die folgenden Zeilen:

HostKey /etc/ssh/ssh_host_rsa_keyHostKey /etc/ssh/ssh_host_ecdsa_keySyslogFacility AUTHLogLevel INFOStrictModes yesPubkeyAuthentication yesHostBasedAuthentication no

Rhosts ignorieren ja

PrintMotd neinPrintLastLog jaTCPKeepAlive ja

Und füge die folgenden Zeilen hinzu:

Protokoll 2UsePrivilegeSeparation yesKeyRegenerationInterval 3600ServerKeyBits 768RSAAuthentcation yesRhostsRSAAuthentication no

Und ändern Sie die folgenden Zeilen:

Port 15507LoginGraceTime 60PermitRootLogin no

Lassen Sie uns schnell über die erste Änderung sprechen … Port 15507. SSH läuft normalerweise auf Port 22. GK hat es auf 15507 verschoben - weiß nicht warum. Sie können es ändern oder nicht … Wenn Sie es ändern möchten, müssen Sie jedem SSH-Befehl, mit dem Sie versuchen, eine Verbindung herzustellen, "-p 15507" hinzufügen. Wenn Sie sich entscheiden, es zu überspringen, achten Sie auf die anderen Stellen, die in dieser Anleitung erwähnt werden, und ignorieren Sie sie, insbesondere die Firewall-Regeln!

Als letztes erhalten wir für diesen Schritt die IP-Adresse des RPi4, damit wir wissen, womit wir uns verbinden müssen:

$ ipconfig -a

Suchen Sie die aktive Netzwerkverbindung (wahrscheinlich auf eth0 oder wlan0) und notieren Sie sich diese IP-Adresse. Jetzt haben Sie alles, was Sie brauchen, um eine Remote-Verbindung zum RPi4 herzustellen. Lassen Sie uns neu starten, bevor wir fortfahren:

$ sudo Neustart

Schritt 3: Ein anderer Benutzer

Ein anderer Benutzer
Ein anderer Benutzer

Es ist am besten, nicht den standardmäßigen RPi-Benutzernamen (pi) zu verwenden, und Sie sollten auf jeden Fall das Passwort ändern. Um sicher zu gehen, fügen wir ein weiteres Benutzerkonto hinzu, mit dem Sie eine Remoteverbindung herstellen und fortfahren können (GKs Schritt 6). Zurück auf dem RPi, fügen wir einen neuen Benutzer hinzu und legen Sie die Berechtigungen für den Benutzer für SSH fest und geben Sie den sudo-Befehl aus:

$ sudo useradd -m -g users -G sudo, netdev -s /bin/bash [BENUTZERNAME]

$ sudo passwd [BENUTZERNAME]

Sie können sich gerne abmelden oder neu starten und das neu erstellte Konto in Zukunft verwenden.

Schritt 4: Syctl-Datei

Syctl-Datei
Syctl-Datei

Der nächste Schritt besteht darin, die Datei /etc/sysctl.conf zu ändern (GKs Schritt 9). Diese Datei wird verwendet, um einige Kernel-Einstellungen zu ändern. Wir werden genau das tun, was GK sagt. Hier ist eine vereinfachte Reihe von Schritten.

$ sudo vi /etc/sysctl.conf

Entkommentieren Sie in dieser Datei die folgenden Zeilen:

net.ipv4.conf.default.rp_filter=1net.ipv4.conf.all.rp_filter=1net.ipv4.tcp_syncookies=1

net.ipv4.ip_forward = 1

net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.all.log_martians = 1

Und füge die folgenden Zeilen hinzu:

net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.icmp_ignore_bogus_error_responses = 1net.ipv4.conf.eth0.accept_redirects = 0vm.min_free_kbytes = 8192

Starten Sie den Dienst mit diesen neuen Einstellungen neu und starten Sie ihn neu:

$ sudo sysctl -p

$ sudo Neustart

Schritt 5: DHCP & DNS (Teil 1)

DHCP & DNS (Teil 1)
DHCP & DNS (Teil 1)

Für mich gab es zwei schmerzhafte Teile dieses Prozesses… Einrichten von DHCP & DNS und Einrichten der Firewall-Regeln. Also los geht's mit dem ersten Teil. Wenn Sie der Website von GK folgen, sind wir bei Schritt 10.

Dazu benötigen Sie einige Informationen von Ihrem ISP-Router (oder Ihrer aktuellen Firewall):

  • Die interne IP-Adresse des Routers
  • Eine IP-Adresse, die Sie für die Schnittstelle des RPi4 zum Router verwenden können
  • Die IPs für einen Nameserver (oder zwei)
  • Der Schnittstellenname für die LAN-Verbindung (z. B. eth0 oder eth1)
  • Der Schnittstellenname für die ISP-Verbindung (z. B. was Sie nicht für das LAN verwendet haben)

Möglicherweise müssen Sie auch die Einstellungen des Routers ändern, um dem RPi4 eine statische IP-Adresse zu geben (Punkt 2 oben). Zumindest habe ich das getan.

Lassen Sie uns zunächst die Datei dhcpcd.conf ändern…

$ sudo vi /etc/dhcpcd.conf

Entkommentieren Sie diese Zeilen:

persistentoption rapid_commitoption domain_name_servers, domain_name, domain_search, host_nameoption interface_mtu

Für jede Netzwerkschnittstelle müssen Sie die Netzwerkdetails festlegen. Sie sollten ungefähr so aussehen:

# Statisch für die Schnittstelle zum ISP

interface eth1 static ip_address=192.168.1.static routers=192.168.1.254 static domain_name_servers=8.8.8.8 8.8.4.4 metric 100 # Statisch für die Schnittstelle zum LAN Interface eth0 static ip_address=10.210.212.static routers=10.210.212.1 static domain_name_servers=8.8.8.8 8.8.4.4 #interface wlan0 #static ip_address=10.210.212.#static routers=10.210.212.1 #static domain_name_servers=8.8.8.8 #Entkommentieren Sie diesen Abschnitt, wenn Sie eine IP-Adresse für ein Gerät erzwingen möchten. Der Name nach 'host' #ist für das System bedeutungslos. Geben Sie die MAC-Adresse des Geräts sowie die gewünschte #IP-Adresse ein. Stellen Sie sicher, dass es sich außerhalb des DHCP-Bereichs befindet. Wiederholen Sie dies nach Bedarf. #host [ALLES] { # Hardware-Ethernet xx:xx:xx:xx:xx:xx; # feste Adresse 10.210.212.250; #}

Achten Sie darauf, Nummern zu verwenden, die für Sie funktionieren. Die oben genannten IPs sind für mein Netzwerk, mit Ausnahme der Nameserver, die Google sind. Beachten Sie, dass ich auch die Metrik für den ISP auf 100 gesetzt habe, um zu erzwingen, dass dies der standardmäßige erste Versuch für den Netzwerkverkehr ist. Ich habe auch speziell nichts an meinem WLAN-Adapter (wlan0) gemacht. Ich beabsichtige, diese Schnittstelle vollständig zu deaktivieren, daher war es für mich sinnvoll.

Wenn Sie einem Gerät (wie einem NAS) eine IP-Adresse erzwingen möchten, verwenden Sie diesen unteren Abschnitt. Geben Sie dem Host einen Namen, der für Sie aussagekräftig ist, aber wissen Sie, dass er nie von irgendetwas verwendet wird. Vergiss die Semikolons nicht.

Schritt 6: DHCP & DNS (Teil 2)

DHCP & DNS (Teil 2)
DHCP & DNS (Teil 2)

Der nächste Schritt besteht darin, die Datei dnsmasq.conf zu ändern…

$ sudo vi /etc/dnsmasq.conf

Wir müssen einige Zeilen auskommentieren und einige Zeilen bearbeiten. Außerdem müssen Sie einige Einstellungen aus der Datei dhcpcd.conf kopieren. Zwei weitere Fragen, die Sie selbst beantworten müssen, sind:

Benötigt das interne LAN (z. B. eth0) DHCP und DNS? Welchen DHCP-Bereich möchten Sie für Ihr LAN und wie lang sollte jede Lease sein?

Beginnen Sie, indem Sie einige Zeilen auskommentieren:

bogus-privno-dhcp-interface=wlan0bind-interfacesdhcp-name-match=set:wpad-ignore, wpaddhcp-ignore-names=tag:wpad-ignore

Stellen Sie Ihren Nameserver ein. Suchen Sie nach der Zeile, die mit 'server=' beginnt, und machen Sie daraus etwa 'server=8.8.8.8'.

Stellen Sie Ihren DHCP-Bereich ein. Es gibt viele Möglichkeiten, dies zu tun. Ich habe mich dafür entschieden, die beiden Endpunkt-IPs, die Maske und die Länge der Lease anzugeben. Mein Bereich war 10.210.212.20-10.210.212.240, mit einer Netzmaske von 255.255.255.0 und einer Lease-Zeit von 12 Stunden. Ich empfehle Ihnen, einige IPs oben und unten in Ihrem Bereich zu belassen, falls Sie jemals einer statischen IP zuweisen müssen.

Stellen Sie die Schnittstelle ein, die DNS und DHCP (das LAN) erhält, indem Sie die Zeile 'interface=' in etwas wie 'interface=eth0) ändern. Beachten Sie, dass ich ihm ausdrücklich gesagt habe, meinem drahtlosen Netzwerk KEINE DHCP-IP-Adresse zuzuweisen. Auch hier beabsichtige ich, diese Schnittstelle vollständig zu deaktivieren, daher war es für mich sinnvoll.

Schritt 7: DHCP & DNS (Teil 3)

DHCP & DNS (Teil 3)
DHCP & DNS (Teil 3)

Eine Ablenkung von den Anweisungen von GK für diesen letzten Schritt…

Als ich zu diesem Zeitpunkt mein RPi neu starten wollte, war der dnsmasq-Prozess nicht aktiv. Ein wenig herumstöbern und ich stellte fest, dass meine Netzwerkschnittstellen eth0 und eth1 nicht beide aktiv waren, bevor dnsmasq gestartet wurde, sodass dnsmasq beim Start fehlschlagen würde. Ich müsste eine Tastatur und Maus an das RPi anschließen und dnsmasq manuell neu starten. Dies ist bei einem Headless-Setup nicht ideal. Ich habe eine Reihe von Beiträgen gelesen, in denen es hieß, verschiedene Änderungen an den Einstellungen vorzunehmen (z. B. die Bindungsschnittstelle deaktivieren) und andere Dinge. Nichts davon hat funktioniert. Am Ende habe ich beschlossen, einfach ein Shell-Skript zu schreiben, das alle 2 Minuten ausgeführt wird und den Status von dnsmasq überprüft. Wenn es nicht ausgeführt wurde, starten Sie es. Ich gehe davon aus, dass diese Situation nicht einzigartig für mich ist. Also, hier ist, was Sie tun müssen:

Machen Sie den folgenden Code in eine Datei namens 'dns_masq_keepalive.sh' auf Ihrem RPi.

#!/bin/bash

# Datei: dns_masq_keepalive.sh # August 2019 # Verwenden Sie dies mit crontab -e (*/2 * * * * /etc/dns_masq_keepalive.sh), um sicherzustellen, dass dnsmasq läuft. Der Dienst stoppt sich selbst, wenn # nicht alle in dhcpcd.conf erwähnten Schnittstellen gestartet sind, bevor er gestartet wird. Dies behebt das Problem. # Diese nächste Zeile gibt alle aktiven Jobs mit dem Wort 'dnsmasq' zurück. Fügen Sie also nicht 'dnsmasq' in den Namen dieser # Datei ein, sonst wird sie jedes Mal zurückgegeben und Sie haben keinen Neustart. dns_running=$(ps -e | grep dnsmasq) echo $dns_running if [-z "$dns_running"] then #echo No DNSMasq sudo /etc/init.d/dnsmasq restart #else #echo DNSMasq Running fi

Schneiden Sie es aus und fügen Sie es ein, wenn Sie es benötigen. Was auch immer Sie tun, schließen Sie 'dnsmasq' nicht in den Namen ein. Das Skript sucht nach dem Wort 'dnsmasq' und wenn das Skript es im Namen enthält, wird davon ausgegangen, dass der Dienst ausgeführt wird. Benennen Sie die Datei auch um, sodass sie mit '.sh' endet. Intructables ließ mich keine '.sh'-Datei hochladen - was gut ist. Die restlichen Anweisungen gehen davon aus, dass die Datei unter /etc/dns_masq_keepalive.sh existiert.

Legen Sie zweitens die Berechtigungen für die Datei fest, damit sie ausgeführt werden kann:

$ sudo chmod u+x /etc/dns_masq_keepalive.sh

Jetzt verwenden wir das crontab-System, um das Programm jeden Tag alle 2 Minuten auszuführen. Crontab starten:

$ sudo crontab -e

Es sollte Sie auffordern, mit vi oder etwas anderem zu bearbeiten. Jeder wird funktionieren. Sobald Sie es bearbeiten können, fügen Sie am Ende der Datei Folgendes hinzu:

*/2 * * * * sudo /etc/dns_masq_keepalive.sh

Keine Leerzeichen im '*/2', aber Leerzeichen zwischen den Sternchen. Speichern und Beenden. Es sollte Ihnen sagen, dass der Job geplant ist oder so ähnlich.

Schritt 8: Die Firewall

Die Firewall
Die Firewall

Der nächste schmerzhafte Prozess ist die Firewall (GKs Schritt 11). Raspbian verwendet das bekannte iptables-System. Der Blog von GK bietet drei Dateien, die Ihnen dabei helfen, dorthin zu gelangen: Firewall.simple, Firewall.advanced und Firewall.flows. Alles Respekt vor GK, aber machen Sie es sich einfach und gehen Sie einfach mit Firewall.simple. Ich habe viel Zeit damit verbracht, das iptables-System und die Regeln herauszufinden. Ich bin froh, dass ich es getan habe, aber es war schmerzhaft. Also gebe ich Ihnen die angehängten zwei Dateien, um Ihnen zu helfen … Firewall.simple und Firewall.clear. Kopieren Sie diese beiden Dateien in Ihren /etc-Ordner und ändern Sie die Berechtigungen, um sie ausführbar zu machen:

$ sudo chmod u+x /etc/firewall.simple

$ sudo chmod u+x /etc/firewall.clear

Bevor Sie Firewall-Regeln einrichten, schließen Sie einen Desktop/Laptop an Ihren RPi-eth0-Port an und bestätigen Sie, dass er eine IP-Adresse erhält und DNS ausgeführt wird. Der einfachste Weg, dies zu tun, besteht darin, zu versuchen, eine generische Site und dann eine bekannte IP-Adresse zu pingen. Pingen Sie auch Ihren RPi- und ISP-Router. Wenn Sie Ergebnisse erhalten, ist alles in Ordnung und alle Netzwerkprobleme, auf die Sie jetzt stoßen, werden wahrscheinlich auf Firewall-Probleme zurückzuführen sein.

Die erste bereitgestellte Datei begann ursprünglich als GK-Datei "firewall.simple" (nochmals vielen Dank, GK!). Ich habe eine Reihe von Änderungen vorgenommen, damit es für dieses System funktioniert. Es sollte mindestens HTTP, HTTPS, DNS, DHCP, Ping, internes SSH, internes VNC und Plex ermöglichen. Plex hat möglicherweise nicht alle offenen Ports für jedes mögliche Gerät, aber es gibt eine Reihe von Beiträgen, um das zu beheben. Oben in der Datei befinden sich Werte, die Sie für Ihre Netzwerkkonfiguration ändern müssen.

Die zweite Datei, firewall.clear, ist zum Testen Ihrer Firewall-Regeln gedacht. Wenn Sie 'sudo /etc/firewall.clear' ausführen, werden alle Firewall-Regeln gelöscht und das System sollte vollständig mit dem Internet verbunden sein. Wenn Sie also nicht in der Lage sind, einen Netzwerkdienst (wie DNS) mit den Firewall.simple-Regeln zum Laufen zu bringen, aber er beginnt zu funktionieren, nachdem Sie Firewall.clear ausgeführt haben, wissen Sie, dass ein Regelproblem vorliegt. Dies wird wirklich nur beim Testen Ihrer Regeln entscheidend sein.

Wir haben also die Firewall-Regeln dort, wir müssen sie starten, wenn das RPi startet. Dazu bearbeiten wir die Datei /etc/rc.local:

$ sudo vi /etc/rc.local

Sobald Sie drin sind, fügen Sie am Ende der Datei Folgendes hinzu:

echo „IPtables-Regeln laden“/etc/firewall.simple >> /dev/null

Wenn Sie das Snort Intrusion Detection System hinzufügen möchten, müssen Sie diese Datei erneut bearbeiten. Vorerst einfach speichern und neu starten.

$ sudo Neustart

Schritt 9: Syslog

Syslog
Syslog

Noch zwei Schritte…

Dies ist ein einfaches. Wenn Sie immer noch dort sind und GKs Blog folgen, ist dies Schritt 12. Sie müssen genau das tun, was er in Bezug auf die Syslog-Datei sagt. Hier sind die abgekürzten Schritte:

Bewahren Sie Syslog-Daten im Wert von 2 Monaten auf…

$ sudo vi /etc/logrotate.conf

Wir müssen ihm sagen, dass es „eine Woche“als Maß verwenden soll und dann 12 davon behalten. Sie benötigen die folgenden zwei Zeilen in dieser Datei. Ich glaube, Sie müssen die vorhandenen Zeilen ändern.

wöchentlich 12 drehen

Speichern Sie es.

Schritt 10: Intrusion Detection mit Snort

Intrusion Detection mit Snort
Intrusion Detection mit Snort

Das letzte, was GK konfiguriert, ist das Snort-System. Ich empfehle dies auch. Sie können seinen Regeln folgen, und ich werde sie hier nicht alle kopieren, mit ein paar kleinen Änderungen. Seine Anweisungen gelten für die ArchLinux-Distribution. Hier sind die wenigen Änderungen für die Raspbian-Distribution, die wir hier verwenden. Der Rest der Anleitung funktioniert einwandfrei.

Verwenden Sie zunächst nicht sudo pacman -S snort, um snort herunterzuladen und zu installieren. Mach Folgendes:

$ sudo apt-get install snort

Zweitens können Sie snort nicht mit sudo snort -version überprüfen. Überprüfen Sie die Installation mit:

$ sudo schnauben -V

Schließlich, damit es beim Start ausgeführt wird, ändern Sie die Datei rc.conf nicht, bearbeiten Sie die Datei rc.local (erneut) …

$ sudo vi /etc/rc.local

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

echo „Schnauben wird geladen“

#/usr/sbin/snort -D -u snort -g snort -c /etc/snort/snort.conf -i eth0 -l /var/log/snort

Jetzt neu starten und alles sollte auf magische Weise funktionieren.

$ sudo Neustart

Schritt 11: Genießen Sie

Genießen
Genießen

Das sollte es sein!

Zunächst einmal kann ich Guillaume Kaddouch nicht genug danken! Dies hat er inspiriert.

Zweitens, wenn Sie Ihre Tastatur, Ihr Video und Ihre Maus noch nicht getrennt haben, können Sie dies tun. Verwenden Sie SSH und VNC, um bei Bedarf wieder einzusteigen.

Zum Schluss ist dies möglicherweise nicht 100% perfekt. Bitte mit Änderungen/Vorschlägen/Empfehlungen zurückschreiben. Mein Ziel wäre es, dass dies der Beginn einer Diskussion ist und viele Leute Spaß daran haben!

Vielen Dank!!

PS… Das Bild ist ein RPi4 in einem FLIRC-Aluminiumgehäuse mit einem alten Intel-Lüfter, der leicht modifiziert und an der Oberseite mit einem Reißverschluss befestigt ist. Unter dem Lüfter befindet sich auch Wärmeleitpaste, falls Sie sich fragen. Ich habe etwas Ähnliches im Internet gefunden (https://www.reddit.com/r/raspberry_pi/comments/9bdgrr/it_turns_out_putting_a_heatsink_on_the_flirc_case/) und beschlossen, es selbst auszuprobieren.

Schritt 12: Änderungsprotokoll

Da Änderungen an diesem instructable vorgenommen werden, werde ich sie hier dokumentieren. Falls Sie ein Problem haben, überprüfen Sie hier, ob Sie alte Anweisungen oder Dateien übernommen haben.

25.09.2019:

  • Feste DHCP-Regeln in Firewall.simple
  • DHCP-Bereich in Anleitung korrigiert (Dateien waren korrekt)
  • Feste IP-Zuweisungen zu DHCP-Anweisungen hinzugefügt

13. Oktober 2019

  • Mehrere Tippfehler behoben
  • Habe einen zweiten Pi erstellt, damit ich bei Bedarf eine Test-SD-Karte austauschen kann

Empfohlen: