GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Firewall Linux:Tabel IPTables, Chains, Rules Fundamentals

iptables firewall digunakan untuk mengatur pemfilteran paket dan aturan NAT. IPTables hadir dengan semua distribusi Linux. Memahami cara menyiapkan dan mengonfigurasi iptables akan membantu Anda mengelola firewall Linux secara efektif.

alat iptables digunakan untuk mengelola aturan firewall Linux. Pada pandangan pertama, iptables mungkin terlihat rumit (atau bahkan membingungkan). Namun, setelah Anda memahami dasar-dasar cara kerja iptables dan strukturnya, membaca dan menulis aturan firewall iptables akan menjadi mudah.

Artikel ini adalah bagian dari seri tutorial iptables yang sedang berlangsung. Ini adalah artikel pertama dalam seri itu.

Artikel ini menjelaskan bagaimana iptables terstruktur, dan menjelaskan dasar-dasar tentang tabel, rantai, dan aturan iptables.

Pada iptables tingkat tinggi mungkin berisi beberapa tabel. Tabel mungkin berisi beberapa rantai. Rantai dapat dibangun atau ditentukan pengguna. Rantai mungkin berisi beberapa aturan. Aturan ditentukan untuk paket.

Jadi, strukturnya adalah:iptables -> Tables -> Chains -> Rules. Ini didefinisikan dalam diagram berikut.


Gambar :Tabel IPTables, Rantai, dan Struktur Aturan

Hanya untuk mengulangi, tabel adalah sekumpulan rantai, dan rantai adalah sekumpulan aturan firewall.

Aku. TABEL dan RANTAI IPTABLES

IPTables memiliki 4 tabel bawaan berikut.

1. Tabel Filter

Filter adalah tabel default untuk iptables. Jadi, jika Anda tidak mendefinisikan tabel Anda sendiri, Anda akan menggunakan tabel filter. Tabel filter Iptables memiliki rantai bawaan berikut.

  • Rantai INPUT – Masuk ke firewall. Untuk paket yang datang ke server lokal.
  • Rantai OUTPUT – Keluar dari firewall. Untuk paket yang dihasilkan secara lokal dan keluar dari server lokal.
  • Rantai FORWARD – Paket untuk NIC lain di server lokal. Untuk paket yang dirutekan melalui server lokal.

2. Tabel NAT

Tabel NAT Iptable memiliki rantai bawaan berikut.

  • PREROUTING chain – Mengubah paket sebelum perutean. yaitu Penerjemahan paket terjadi segera setelah paket datang ke sistem (dan sebelum perutean). Ini membantu menerjemahkan alamat ip tujuan paket ke sesuatu yang cocok dengan perutean di server lokal. Ini digunakan untuk DNAT (NAT tujuan).
  • POSTROUTING chain – Mengubah paket setelah perutean. yaitu Penerjemahan paket terjadi ketika paket meninggalkan sistem. Ini membantu menerjemahkan alamat ip sumber paket ke sesuatu yang mungkin cocok dengan perutean di server tujuan. Ini digunakan untuk SNAT (sumber NAT).
  • Rantai OUTPUT – NAT untuk paket yang dibuat secara lokal di firewall.

3. Mangle meja

Tabel Mangle Iptables adalah untuk perubahan paket khusus. Ini mengubah bit QOS di header TCP. Tabel Mangle memiliki rantai bawaan berikut.

  • Rantai PREROUTING
  • Rantai OUTPUT
  • Rantai MAJU
  • Rantai INPUT
  • Rantai POSTROUTING

4. Tabel mentah

Tabel Raw Iptable adalah untuk pengecualian konfigurasi. Tabel mentah memiliki rantai bawaan berikut.

  • Rantai PREROUTING
  • Rantai OUTPUT

Diagram berikut menunjukkan tiga tabel penting dalam iptables.

Gambar :Tabel bawaan IPTables

II. ATURAN IPTABLES

Berikut adalah poin-poin penting yang harus diingat untuk aturan iptables.

  • Aturan berisi kriteria dan target.
  • Jika kriteria cocok, ia akan mengikuti aturan yang ditentukan dalam target (atau) mengeksekusi nilai khusus yang disebutkan dalam target.
  • Jika kriteria tidak cocok, maka akan dilanjutkan ke aturan berikutnya.

Nilai Target

Berikut adalah kemungkinan nilai khusus yang dapat Anda tentukan di target.

  • TERIMA – Firewall akan menerima paket.
  • DROP – Firewall akan menjatuhkan paket.
  • ANTRIAN – Firewall akan meneruskan paket ke ruang pengguna.
  • RETURN – Firewall akan berhenti mengeksekusi rangkaian aturan berikutnya dalam rantai saat ini untuk paket ini. Kontrol akan dikembalikan ke rantai panggilan.

Jika Anda melakukan iptables –list (atau) status layanan iptables, Anda akan melihat semua aturan firewall yang tersedia di sistem Anda. Contoh iptable berikut menunjukkan bahwa tidak ada aturan firewall yang ditentukan pada sistem ini. Seperti yang Anda lihat, ini menampilkan tabel input default, dengan rantai input default, rantai maju, dan rantai output.

# iptables -t filter --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Lakukan hal berikut untuk melihat tabel mangle.

# iptables -t mangle --list

Lakukan hal berikut untuk melihat tabel nat.

# iptables -t nat --list

Lakukan hal berikut untuk melihat tabel mentah.

# iptables -t raw --list

Catatan:Jika Anda tidak menentukan opsi -t, itu akan menampilkan tabel filter default. Jadi, kedua perintah berikut adalah sama.

# iptables -t filter --list
(or)
# iptables --list

Contoh iptable berikut menunjukkan bahwa ada beberapa aturan yang didefinisikan dalam rantai input, forward, dan output dari tabel filter.

# iptables --list
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
10   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Aturan dalam output perintah iptables –list berisi kolom berikut:

  • num – Nomor aturan dalam rantai tertentu
  • target – Variabel target khusus yang kita bahas di atas
  • prot – Protokol. tcp, udp, icmp, dll.,
  • opt – Opsi khusus untuk aturan khusus tersebut.
  • sumber – Alamat ip sumber paket
  • destination – Alamat ip tujuan untuk paket

Linux
  1. Linux IPTables:Cara Menambahkan Aturan Firewall (Dengan Contoh Izinkan SSH)

  2. IPTables Flush:Hapus / Hapus Semua Aturan Di RedHat dan CentOS Linux

  3. 25 Contoh Aturan IPTables Linux yang Paling Sering Digunakan

  1. Layanan OS Linux 'iptables'

  2. Cara memverifikasi apakah iptables sedang berjalan atau firewall diaktifkan

  3. Bagaimana Anda mengelola konfigurasi iptables Linux Anda pada mesin yang bertindak sebagai router?

  1. Cara memblokir alamat palsu lokal menggunakan firewall Linux

  2. Cara Membuat Aturan Firewall iptables Persisten di Debian/Ubuntu

  3. Skrip Docker Firewall untuk Rantai iptables DOCKER-USER