Z dzienników nginx widać, że adres IP robi paskudne rzeczy.
Jak możemy to zablokować za pomocą pf
polecenia, a następnie na stałe za pomocą /etc/pf.log
? Jak możemy zablokować x.x.x.x/24
dla tego adresu IP? Jest to przykład: 1.2.3.4
AKTUALIZACJA: nie, wygląda na to, że OpenBSD nie ma pliku zezwolenia / odmowy w / etc. A AFAIK najlepszą radą do blokowania niewłaściwych adresów IP jest użycie pf.
# cd /etc
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
#
Odpowiedzi:
Najlepszym sposobem na to jest zdefiniowanie tabeli i utworzenie reguły blokującej hosty w
pf.conf
:A następnie dynamicznie dodawaj / usuwaj z niego adresy IP:
Inne polecenia „table” obejmują
flush
(usuń wszystko)replace
ishow
. Zobaczman pfctl
więcej.Jeśli chcesz mieć bardziej trwałą listę, możesz przechowywać ją w jednym (lub więcej) plikach. W
pf.conf
:Możesz także dodać nazwy hostów zamiast adresów IP. Zobacz sekcję „Tabele”
man pf.conf
iman pfctl
.Uwaga : w powyższych przykładach założono, że interfejs internetowy to:
fxp0
Zmień w zależności od konfiguracji. Należy również pamiętać, że regułypf.conf
są oceniane kolejno i dlablock
lubpass
rządzi ostatnią pasującą regułą, która ma zastosowanie. Z tym zestawem regułi po dodaniu 1.2.3.4 i 192.168.0.10 do
badhosts
tabelicały ruch z 1.2.3.4 i 192.168.0.10 zostanie zablokowany, ale drugi host będzie mógł nawiązywać połączenia z portem 80 innych komputerów, ponieważ
pass
reguła jest zgodna i zastępujeblock
regułę.źródło
block in from <badhosts>
. Nie musisz określać interfejsu anito any
części.Z innych odpowiedzi nie wynika jasno, że musisz utworzyć rzeczywistą tabelę złych hostów, które próbujesz zablokować.
Dotyczy to pliku pf.conf, na przykład mam dwa pliki badguys, 1 i 2 badguys1 jest dla tych, którzy przychodzą i odchodzą, a badguys2 jest na stałe na czarnej liście.
Więc jeśli chcesz dodać ip kogoś, kto jest uciążliwy przez pewien czas, dodaj go do badguys1.
Teraz masz to w pliku pf.conf. W moim przykładzie używam en1, ponieważ taki jest mój interfejs WiFi. Ustaw to na jakimkolwiek interfejsie, w którym pojawia się twoja sieć.
Teraz możesz dodawać tymczasowe adresy do badguys1. (NIE złe hosty, to nazwa tabel)
Chociaż mówi, że utworzono 1 tabelę - w rzeczywistości dodaje ip, nie tworząc nowej tabeli. Teraz, jeśli spojrzysz na badguys1, zobaczysz nowy adres IP.
źródło
Otrzymałem te informacje ze strony internetowej i wybaczam mi moją złą wiedzę
OpenBSD
, ale proszę bardzo. Spójrz na ten adres URL . Zgodnie z nim stwierdza blokowanie adresu IP, który:echo '123.123.123.123' >> /etc/pf.blocked.ip.conf
Następnie zrestartujesz zaporę:
Lub, aby dodać bez ponownego uruchamiania typu zapory:
pfctl -t blockedips -T add 111.222.333.444
Teraz, aby sprawdzić, czy został dodany, wpisz:
pfctl -t blockedips -T show
Aktualizacja: Może to pomogłoby.
Otwórz następujący plik w vi:
vi /etc/pf.conf
Dodaj następujący wiersz kodu:
table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet
Po tym punkcie spróbowałbym zrestartować zaporę ogniową i potwierdzić, że adres IP jest zablokowany, wpisując:
źródło
pfctl -f /etc/pf.conf
wystarczy.man pf.conf
, zdziwisz się, jak dobre są strony podręcznika OpenBSD. Ponadtopf.conf
pliki należy odczytywać jako całość (kolejność, w jakiej reguły są wprowadzane, ma kluczowe znaczenie), więc kopiowanie i wklejanie pojedynczych wierszy jest zwykle złym pomysłem. Utwórz plik itable
regułę (to wszystko jest poprawne), ale albo udostępniasz całypf.conf
plik, albo od Ciebie zależy, czy znajdziesz odpowiedniąblock
regułę i jej lokalizację w pliku.ext_if="bge0"
makra i dlaczego nie masz reguły blokowania , skrytykuję twoją odpowiedź, ponieważ jest ona niekompletna (tj. nie jest poprawną odpowiedzią), niezależnie od wysiłku włożonego w to. Dodatkowo mój komentarz dotyczący HOWTO został skierowany do PO, a nie do ciebie (przepraszam, powinienem był to wyjaśnić).