Artikel ini adalah bagian dari seri artikel Linux IPTables kami yang sedang berlangsung. Ketika segala sesuatunya tidak berfungsi seperti yang diharapkan dengan aturan IPTables Anda, Anda mungkin ingin mencatat paket yang dijatuhkan IPTables untuk tujuan pemecahan masalah. Artikel ini menjelaskan cara mencatat paket firewal masuk dan keluar yang dijatuhkan.
Jika Anda baru mengenal IPTables, pertama-tama pahami konsep dasar IPTables.
Log Semua Paket Input yang Dihapus
Pertama, kita perlu memahami cara mencatat semua paket input iptables yang dijatuhkan ke syslog.
Jika Anda sudah memiliki banyak aturan firewall iptables, tambahkan ini di bagian bawah, yang akan mencatat semua paket input yang dijatuhkan (masuk) ke /var/log/messages
iptables -N LOGGING iptables -A INPUT -j LOGGING iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 iptables -A LOGGING -j DROP
Dalam contoh di atas, ia melakukan hal berikut:
- iptables -N LOGGING:Buat rantai baru bernama LOGGING
- iptables -A INPUT -j LOGGING:Semua paket masuk yang tersisa akan melompat ke rantai LOGGING
- baris#3:Mencatat paket yang masuk ke syslog (/var/log/messages). Baris ini dijelaskan di bawah ini secara rinci.
- iptables -A LOGGING -j DROP:Terakhir, jatuhkan semua paket yang datang ke rantai LOGGING. yaitu sekarang benar-benar menjatuhkan paket yang masuk.
Pada baris #3 di atas, ia memiliki opsi berikut untuk mencatat paket yang dijatuhkan:
- -m limit:Ini menggunakan modul pencocokan batas. Dengan ini, Anda dapat membatasi logging menggunakan opsi –limit.
- –batas 2/mnt:Ini menunjukkan tingkat pencocokan rata-rata maksimum untuk logging. Dalam contoh ini, untuk paket serupa akan membatasi pencatatan hingga 2 per menit. Anda juga dapat menentukan 2/detik, 2/menit, 2/jam, 2/hari. Ini berguna jika Anda tidak ingin mengacaukan pesan log dengan pesan berulang dari paket yang sama.
- -j LOG:Ini menunjukkan bahwa target paket ini adalah LOG. yaitu menulis ke file log.
- –log-prefix “IPTables-Dropped:” Anda dapat menentukan awalan log apa pun, yang akan ditambahkan ke pesan log yang akan ditulis ke file /var/log/messages
- –log-level 4 Ini adalah level syslog standar. 4 adalah peringatan. Anda dapat menggunakan nomor dari rentang 0 hingga 7. 0 adalah darurat dan 7 adalah debug.
Log Semua Paket Keluar yang Dihapus
Ini sama seperti di atas, tetapi baris ke-2 di bawah ini memiliki OUTPUT bukan INPUT.
iptables -N LOGGING iptables -A OUTPUT -j LOGGING iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 iptables -A LOGGING -j DROP
Log Semua Paket yang Dijatuhkan (baik Masuk dan Keluar)
Ini sama seperti sebelumnya, tetapi kita akan mengambil baris nomor 2 dari dua contoh sebelumnya, dan menambahkannya di sini. yaitu Kami akan memiliki baris terpisah untuk INPUT dan OUTPUT yang akan melompat ke rantai LOGGING.
Untuk mencatat baik paket yang masuk dan keluar, tambahkan baris berikut di bagian bawah aturan firewall iptables yang ada.
iptables -N LOGGING iptables -A INPUT -j LOGGING iptables -A OUTPUT -j LOGGING iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 iptables -A LOGGING -j DROP
Juga, seperti yang kami jelaskan sebelumnya, secara default, iptables akan menggunakan /var/log/messages untuk mencatat semua pesan. Jika Anda ingin mengubahnya ke file log kustom Anda sendiri, tambahkan baris berikut ke /etc/syslog.conf
kern.warning /var/log/custom.log
Cara membaca Log IPTables
Berikut ini adalah contoh baris yang dicatat di /var/log/messages saat paket masuk dan keluar dihapus.
Aug 4 13:22:40 centos kernel: IPTables-Dropped: IN= OUT=em1 SRC=192.168.1.23 DST=192.168.1.20 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59228 SEQ=2 Aug 4 13:23:00 centos kernel: IPTables-Dropped: IN=em1 OUT= MAC=a2:be:d2:ab:11:af:e2:f2:00:00 SRC=192.168.2.115 DST=192.168.1.23 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=9434 DF PROTO=TCP SPT=58428 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0
Pada keluaran di atas:
- IPTables-Dropped:Ini adalah awalan yang kami gunakan dalam logging kami dengan menentukan opsi –log-prefix
- IN=em1 Ini menunjukkan antarmuka yang digunakan untuk paket masuk ini. Ini akan kosong untuk paket keluar
- OUT=em1 Ini menunjukkan antarmuka yang digunakan untuk paket keluar. Ini akan kosong untuk paket yang masuk.
- SRC=Alamat ip sumber dari mana paket berasal
- DST=Alamat ip tujuan tujuan pengiriman paket
- LEN=Panjang paket
- PROTO=Menunjukkan protokol (seperti yang Anda lihat di atas, baris pertama untuk protokol ICMP keluar, baris ke-2 untuk protokol TCP masuk)
- SPT=Menunjukkan port sumber
- DPT=Menunjukkan port tujuan. Pada baris ke-2 di atas, port tujuan adalah 443. Ini menunjukkan bahwa paket HTTPS yang masuk dijatuhkan
Tutorial IPTables Tambahan
- Tutorial Firewall Linux:Tabel IPTables, Rantai, Dasar Aturan
- Linux IPTables:Cara Menambahkan Aturan Firewall (Dengan Contoh Allow SSH)
- Linux IPTables:Contoh Aturan Masuk dan Keluar (SSH dan HTTP)
- IPTables Flush:Hapus / Hapus Semua Aturan Di RedHat dan CentOS Linux
- 25 Contoh Aturan IPTables Linux yang Paling Sering Digunakan