Aus den Nginx-Protokollen können wir ersehen, dass es eine IP-Adresse gibt, die böse Dinge tut.
Wie können wir es mit einem pf
Befehl und später dauerhaft mit dem blockieren /etc/pf.log
? Wie können wir eine x.x.x.x/24
für diese IP sperren ? Es ist Beispiel: 1.2.3.4
UPDATE: nein, es sieht so aus, als ob OpenBSD keine Datei in / etc erlaubt / verweigert. Und AFAIKs beste Ratschläge zum Sperren missbräuchlicher IP-Adressen sind die Verwendung von pf.
# cd /etc
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
#
Antworten:
Der beste Weg , dies zu tun ist , um eine Tabelle zu definieren und eine Regel zu erstellen , die Hosts zu blockieren, in
pf.conf
:Und dann dynamisch IP-Adressen hinzufügen / löschen:
Andere 'table'-Befehle umfassen
flush
(alle entfernen)replace
undshow
. Sehen Sieman pfctl
für mehr.Wenn Sie eine dauerhaftere Liste wünschen, können Sie diese in einer (oder mehreren) Dateien aufbewahren. In
pf.conf
:Sie können auch Hostnamen anstelle von IP-Adressen hinzufügen. Siehe den Abschnitt "Tabellen" von
man pf.conf
undman pfctl
.Hinweis : In den obigen Beispielen wird davon ausgegangen, dass die mit dem Internet verbundene Benutzeroberfläche
fxp0
entsprechend Ihren Einstellungen geändert wird. Beachten Sie auch, dass die Regeln in derpf.conf
Reihenfolge ausgewertet werden und fürblock
oderpass
Regeln die letzte zutreffende Übereinstimmungsregel ist. Mit diesem Regelsatzund nach dem Hinzufügen von 1.2.3.4 und 192.168.0.10 zur
badhosts
TabelleDer gesamte Datenverkehr von 1.2.3.4 und 192.168.0.10 wird blockiert, aber der zweite Host kann Verbindungen zum Port 80 anderer Computer herstellen, da die
pass
Regel mit der Regel übereinstimmt und diese überschreibtblock
.quelle
block in from <badhosts>
. Sie müssen weder die Schnittstelle noch dasto any
Teil angeben .Aus anderen Antworten geht nicht hervor, dass Sie eine tatsächliche Tabelle der Badhosts erstellen müssen, die Sie blockieren möchten.
Dies geht in der pf.conf-Datei, zum Beispiel habe ich zwei badguys-Dateien, 1 & 2 badguys1 ist für diejenigen, die kommen und gehen, und badguys2 ist für die permanente Blacklisting.
Wenn Sie also eine IP von jemandem hinzufügen müssen, der für einen bestimmten Zeitraum ein Ärgernis darstellt, fügen Sie sie badguys1 hinzu.
Nun haben Sie dies in Ihrer pf.conf-Datei. In meinem Beispiel verwende ich en1, weil das meine WiFi-Schnittstelle ist. Stellen Sie dies auf die Schnittstelle ein, an der Ihr Netzwerk angeschlossen ist.
Jetzt können Sie badguys1 temporäre Adressen hinzufügen. (NICHT badhosts, das ist ein Name für die Tabellen)
Obwohl 1 Tabelle erstellt heißt, wird die IP tatsächlich hinzugefügt und keine neue Tabelle erstellt. Wenn Sie jetzt in badguys1 suchen, sehen Sie die neue IP.
quelle
Ich habe diese Informationen von der Website erhalten und vergebe mir mein schlechtes Wissen darüber
OpenBSD
, aber jetzt geht es los. Schauen Sie sich diese URL an . Demnach heißt es, eine IP zu blockieren, die Sie würden:echo '123.123.123.123' >> /etc/pf.blocked.ip.conf
Dann würden Sie die Firewall neu starten:
Oder fügen Sie Folgendes hinzu, ohne den Firewall-Typ neu zu starten:
pfctl -t blockedips -T add 111.222.333.444
Um nun zu überprüfen, ob es hinzugefügt wurde, geben Sie Folgendes ein:
pfctl -t blockedips -T show
Update: Vielleicht würde das helfen.
Öffnen Sie die folgende Datei in vi:
vi /etc/pf.conf
Fügen Sie die folgende Codezeile hinzu:
table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet
Danach würde ich versuchen, die Firewall neu zu starten und zu bestätigen, dass die IP-Adresse blockiert ist, indem ich Folgendes eingebe:
quelle
pfctl -f /etc/pf.conf
reicht.man pf.conf
Sie, Sie werden überrascht sein, wie gut OpenBSD-Manpages sind. Außerdem müssen diepf.conf
Dateien als Ganzes gelesen werden (die Reihenfolge, in der die Regeln festgelegt werden, ist entscheidend). Daher ist das Kopieren und Einfügen einzelner Zeilen in der Regel eine schlechte Idee. Erstellen Sie die Datei und dietable
Regel (so viel ist korrekt), aber entweder geben Sie Ihre gesamtepf.conf
Datei frei, oder Sie müssen die entsprechendeblock
Regel und ihren Speicherort in der Datei ermitteln.ext_if="bge0"
und keine Blockierungsregel haben, werde ich Ihre Antwort kritisieren, da sie unvollständig ist (dh keine richtige Antwort ist), ungeachtet des von Ihnen unternommenen Aufwands. Außerdem wurde mein Kommentar zu den HOWTOs im OP angesprochen, nicht Sie (Entschuldigung, das hätte ich klarstellen sollen).