Mencatat semua aktiviti dengan iptables

iptablesSecara lalai ia mempunyai aturan penapis dalam mod "Terima semua", iaitu, ia membenarkan masuk dan keluar semua sambungan dari atau ke PC kita, tetapi bagaimana jika kita ingin mencatat semua maklumat mengenai sambungan yang dibuat ke pelayan atau PC kita?

Catatan: Prosedur yang akan saya jalankan sekarang adalah 100% dalam pengedaran Debian/Berasaskan Debian, jadi jika anda menggunakan Slackware, Fedora, CentOS, BukaSuSe, prosedurnya mungkin tidak sama, kami mengesyorkan membaca dan memahami sistem log masuk pengedaran anda sebelum menerapkan apa yang dijelaskan di bawah. Terdapat juga kemungkinan memasang rsyslog dalam pengedaran anda, jika tersedia di repositori, walaupun dalam tutorial ini, syslog juga dijelaskan pada akhir.

Semua baik setakat ini, tetapi apaDi mana kita akan log masuk? Mudah, dalam fail «/var/log/firewall/iptables.log", apa tidak wujud, sehingga kita mempercayainya sendiri ...

1- Kita mesti membuat fail «iptables.log»Di dalam folder«/ var / log / firewall»Kita mesti membuatnya, kerana ia juga tidak wujud.

mkdir -p / var / log / firewall /
sentuh /var/log/firewall/iptables.log

2- Kebenaran, sangat penting ...

chmod 600 /var/log/firewall/iptables.log
root chown: adm /var/log/firewall/iptables.log

3- rsyslog, daemon log masuk Debian, membaca konfigurasi dari «/etc/rsyslog.d«, Oleh itu kita mesti membuat fail yang akan saya panggil«firewall.conf»Dari mana rsyslog dapat menafsirkan apa yang ingin kita lakukan.

sentuh /etc/rsyslog.d/firewall.conf

Dan di dalam kita meninggalkannya untuk jatuh perlahan-lahan kandungan berikut:

: msg, berisi, "iptables:" - / var / log / firewall / iptables.log
& ~

Saya tidak mempunyai sedikit pun idea,apa yang dilakukan oleh beberapa garis ini?

Baris pertama memeriksa data yang dicatat untuk rentetan «iptables: »Dan menambahkannya ke fail«/var/log/firewall/iptables.log«

Yang kedua, menghentikan pemprosesan maklumat yang dicatatkan dengan corak sebelumnya sehingga tidak terus dihantar ke «/ var / log / mesej".

4- Memutar fail log, dengan logrotate.

Kita mesti mencipta dalam «/etc/logrotate.d/" fail "firewall»Yang akan mengandungi kandungan berikut:

/var/log/firewall/iptables.log
{
putar 7
harian
saiz 10M
tarikh tarikh
hilangok
buat 600 root adm
notifempty
tekanan
kelewatan
postrotate
invoke-rc.d rsyslog muat semula> / dev / null
tulisan akhir
}

Untuk memutar log 7 kali sebelum menghapusnya, 1 kali sehari, ukuran log maksimum 10MB, dimampatkan, bertarikh, tanpa memberikan ralat jika log tidak ada, dibuat sebagai root.

5- Mulakan semula, seperti semua xD akhir yang bahagia, daemon rsyslog:

/etc/init.d/rsyslog mulakan semula

Bagaimana untuk membuktikan bahawa semua itu berfungsi?

Mari cuba SSH.

memasang OpenSSH (sekiranya mereka tidak memasangnya ...):

apt-get install openssh-server

Sebelum meneruskan, kita mesti menjalankan sebagai root dalam konsol:

iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4

Menjalankan penyataan iptables ini akan mencatat maklumat yang mencukupi untuk menunjukkan bahawa apa yang telah kita lakukan tidak sia-sia. Dalam ayat ini, kami memberitahu iptables untuk mencatat semua maklumat yang mencapainya melalui port 22. Untuk menguji dengan perkhidmatan lain, cukup ubah nombor port, seperti 3306 untuk MySQL, hanya untuk memetik contoh, jika anda mahukan lebih banyak maklumat, baca tutorial yang didokumentasikan dengan baik ini dan berdasarkan contoh khas konfigurasi yang paling banyak digunakan.

SSH menggunakan port 22 secara lalai, jadi kami akan mengujinya. Setelah memasang openssh, kami menyambungkannya.

ssh pepe @ ujian-pelayan

Untuk melihat log, dengan ekor anda menyelesaikan masalah ini:

tail -f /var/log/firewall/iptables.log

Iptables, dalam contoh ini, log semuanya, hari, waktu, ip, mac, dan lain-lain, yang menjadikannya bagus untuk memantau pelayan kami. Sedikit pertolongan yang tidak pernah menyakitkan.

Sekarang, perhatikan bahawa kita menggunakan distro lain, seperti yang saya katakan pada awalnya, ia biasanya digunakan rsyslog, atau sesuatu yang serupa. Sekiranya distro anda menggunakan syslog, untuk melakukan latihan yang sama kita mesti mengedit / mengubah sedikit syslog.conf

nano /etc/syslog.conf

Tambahkan dan simpan baris berikut:

kern.warning /var/log/firewall/iptables.log

Dan kemudian, anda tahu, akhir yang bahagia:

/etc/init.d/sysklogd mulakan semula

Keputusan: sama.

Itu sahaja buat masa ini, di catatan masa depan, kami akan terus bermain dengan iptables.

Rujukan:

Paksa iptables untuk log ke fail lain

Log iptables ke fail yang terpisah dengan rsyslog

Tutorial konfigurasi Iptables pada sistem Fedora / RHEL


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   FerreryGuardia. kata

    Hebatnya «manual mini» ini untuk BOFH yang anda lakukan sedikit demi sedikit

  2.   koratsuki kata

    Terima kasih, sedikit demi sedikit saya akan memberikan perincian dan data iptables, yang harus saya ketahui dari karya saya, yang kadang-kadang kita perlukan dan sangat kurang dijelaskan di Internet, semuanya oleh pengguna ... xD

    1.    KZKG ^ Gaara kata

      Saya mengambil kesempatan ini untuk mengalu-alukan ahli anda 😀
      Anda benar-benar mempunyai BANYAK untuk menyumbang, anda mempunyai pengetahuan yang sangat maju mengenai rangkaian, sistem, firewall dll, jadi saya akan menjadi (saya) salah satu daripada banyak pembaca yang anda akan ada hahaha.

      Salam dan selamat ... anda tahu, apa sahaja yang diperlukan 😀

    2.    isar kata

      Saya menantikan item tersebut ^^

  3.   Hugo kata

    Ayuh Koratsuki, saya tidak tahu anda sering mengunjungi blog ini.

    Ngomong-ngomong, varian aktiviti firewall lain adalah menggunakan pakej ulogd, yang dibuat oleh orang-orang dari projek netfilter untuk memudahkan pemisahan jejak jenis ini (memungkinkan untuk menyelamatkannya dengan cara yang berbeza). Itu pendekatan yang biasa saya gunakan. Menggunakannya mudah, contohnya:

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   koratsuki kata

    Saya harus memberikan jawatan itu F5, cara kerja Ulogd sesuai dengan saya, malah MySQL mencatat jenisnya: D.

  5.   MSX kata

    Pos yang baik, teruskan.

  6.   chinoloco kata

    Halo bos, bagaimana keadaannya?
    Bolehkah anda memberi saya bantuan?
    Oleh kerana saya tidak mendapat tutorial, dan lebih jelas daripada air, saya tidak tahu di mana saya salah