0Pricing
Linux Server Deployment & SSH Mastery · Pelajaran

Aturan Firewall Tingkat Lanjut (IPTables)

Kuasai IPTables untuk membuat aturan firewall kompleks yang mempertahankan status, menerapkan penerjemahan alamat jaringan (NAT), dan melindungi server dari serangan canggih.

Aturan Firewall Tingkat Lanjut (IPTables) adalah pelajaran Linux Server Deployment & SSH Mastery gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Linux Server Deployment & SSH Mastery, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Linux Server Deployment & SSH Mastery mencakup 4 pelajaran total.

Mendalami IPTables

IPTables adalah firewall bawaan Linux yang andal. Meskipun kita telah melihat dasar-dasarnya, IPTables menyediakan fitur lanjutan untuk pengendalian yang presisi.

Pelajaran ini membuka akses ke aturan yang kompleks, penyaringan berbasis keadaan, dan Network Address Translation (NAT) untuk benar-benar mengamankan dan mengelola jaringan server Anda.

Mengingat Tabel dan Rantai

IPTables mengatur aturan ke dalam tabel, yang masing-masing memiliki tujuan tertentu. Di dalam tabel terdapat rantai, yaitu daftar aturan yang dievaluasi secara berurutan.

  • Tabel filter: Tabel bawaan yang digunakan untuk menyaring (memblokir/mengizinkan) paket. Berisi rantai INPUT, OUTPUT, FORWARD.
  • Tabel nat: Digunakan untuk Network Address Translation (NAT). Berisi rantai PREROUTING, POSTROUTING, OUTPUT.
  • Tabel lain seperti mangle dan raw tersedia untuk modifikasi paket khusus.

Mengungkap Firewall Berbasis Keadaan

Firewall berbasis keadaan melacak keadaan koneksi jaringan. Alih-alih hanya memeriksa setiap paket secara terpisah, firewall mengingat apakah suatu paket merupakan bagian dari koneksi yang sudah ada dan telah terbentuk.

Keadaan koneksi utama:

  • NEW: Paket pertama dari koneksi baru.
  • ESTABLISHED: Paket yang termasuk dalam koneksi aktif yang sudah ada.
  • RELATED: Paket yang memulai koneksi baru yang berkaitan dengan koneksi yang sudah ada (misalnya, transfer data FTP).

Menerapkan Aturan Berbasis Keadaan

Aturan berbasis keadaan sangat menyederhanakan pengelolaan firewall. Anda dapat mengizinkan semua lalu lintas yang termasuk dalam koneksi yang telah terbentuk, sehingga Anda hanya perlu menentukan aturan untuk memulai koneksi NEW.

Aturan ini mengizinkan semua paket masuk yang merupakan bagian dari koneksi yang sudah terbentuk atau berkaitan:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Menyusun Logika Aturan yang Kompleks

IPTables memungkinkan Anda menggabungkan berbagai modul pencocokan dan opsi untuk membuat aturan yang sangat spesifik. Hal ini membantu menyempurnakan akses untuk berbagai layanan dan sumber.

Contoh: Mengizinkan SSH (port 22) dari subnet tertentu (192.168.1.0/24) hanya untuk koneksi baru.

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

Memperkenalkan Network Address Translation

Network Address Translation (NAT) mengubah informasi alamat jaringan pada header IP paket saat paket tersebut sedang transit. Fitur ini penting untuk:

  • Memungkinkan beberapa perangkat di jaringan privat berbagi satu alamat IP publik (misalnya, router rumah).
  • Penerusan port, yaitu mengarahkan permintaan eksternal ke server internal.

Ada dua jenis utama: Source NAT (SNAT) dan Destination NAT (DNAT).

SNAT untuk Koneksi Keluar

Source NAT (SNAT) mengubah alamat IP sumber paket. Fitur ini umumnya digunakan saat server internal perlu mengakses internet melalui server gerbang dengan IP publik.

Masquerading adalah bentuk khusus SNAT yang secara otomatis menggunakan alamat IP antarmuka keluar sebagai IP sumber, sehingga berguna untuk alamat IP dinamis.

Contoh: Mengizinkan jaringan internal 192.168.0.0/24 mengakses internet melalui eth0.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

DNAT untuk Layanan Masuk

NAT Tujuan (DNAT) mengubah alamat IP tujuan paket. Ini sangat cocok untuk penerusan port, yaitu saat Anda membuat layanan yang berjalan di server internal dapat diakses dari internet melalui IP publik server gateway Anda.

Contoh: Teruskan permintaan web masuk (port 80) pada eth0 ke server web internal di 192.168.1.100.

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80

Melindungi dari Serangan Brute Force

IPTables dapat membantu melindungi dari serangan umum seperti upaya masuk secara brute force (misalnya, SSH) dengan membatasi laju penerimaan koneksi baru dari IP sumber.

Modul limit memungkinkan Anda menentukan laju dan batas lonjakan. Ingatlah untuk menolak koneksi berikutnya setelah batas tercapai.

Contoh: Batasi koneksi SSH baru hingga 3 per menit, dengan lonjakan awal sebanyak 3 koneksi, lalu tolak koneksi lainnya.

sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/minute --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

Logika Aturan IPTables

Bayangkan sebuah server yang berperan sebagai gateway. Server tersebut memiliki antarmuka publik eth0 dan antarmuka internal eth1 (terhubung ke 192.168.1.0/24).

Perintah IPTables manakah yang memungkinkan server web internal di 192.168.1.50 diakses dari internet melalui port 80?

Rangkuman Penguasaan IPTables

Selamat! Anda telah mempelajari konsep-konsep IPTables tingkat lanjut:

  • Firewall berbasis status dengan status ESTABLISHED, RELATED, dan NEW.
  • Membuat aturan kompleks dengan menggabungkan beberapa kriteria pencocokan.
  • Menerapkan Network Address Translation (NAT) untuk lalu lintas keluar (SNAT/Masquerade) dan masuk (DNAT/Penerusan Port).
  • Menggunakan modul limit untuk perlindungan dasar dari serangan.

Keterampilan ini sangat penting untuk membangun lingkungan server Linux yang tangguh dan aman. Ingatlah untuk menyimpan aturan IPTables setelah melakukan perubahan karena aturan tersebut tidak tersimpan secara permanen secara default!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Aturan Firewall Tingkat Lanjut (IPTables)” gratis?

Ya — teks lengkap “Aturan Firewall Tingkat Lanjut (IPTables)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Linux Server Deployment & SSH Mastery, upgrade ke CoddyKit PRO. Kursus Linux Server Deployment & SSH Mastery mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Aturan Firewall Tingkat Lanjut (IPTables)”?

Kuasai IPTables untuk membuat aturan firewall kompleks yang mempertahankan status, menerapkan penerjemahan alamat jaringan (NAT), dan melindungi server dari serangan canggih. Kamu berlatih Linux Server Deployment & SSH Mastery dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Linux Server Deployment & SSH Mastery?

Tidak diperlukan pengalaman sebelumnya. Linux Server Deployment & SSH Mastery di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Aturan Firewall Tingkat Lanjut (IPTables)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Linux Server Deployment & SSH Mastery ini?

Ya. Setiap pelajaran Linux Server Deployment & SSH Mastery menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Audit Keamanan Server
  2. Aturan Firewall Tingkat Lanjut (IPTables)
  3. Deteksi dan Pencegahan Penyusupan
  4. Pencatatan Terpusat dan Integrasi SIEM
← Kembali ke Linux Server Deployment & SSH Mastery