Mencatat semua aktivitas dengan iptables

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


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   FerryGuardia dijo

    Hebat «panduan mini» untuk BOFH yang Anda lakukan sedikit demi sedikit

  2.   koratsuki dijo

    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 ...

    1.    KZKG ^ Gaara dijo

      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 😀

    2.    isar dijo

      Saya menantikan barang-barang itu ^^

  3.   Hugo dijo

    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"

  4.   koratsuki dijo

    Saya harus memberikan F5 ke posting, cara kerja Ulogd cocok untuk saya, bahkan MySQL mencatat tipe: D.

  5.   MSX dijo

    Pos bagus, pertahankan.

  6.   chinoloco dijo

    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