SMK PASUNDAN 2 BANDUNG TEKNIK KOMPUTER DAN JARINGAN Modul 7 IPTABLES DAN NAT DI LINUX DEBIAN Oleh Syaiful Watoni, ST. 1 IPTABLES DAN NAT Pendahuluan Pada bagian ini akan membahas penggunaan server komputer dan jaringan di bawahnya agar aman dari tangan-tangan jahil. Di bagian ini juga akan membahas bagaimana membangun server NAT yang selama ini banyak digunakan oleh perusahaan besar dalam mengkoneksikan ke Internet. Linux redhat 9 menyediakan fasilitas software yang dapat digunakan untuk membuat firewall atau dinding-dinding pengaman jaringan dan juga NAT ( Network Address Translition). Pengertian IPTABLES IPTABLES adalah modul di linux yang memberikan dukungan langsung terhadap kernel mulai persi 2.4 untuk keamanan sistem serta beberapa keperluan jaringan lainnya. IPTABLES dapat digunakan untuk melakukan seleksi terhadap paket-paket yang datang baik input, output, maupun forword berdasarkan IP address, identitas jaringan, nomor port, source (asal), destination (tujuan), protokol yang digunakan, bahkan berdasarkan tipe koneksi terhadap setiap paket (data) yang diinginkan. Berikut ialah beberapa perintah untuk menerima, menolak, paket ataupun lainnya : ACCEPT Menerima paket dan diproses lebih lanjut oleh kernel. DROP Menolak paket tanpa pemberitahuan sama sekali. REJECT Mengembalikan paket ke asalnya dengan pesan kesalahan ICMP. LOG Melakukan log (pencatatan) terhadap paket-paket yang bersusaian RETURN Untuk chain user-defined akan dikembalikan ke chain INPUT, OUTPUT, dan FORWORD akan dijalankan kebijakan default. Keputusan kebijakan di atas dibuat oleh pernyataan jump yang terdapat di dalam chain FORWORD dan OUTPUT. Penggunaan IPTABLES Rule dalam IPTABLES dapat dilakukan terhadap asal paket (-s), tujuan paket (-d), protokol (-p), dan port. Sebelum itu kita harus mengaktifkan ip_forwarding dengan memberikan nilai 1 ke file /proc/sys/net/ipv4/ip_forward. # echo “1” >/proc/sys/net/ipv4/ip_farword Misalnya untuk menolak semua paket yang datang dari mesin dengan IP address 192.168.10.150, dapat ditulis: # iptables –t filter –A INPUT –s 192.168.10.150 –j DROP Oleh Syaiful Watoni, ST. 2 Atau # iptables –I INPUT –s 192.168.10.150 –j DROP Tanda tanya ( ! ) dapat ditmpatkan didepan suatu IP address untuk membuat pengecualian terhadap IP tersebut. Perintah di bawah ini akan menolak semua paket yang masuk dari semua host kecuali dari mesin dengan IP address 192.168.10.150. # iptables –I INPUT –s ! 192.168.10.150 –j DROP Untuk menolak paket yang memamfaatkan protokol icmp dari suatu IP address misalnya IP address 192.168.10.32/27, dalam artian IP tersebut networknya ialah 32 dengan digit 27 maka IP address 32 s/d 63 tidak dapat menggunakan protokol icmp ke server. # iptables –I INPUT –p icmp –s 192.168.10.32/27 –d 0/0 –j DROP Rule di dalam chain di atas akan hilang ketika saat mesin linux di restart atau mati, maka isilah rule-rule di atas di file /etc/rc.local agar pada awal booting rule-rule tersebut langsung berjalan. NAT (Network Address Translition) Network Address Tramslition (NAT) dapat dikerjakan oleh kernel linux dengan salah satu dari dua cara berikut; 1. Source NAT (SNAN) SNAT digunakan untuk menyembunyikan asal paket-paket dengan melakukan pemetaan alamat asal paket-paket yang akan menuju jaringan external ke suatu IP address tertentu. Dengan kemamputan seperti ini, SNAT bisa digunakan sebagai server Masquerade. 2. DESTINATION NAT (DNAT) DNAT sering digunakan untuk meridirect secara transparant paket-paket yang masuk kesuatu lokasi (tujuan), misalnya daerah ke mesin yang berfungsi sebagai proxy atau firewall sock. Penggunaan NAT Seperti yang telah dijelaskan di atas dengan fasilatas iptables dengan NAT kita dapat membuat sebuah PC Router dengan firewallnya. Berikut contoh-contoh; Mengaktifkan IP Forward # echo “1” >/proc/sys/net/ipv4/ip_forward Untuk mengaktifkan IP Masquerade # iptables –t nat –A POSTROUTING –s 0/0 –d 0/0 –j MASQUERADE Atau # iptables –t nat –A POSTROUTING –s 192.168.10.0/24 –d 0/0 –j MASQUERADE Atau langkah termudahnya ialah Oleh Syaiful Watoni, ST. 3 # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Keterangan; eth0 ialah IP yang akan dikenalkannya atau IP yang Anda beli dari ISP. Dengan perintah di atas komputer akan mengaktifkan routing ke IP 0 sampai IP 0. Dan seperti biasanya agar chain yang telah diberikan diatas aktif pada waktu booting masukkanlah ke file /etc/rc.local seperti contoh file di bawah ini. #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. #Routing chain echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE exit 0 Tulisan yang diberi huruf tebal adalah contoh chain yang dimasukkan agar tiap kali komputer restart konfigurasi tersebut akan dijalankan tiap kali startup. Oleh Syaiful Watoni, ST. 4