iptablesSecara default memiliki aturan filter dalam mode "Terima semua", yaitu memungkinkan masuk dan keluar semua koneksi dari atau ke PC kita, tetapi bagaimana jika kita ingin mencatat semua informasi tentang koneksi yang dibuat ke server atau PC kita?
Catatan: Prosedur yang akan saya jalankan sekarang valid 100% dalam distribusi Debian/Berbasis Debian, jadi jika Anda menggunakan Slackware, Fedora, CentOS, BukaSuSe, prosedurnya mungkin tidak sama, kami merekomendasikan membaca dan memahami sistem login distribusi Anda sebelum menerapkan apa yang dijelaskan di bawah ini. Ada juga kemungkinan untuk menginstal rsyslog di distribusi Anda, jika tersedia di repositori, meskipun dalam tutorial ini, syslog juga dijelaskan di bagian akhir.
Sejauh ini semuanya baik-baik saja, tapi apaDi mana kita akan login? Mudah, di file «/var/log/firewall/iptables.log", apa tidak ada, sampai kita sendiri percaya ...
1- Kita harus membuat file «iptables.log»Di dalam folder«/ var / log / firewall»Bahwa kita harus membuatnya, karena itu juga tidak ada.
mkdir -p / var / log / firewall /
sentuh /var/log/firewall/iptables.log
2- Izin, sangat penting ...
chmod 600 /var/log/firewall/iptables.log
root chown: adm /var/log/firewall/iptables.log
3- rsyslog, daemon login Debian, membaca konfigurasi dari «/etc/rsyslog.d«, Jadi kita harus membuat file yang akan saya sebut«firewall.conf»Dari mana rsyslog dapat menafsirkan apa yang ingin kita lakukan.
sentuh /etc/rsyslog.d/firewall.conf
Dan di dalam kita meninggalkan dia jatuh lembut konten berikut:
: msg, berisi, "iptables:" - / var / log / firewall / iptables.log
& ~
Saya tidak tahu sama sekali,apa yang dilakukan beberapa baris ini?
Baris pertama memeriksa data yang dicatat untuk string «tabel ip: »Dan menambahkannya ke file«/var/log/firewall/iptables.log«
Yang kedua, menghentikan pemrosesan informasi yang dicatat dengan pola sebelumnya sehingga tidak terus dikirim ke «/ var / log / messages".
4- Memutar file log, dengan logrotate.
Kita harus menciptakan dalam «/etc/logrotate.d/" berkas "firewall»Yang akan berisi konten berikut:
/var/log/firewall/iptables.log
{
putar 7
harian
ukuran 10M
teks tanggal
missingok
buat 600 root adm
notifempty
kompres
delaycompress
pascarotasi
panggil-rc.d rsyslog reload> / dev / null
skrip akhir
}
Untuk merotasi log 7 kali sebelum menghapusnya, 1 kali sehari, ukuran log maksimal 10MB, dikompresi, diberi tanggal, tanpa memberikan kesalahan jika log tidak ada, dibuat sebagai root.
5- Mulai ulang, seperti semua xD yang berakhir bahagia, daemon rsyslog:
/etc/init.d/rsyslog mulai ulang
Bagaimana cara membuktikan bahwa semua itu berhasil?
Ayo coba SSH.
Memasang OpenSSH (seandainya mereka tidak memasangnya ...):
apt-get install openssh-server
Sebelum melanjutkan, kita harus menjalankan sebagai root di konsol:
iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4
Menjalankan pernyataan iptables ini akan mencatat cukup banyak info untuk menunjukkan bahwa apa yang telah kita lakukan tidak sia-sia. Dalam kalimat ini kami memberi tahu iptables untuk mencatat semua informasi yang masuk melalui port 22. Untuk menguji dengan layanan lain, cukup ubah nomor port, seperti 3306 untuk MySQL, hanya untuk mengutip contoh, jika Anda ingin informasi lebih lanjut, baca tutorial yang didokumentasikan dengan sangat baik ini dan berdasarkan contoh umum dari konfigurasi yang paling sering digunakan.
SSH menggunakan port 22 secara default, jadi kami akan mengujinya. Setelah menginstal openssh, kami terhubung dengannya.
ssh pepe @ test-server
Untuk melihat log, dengan ekor Anda memecahkan masalah ini:
ekor -f /var/log/firewall/iptables.log
Iptables, dalam contoh ini, mencatat semua, hari, waktu, ip, mac, dll, yang membuatnya bagus untuk memantau server kami. Sedikit bantuan yang tidak ada salahnya.
Sekarang, perhatikan bahwa kami menggunakan distro lain, seperti yang saya katakan di awal, itu umumnya digunakan rsyslog, atau yang serupa. Jika distro Anda menggunakan syslog, untuk melakukan latihan yang sama kita harus mengedit / memodifikasi sedikit syslog.conf
nano /etc/syslog.conf
Tambahkan dan simpan baris berikut:
kern.peringatan /var/log/firewall/iptables.log
Dan kemudian, Anda tahu, akhir yang bahagia:
/etc/init.d/sysklogd memulai ulang
Hasilnya: sama.
Sekian untuk saat ini, di postingan selanjutnya, kami akan terus bermain dengan iptables.
Referensi:
Paksa iptables untuk masuk ke file lain
Catat iptables ke file terpisah dengan rsyslog
Tutorial konfigurasi Iptables pada sistem Fedora / RHEL
Hebat «panduan mini» untuk BOFH yang Anda lakukan sedikit demi sedikit
Terima kasih, sedikit demi sedikit saya akan memberikan detail dan data iptables yang saya ketahui dari pekerjaan saya yang terkadang kami butuhkan dan sangat buruk dijelaskan di Internet, semua oleh pengguna ...
Saya mengambil kesempatan ini untuk menyambut Anda anggota 😀
Anda benar-benar memiliki BANYAK untuk disumbangkan, Anda memiliki pengetahuan yang sangat maju tentang jaringan, sistem, firewall dll, jadi saya akan menjadi (saya) salah satu dari banyak pembaca yang akan Anda miliki hahaha.
Salam dan yah ... kamu tahu, terserah 😀
Saya menantikan barang-barang itu ^^
Ayo Koratsuki, saya tidak tahu Anda sering mengunjungi blog ini.
Omong-omong, varian lain dari pencatatan aktivitas firewall menggunakan paket tersebut ulogd, yang dibuat oleh orang-orang dari proyek netfilter untuk memfasilitasi pemisahan jenis jejak ini (memungkinkan untuk menyimpannya dengan cara yang berbeda). Itu adalah pendekatan yang biasanya saya gunakan. Cara penggunaannya mudah, misalnya:
iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"
Saya harus memberikan F5 ke posting, cara kerja Ulogd cocok untuk saya, bahkan MySQL mencatat tipe: D.
Pos bagus, pertahankan.
Halo bos, bagaimana kabarmu?
Bisakah Anda membantu saya?
Karena saya tidak mendapatkan tutorial, dan itu lebih jelas dari air, saya tidak tahu di mana saya salah