Pengertian Perintah Firewall Iptables pada Debian Server


Pengertian Perintah Firewall Iptables pada Debian Server

Assalamu'alaikum Wr. Wb.
Hay teman sudah paham kah kalian tentang firewall iptables pada debian? Jika belum ayo kita bahas.



A. Pengertian

Firewall adalah sebuah sistem keamanan jaringan yang memonitor dan mengontrol lalu lintas jaringan yang masuk dan keluar berdasarkan aturan keamanan yang telah ditentukan. Firewall biasanya menetapkan penghalang antara dipercaya, jaringan internal yang aman dan jaringan lain di luar, seperti Internet, yang diasumsikan tidak aman atau terpercaya. Firewall sering dikategorikan sebagai firewall jaringan atau berbasis host firewall. Jaringan firewall adalah alat perangkat lunak yang berjalan pada perangkat keras tujuan umum atau hardware berbasis peralatan komputer firewall lalu lintas filter antara dua atau lebih jaringan berbasis host firewall menyediakan lapisan perangkat lunak pada satu host yang mengontrol lalu lintas jaringan masuk dan keluar dari itu mesin tunggal. Peralatan Firewall juga dapat menawarkan fungsi lain ke jaringan internal mereka melindungi seperti bertindak sebagai DHCP atau VPN server untuk jaringan tersebut. 

Tipe-tipe firewall dibedakan berdasarkan mekanisme atau cara kerja firewall : 
-Packet filtering gateway : bertugas melakukan filterisasi terhadap paket-paket yang datang dari luar jaringan yang dilindunginya.
-Application level gateway : juga disebut proxy firewall, mekanisme tidak hanya berdasarkan sumber, tujuan dan atribut paket tapi bisa mencapai isi (content) paket tersebut.
-Circuit level gateway : bekerja pada bagian Transport Control Protocol (TCP) Layer pada lapisan TCP/IP. Firewall akan melakukan pengawasan terhadap awal hubungan TCP yang biasa disebut sebagai TCP handshaking untuk menentukan apakah sesi hubungan tersebut diperbolehkan atau tidak. 
-Statefull multilayer inspection firewall : model ini adalah penggabungan dari ketiga firewall diatas, firewall ini bekerja pada lapisan aplikasi, lapisan TCP dan lapisan internet protocol


IPTABLES adalah salah satu firewall yang ada di linux, kegunaan iptables antara lain :
-Dapat melakukan perhitungan terhadap paket dan menerapkan prioritas trafik berdasarkan jenis layanan (servis)
-Dapat di gunakan untuk mendefinisikan sekumpulan aturan keamanan berbasis port untuk mengamankan host-host tertentu
-Dapat digunakan untuk membangun sebuah router atau gateway
  
B. Latar Belakang

Karena saya belum begitu paham tentang perintah-perintah dalam Firewall Iptables maka saya akan membahasnya lebih detail.
C. Maksud dan Tujuan

Memahami perintah-perintah pada Firewall Iptables.
D. Alat dan Bahan
- Laptop
- Jarigan Internet

E. Pembahasan
  IPTABLES adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (trafic) lalulintas data. Secara sederhana digambarkan sebagai pengatur lalulintas data. Dengan iptables inilah kita akan mengatur semua lalulintas dalam komputer kita, baik yang masuk ke komputer, keluar dari komputer, ataupun traffic yang sekedar melewati komputer kita.


Diagram Iptables






Firewall IPTables packet filtering memiliki beberapa aturan (policy), yaitu:

- INPUT
     Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa mengelolakomputer mana saja yang bisa mengakses firewall. misal: hanya komputer IP 192.168.1.100 yang bisa SSHke firewall dan yang lain tidak boleh.

- OUTPUT
     Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.

- FORWARD
     Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak

- POSTROUTING
     yaitu melakukan NAT paket data yang keluar dari firewall, kebanyakan postrouting dipakai untuk translasi alamat IP.

- PREROUTING
     yaitu untuk melakukan NAT paket data yang memasuki firewall, kebanyakan digunakan untuk transparency proxy server dan membangun beberapa server dengan satu IP publik.


Table pada iptables

 


Dalam Iptables terdapat tiga daftar table bawaan yaitu :
  • filter : ini adalah tabel default, mengandung INPUT, OUPUT, dan FORWARD (biasa di sebut chain INPUT, chain OUTPUT, dan chain FORWARD)
  • nat : digunakan untuk membuat gateway, SNAT untuk mengubah alamat IP pengirim, biasanya dijadikan gateway menuju ke internet, DNAT kebalikan dari SNAT
  • mangle : digunakan untuk menandai paket-paket untuk digunakan di proses-proses selanjutnya


Struktur Penulisan IPTABLES : 

      iptables -t [table] command [chain] parameter target

contoh :

      iptables -t filter -A INPUT -s 192.168.1.1 -j DROP



Command pada iptables

     Command dan rule yang dipasang pada iptables (firewall) memiliki ketentuan. Pada dasarnya iptables pada komputer dianggap sebagai TABEL IP sesuai dengan namanya. System hanya akan menjalan rule yang ada pada tabel. Sedangkan rule yang sudah ada pada iptables juga dapat di hapus atau di replace dengan rule lain. Berikut beberapa command untuk penambahan, penghapusan dan operasi sejenisnya yang akan diperlakukan terhadap rule.


Option

     Terdiri dari command, dan parameter serta opsi tambahan :



Parameter
     Membuat satu baris aturan pada iptables menjadi lebih spesifik

-p : protocol

     Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols. Tanda ! bisa digunakan, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan -p ! icmp yang berarti semua kecuali icmp.

Contoh : iptables -A INPUT -p tcp …

iptables -A INPUT -p ! tcp …

-s : source

     Digunakan untuk mencocokkan paket berdasarkan alamat IP asal/sumber. Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau suatu alamat network menggunakan netmask misal 192.168.1.0/255.255.255.0, atau bisa juga ditulis 192.168.1.0/24 yang artinya semua alamat 192.168.1.x. Kita juga bisa menggunakan inversi.

Contoh : iptables -A INPUT -s 192.168.1.3 …

-d : destination

     Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan –s

contoh : iptables -A INPUT -s 192.168.1.3 …

-j : jump

     berguna untuk menentukan nasib paket, apakah paket akan diterima (ACCEPT), ditolak (DROP), dikembalikan (RETURN), dll

contoh : iptables -A INPUT -j DROP

-i : in-interface

     berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD

contoh : iptables -A INPUT -i eth0

-o : out-interface

     Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar. Penggunannya sama dengan -i. Berlaku untuk chain OUTPUT, FORWARD

contoh : iptables -A OUTPUT -o eth1


TARGET

     Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria. Atau sebagai penentu nasib suatu paket

ACCEPT
     setiap paket akan diterima oleh firewall dan akan diteruskan ke tujuan dari paket tersebut

contoh : iptables -A INPUT -p tcp -–dport 80 -j ACCEPT

DROP
     akan membuang setiap paket yang diterima tanpa mengirimkan pesan ke pengirim paket

contoh : iptables -A INPUT -p tcp -–dport 80 -j DROP

RETURN
     akan menolak setiap paket yang diterima tapi firewall akan mengirimkan pesan ICMP errror kepada pengirim paket, defaultnya berupa port-unreachable pesan dapat dirubah misal icmp-net-unreachable, icmp-host-unreachable, icmp-proto-unreachable, icmp-net-prohibited, dll

contoh : iptables -A INPUT -p tcp -–dport 80 -j REJECT –reject-with icmp-net-unreachable

LOG Target
     Ada beberapa option yang bisa digunakan bersamaan dengan target ini. Yang pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err, crit, alert dan emerg.Yang kedua adalah -j LOG –log-prefix yang digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.

Contoh :

iptables –A FORWARD –p tcp –j LOG –log-level debug

iptables –A INPUT –p tcp –j LOG –log-prefix “INPUT Packets”

SNAT Target
     Target ini berguna untuk melakukan perubahan alamat asal dari paket (Source Network Address Translation). Target ini berlaku untuk tabel nat pada kolom POSTROUTING, dan hanya di sinilah SNAT bisa dilakukan. Jika paket pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang sama.

Contoh : iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to-source 194.236.50.155-194.236.50.160:1024-32000

DNAT Target

     Berkebalikan dengan SNAT, DNAT digunakan untuk melakukan translasi field alamat tujuan (Destination Network Address Translation) pada header dari paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau chain buatan yang dipanggil oleh kedua chain tersebut.

Contoh : iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 –dport 80 –j DNAT –to-destination 192.168.0.2

MASQUERADE Target
     Secara umum, target MASQUERADE bekerja dengan cara yang hampir sama seperti target SNAT, tetapi target ini tidak memerlukan option –to-source. MASQUERADE memang didesain untuk bekerja pada komputer dengan koneksi yang tidak tetap seperti dial-up atau DHCP yang akan memberi pada kita nomor IP yang berubah-ubah.

Seperti halnya pada SNAT, target ini hanya bekerja untuk tabel nat pada chain POSTROUTING.

Contoh : iptables –t nat –A POSTROUTING –o eth0 -dport 80 –j MASQUERADE

REDIRECT Target
     Target REDIRECT digunakan untuk mengalihkan jurusan (redirect) paket ke mesin itu sendiri. Target ini umumnya digunakan untuk mengarahkan paket yang menuju suatu port tertentu untuk memasuki suatu aplikasi proxy, lebih jauh lagi hal ini sangat berguna untuk membangun sebuah sistem jaringan yang menggunakan transparent proxy. Contohnya kita ingin mengalihkan semua koneksi yang menuju port http untuk memasuki aplikasi http proxy misalnya squid. Target ini hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau pada chain buatan yang dipanggil dari kedua chain tersebut.

Contoh : iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128

iptables -t nat -A PREROUTING -p tcp -d 0/0 –dport 80 -j REDIRECT –to-port 8080

 
G. Hasil yang didapatkan
Hasilnya dengan memahami konsep pada iptables kita dalam praktek menjadi lebih mudah menerapkan perintahny.
H. Kesimpulan

Sebelum kita melakukan sesuatu kita harus memahami terlebih dahulu apa yang akan kita praktekan.
I. Referensi
Ebook adm_iptables_praktis.pdf
https://en.wikipedia.org/wiki/Firewall_(computing)

Sekian semoga bermanfaat.
Wassalamu'alaikum Wr. Wb.
Previous
Next Post »
Thanks for your comment