Dalam mengatur server Proxy dan jaringan di bawahnya agar aman dari jangkauan tangan-tangan jahil manusia cyber. Pada Linux hadir dengan beberapa software yang dapat digunakan untuk membuat firewall atau dinding pengaman jaringan dan NAT. Yaitu dengan menggunakan IPTABLES untuk kebutuhan tersebut.
IPTABLES adalah modul di Linux yang memberikan dukungan langsung terhadap kernel Linux mulai versi 2.4 untuk keamanan sistem serta beberapa keperluan jaringan lainnya. IPTABLES juga dapat digunakan untuk melakukan seleksi terhadap paket-paket yang datang baik input, outp ut maupun forward berdasarkan IP address, identitas jaringan, nomor port, source (asal). destination (tujuan), protokol yang digunakan bahkan berdasarkan tipe koneksi terhadap setiap paket (data) yang diinginkan.
IPTABLES dapat melakukan perhitungan terhadap paket dan menerapkan prioritas trafik berdasar jenis layanan. IPTABLES dapat digunakan untuk mendefinisikan sekumpulan aturan keamanan berbasis port untuk mengamankan host-host tertentu. IPTABLES juga dapat dimanfaatkan untuk membangun sebuah router atau gateway, tentunya hanya untuk sistem operasi Linux.
Iptables memiliki table yang berfungsi untuk menentukan arah putaran paket data. Dimana table tersebut ada 3 yaitu :
- Filter. Digunakan untuk memilah dan memberikan ijin ACCEPT/DROP pada suatu paket data
- NAT. Digunakan untuk network address translation
- Mangle. Digunakan untuk QoS.
Konfigurasi IPTABLES paling sederhana setidaknya menangani 3 kumpulan aturan yang disebut chain. Chain tersebut antara lain:
- INPUT. Digunakan untuk memilah paket data yang masuk ke mesin firewall.
- FORWARD. Digunakan untuk memilah paket data yang melalui mesin firewall dan diroutingkan kembali ke jalur yang lainnya
- OUTPUT. Digunakan untuk memilah paket data yang keluar dari mesin firewall.
Sebelum kita melakukan konfigurasi firewall maka pertama kali kita harus mengetahui rule yang akan kita pakai.Hal ini sebagai acuan, apakah jaringan kita dapat meneruskan paket yang datang atau tidak atau memblok semua paket yang akan masuk ke dalam jaringan kita.Dibawah ini merupakan tabel rule yang kita pakai acuan untuk mengkonfigurasi firewall antara lain.
# iptables -t <TABLE> -I <CHAIN> -p <Protokol> -s <IPasal/Netmask> -d <IPtujuan/Netmask> -j
<ACCEPT/DROP>
Keterangan:
| Nama Rule | Simbol | Keterangan |
|-------------------|--------|------------------------------------------------------------------------------------------------------------------|
| TABLE | -t | TABLE, bisa diisikan dengan filter, nat, atau mangle |
| CHAIN | -l | CHAIN, apabila tablenya filter bisa diisikan INPUT, OUTPUT, atau FORWARD |
| PROTOKOL | -p | Protokol, bisa diisikan tcp, udp, icmp atau all |
| IP asal/Netmask | -s | IPasal, bisa diisikan dengan ip address asal paket (source) |
| IP tujuan/Netmask | -d | IPtujuan, bisa diisikan dengan ip address tujuan paket (destination) |
| ACCEPT/DROP | -j | ACCEPT/DROP, bila ingin mengijinkan data lewat isikan dengan ACCEPT. Bila tidak mengijinkan isikan dengan DROP |
1. NAT dan IPtables
Network Address Translation (NAT) dapat dikerjakan oleh kernel Linux versi 2.4 dengan salah satu dari dua cara berikut:
- Source NAT(SNAT), digunakan untuk menyembunyikan asal paket-paket dengan melakukan pemetaan alamat asal paket-paket yang akan menuju jaringan eksternal ke suatu IP address atau address tertentu. Dengan kemampuan seperti ini, SNAT biasa digunakan sebagai server Masquerader.
- Destination NAT (DNAT), sering digunakan untuk me-redirect secara transparan paket-paket yang masuk ke suatu lokasi (tujuan), misalnya diarahkan ke mesin yang berfungsi sebagai server proxy atau firewall SOCKS.
Salah satu versi dari SNAT adalah IP Masquerade, yang mengijinkan beberapa workstation atau host terkoneksi ke Internet tanpa harus memiliki IP address yang dapat dikenal di jaringan eksternal, Internet. Server yang berfungsi sebagai gateway menyediakan suatu masquerader menggunakan IPTABLES untuk membuat host-host lokal dikenal di jaringan internet dimana IP address yang tercatat adalah IP address gateway, bukan IP address host jaringan lokal.
Proses masquerade paket IP dikerjakan menggunakan substitusi address dan nomor port. IP address paket dari jaringan lokal diubah berdasarkan pada tujuannya.
Berikut adalah aturan sederhananya:
- Paket yang menuju jaringan eksternal (meninggalkan jaringan lokal melalui gateway). IP address asal paket diubah ke IP address mesin masquerader. IP address masquerader bersifat unik pada jaringan ekstemal.
- Paket yang masuk dari jaringan eksternal (menuju jaringan lokal melalui gateway). Alamat paket diubah ke IP address host jaringan lokal. Mesinmesin di dalam jaringan lokal memiliki alamat "private network" yang tidak valid (tidak dikenal) pada jaringan eksternal.
IP Masquerade menggunakan port forwarding untuk mengubah suatu IP address paket. Pada saat sebuah paket sampai dari jaringan eksternal, alamat portnya diperiksa dan dibandingkan terhadap isi tabel masquerade. Jika port yang dibandingkan ditemukan, IP address yang terdapat di dalam header paket diubah dan paket dikirim ke IP address yang telah di-demasquerade.
Ada 3 hal yang harus diperhatikan dalam implementasi NAT:
- Anda harus menambah semua aturan penterjemahan address ke chain-chain dalam tabel NAT.
- Tidak seperti tabel filter, tabel nat menggunakan chain-chain PREROUTING, POSTROUTING dan OUTPUT.
- Masukkan modul-modul kernel untuk menangani protokolprotokol khusus.
Jika Anda telah selesai membangun sebuah jaringan lokal dilihat dari topologinya, artinya secara fisik Anda telah menyelesaikan jaringan tersebut dan jaringan lokal Anda telah berfungsi dengan baik, implementasi IP Masquerade hanya memerlukan dua langkah berikut:
1. Gunakan IPTABLES untuk mensetup suatu aturan masquerade
Contoh berikut memasquerade paket-pake jaringan lokal (192.168.0.0/24) yang keluar menuju intemet atau jaringan eksternal melalui interface ppp0 (koneksi dial-up):
IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 --j MASQUERADE
Jika Anda terkoneksi ke jaringan eksternal tidak melalui koneksi dial-up, misalnya menggunakan koneksi wireless radio link, maka contoh perintah IP masquerade di atas menjadi:
iptables -t nat -A POSTROUTING --o eth1 --s 192.168.0.0/24 --j SNAT -tosource 64.110.100.141
Dimana koneksi ke jaringan eksternal melalui interface eth1 dan IP address NAT yang digunakan adalah 64.110.100.141.
Anda juga dapat menulis;
IPTABLES -t nat -A POSTROUTING -o eth1 --j MASQUERADE
yang berarti memasquerade semua paket yang keluar melalui Eth1. Ini dilakukan jika Anda tidak memperoleh IP NAT dari ISP, hanya 1 IP publik yang dimiliki yaitu yang terpasang pada Eth1. Jangan lupa menjalankan perintah service IPTABLES save agar semua aturan yang dibuat tersimpan dan dijalankan pada saat sistem di-reboot.
2. Sisipkan modul-modul kernel untuk menangani protokol-protokol tertentu
modprobe -a ip_conntrack_ftp ip_net_ftp
modprobe -a ip_conntrack_irc ip_net_irc
Anda dapat membangun sebuah destination NAT yang akan me-redirect secara transparan semua paket yang datang dari host-host jaringan lokal yang dikirim oleh web browser yang masuk melalui interface eth2 (ethernet card ke-3 pada mesin masquerader) ke suatu server proxy dengan menerapkan aturan berikut:
iptables -t nat -A PREROUTING -p tcp --port 80 -i eth2 -j DNAT --to 192.168.0.254
dimana IP address 192.168.0.254 adalah alamat server proxy.
2. Kesimpulan
Ibarat sebuah rumah yang memiliki pagar sebagai pelindungnya, baik dari kayu, tembok beton, kawat berduri ataupun kombinasi beberapa jenis pagar, maka tak pula mengherankan apabila sebuah komputer yang merupakan sebuah tempat vital dalam komunikasi data yang menyimpan semua harta dan benda yang kita miliki juga patut kita lindungi. Yaitu dengan menggunakan firewall. Firewall merupakan suatu cara atau mekanisme yang diterapkan baik terhadap hardware, software ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu atau semua hubungan/kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya. IP address sebagai sarana pengalamatan di Internet semakin menjadi barang mewah dan ekslusif. Tidak sembarang orang sekarang ini bisa mendapatkan IP address yang valid dengan mudah. Oleh karena itulah dibutuhkan suatu mekanisme yang dapat menghemat IP address. Logika sederhana untuk penghematan IP address ialah dengan meng-share suatu nomor IP address valid ke beberapa client IP lainnya. Atau dengan kata lain beberapa komputer bisa mengakses Internet walau kita hanya memiliki satu IP address yang valid.
Salah satu Mekanisme itu disediakan oleh Network Address Translation (NAT).
3. SOAL
- Jelaskan pengertian Firewall ?
- Sebutkan tipe Firewall ?
- Jelaskan Fungsi dan tipe NAT ?
- Apakah yang melatarbelakangi penggunaan NAT? Dan apa keuntungan menggunakan NAT?
- Sebutkan komponen-komponen yang dimiliki oleh sebuah NAT!