Kita dapat melihat dari log nginx bahwa ada alamat IP yang melakukan hal-hal buruk.
Bagaimana kita bisa memblokirnya dengan pf
perintah dan kemudian secara permanen dengan /etc/pf.log
? Bagaimana kita bisa memblokir x.x.x.x/24
IP untuk itu? Ini adalah contoh: 1.2.3.4
PEMBARUAN: tidak, sepertinya OpenBSD tidak memiliki izinkan / tolak file di / etc. Dan AFAIK saran terbaik untuk memblokir alamat IP yang kasar menggunakan pf.
# cd /etc
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
#
Jawaban:
Cara terbaik untuk melakukan ini adalah dengan mendefinisikan tabel dan membuat aturan untuk memblokir host, di
pf.conf
:Dan kemudian secara dinamis menambahkan / menghapus alamat IP dari itu:
Perintah 'tabel' lainnya termasuk
flush
(hapus semua),replace
danshow
. Lihatman pfctl
lebih lanjut.Jika Anda menginginkan daftar yang lebih permanen, Anda dapat menyimpannya dalam satu (atau lebih) file. Dalam
pf.conf
:Anda juga dapat menambahkan nama host alih-alih alamat IP. Lihat bagian "Tabel" dari
man pf.conf
danman pfctl
.Catatan : Contoh di atas menganggap bahwa antarmuka yang menghadap internet adalah
fxp0
, silakan ubah sesuai pengaturan Anda. Juga, perlu diingat bahwa aturan dipf.conf
dievaluasi secara berurutan dan untukblock
ataupass
aturan itu aturan pencocokan terakhir yang berlaku. Dengan aturan inidan setelah menambahkan 1.2.3.4 dan 192.168.0.10 ke
badhosts
tabelsemua lalu lintas dari 1.2.3.4 dan 192.168.0.10 akan diblokir tetapi tuan rumah kedua akan dapat membuat koneksi ke port 80 mesin lain karena
pass
aturan cocok dan mengesampingkanblock
aturan.sumber
block in from <badhosts>
. Anda tidak perlu menentukan antarmuka atauto any
bagiannya.Tidak jelas dari jawaban lain bahwa Anda perlu membuat tabel sebenarnya dari badhost yang ingin Anda blokir.
Ini berlaku di file pf.conf, misalnya saya memiliki dua file badguys, 1 & 2 badguys1 adalah untuk mereka yang datang dan pergi, dan badguys2 untuk daftar hitam permanen.
Jadi, jika Anda perlu menambahkan ip seseorang yang merupakan gangguan untuk jangka waktu tertentu, tambahkan mereka ke badguys1.
Sekarang, dalam file pf.conf Anda, Anda memilikinya. Dalam contoh saya, saya menggunakan en1, karena itu antarmuka WiFi saya. Tetapkan itu ke antarmuka apa saja yang digunakan jaringan Anda.
Sekarang Anda dapat menambahkan alamat sementara ke badguys1. (BUKAN badhosts, itu nama untuk tabel)
Meskipun dikatakan 1 tabel dibuat - sebenarnya menambahkan ip, bukan membuat tabel baru. Sekarang jika Anda melihat badguys1, Anda akan melihat IP baru.
sumber
Saya mendapat informasi ini dari situs web dan memaafkan saya karena pengetahuan saya yang buruk tentang
OpenBSD
, tetapi ini dia. Lihatlah URL ini . Menurutnya, ini menyatakan untuk memblokir IP yang Anda inginkan:echo '123.123.123.123' >> /etc/pf.blocked.ip.conf
Maka Anda akan me-restart firewall:
Atau, untuk menambah tanpa memulai ulang jenis firewall:
pfctl -t blockedips -T add 111.222.333.444
Sekarang untuk memeriksa apakah sudah ditambahkan ketik:
pfctl -t blockedips -T show
Pembaruan: Mungkin ini akan membantu.
Buka file berikut di vi:
vi /etc/pf.conf
Tambahkan baris kode berikut:
table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet
Setelah itu, saya akan mencoba me-restart firewall dan memastikan bahwa IP diblokir dengan mengetik:
sumber
pfctl -f /etc/pf.conf
cukup.man pf.conf
, Anda akan terkejut melihat betapa baiknya halaman manual OpenBSD. Selain itu,pf.conf
file harus dibaca secara keseluruhan (urutan aturan sangat penting) sehingga menyalin dan menempelkan satu baris biasanya merupakan ide yang buruk. Buat file dantable
aturannya (banyak yang benar) tetapi Anda harus membagikan seluruhpf.conf
file atau terserah Anda untuk mencari tahublock
aturan yang sesuai dan lokasinya di dalam file.ext_if="bge0"
makro dan mengapa Anda tidak memiliki aturan pemblokiran maka saya akan mengkritik jawaban Anda, karena itu tidak lengkap (yaitu bukan jawaban yang tepat), terlepas dari usaha yang Anda lakukan. Ditambah komentar saya tentang HOWTO dialamatkan di OP, bukan Anda (permintaan maaf, saya seharusnya menjelaskannya).