Assalamulaikum Wr. Wb.
Pada kesempatan kali ini saya akan share tentang firewall yang biasa digunakan pada debian server, yaitu iptables. Dengan adanya firewall pada server kita ini membuat server kita aman dari serangan-serangan dari luar maupun untuk filtering packet-packet data tertentu. nah untuk lebih lengkapnya yuk kita pahami penjelasan berikut.
A. Pengertian
Firewall adalah suatu aturan yang diterapkan baik terhadap hardware, software atau pun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan melakukan filterisasi, membatasi, ataupun menolak suatu koneksi pada jaringan yang dilindunginya dengan jaringan luar.
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 menetukan apakah ses ihubungan 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
Seiring dengan pesatnya perkembangan teknologi informasi dan komputerisasi, jaringan komputer tentu sangat bermanfaat, antara lain membuat seseorang dapat berkomunikasi dan berhubungan dengan orang lain tanpa mengenal lagi yang namanya jarak. Seseorang telekomputer dapat memiliki lebih dari satu perkerjaaan yang berbeda letak geografisnya dan dapat dilakukannya dengan baik.
Namun, dampak dari perkembangan itu adalah semakin banyaknya permasalahan yang muncul dalam melindungi jaringan komputer dari gangguan luar seperti virus, spam, DOS, dll.
Oleh karena itu, sebuah jaringan komputer pun perlu memiliki ’pagar’ layaknya sebuah rumah. ’Pagar’ yang dapat melindungi tempat vital dalam komunikasi data dan menyimpan komponen penting dalam jaringan komputer.
Dalam istilah komputer, ’pagar’ tersebut sering disebut dengan istilah firewall. Sebuah sistem yang mengizinkan paket data lewat untuk paket yang dianggapnya aman dan menolaknya jika paket data tersebut dianggap tidak aman.
C. Persiapan Software dan Hardware
- Seperangkat komputer PC atau Laptop
- Koneksi Internet
Kegiatan ini bermaksud agar kita mengetahui dan memahami tentang bagaimana cara kerja dari iptables sebagai firewall dalam debian server kita. Sehingga nantinya jka kita sudah paham betul dengan iptables ini, kita dapat mengamankan dan mengelola server kita.
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
F. Referensi
Sumber :
http://aoktox.blogspot.co.id/2014/02/pengertian-iptables-dan-nat.html
http://siteblogforu.blogspot.co.id/2014/02/pengertian-iptables-postrouting.html
https://sarangpenyamun.wordpress.com/2008/12/15/pengantar-iptables/
G. Hasil dan Kesimpulan
Dengan adanya sebuah firewall pada komputer server kita, membuat komputer server kita aman dari serangan luar seperti virus, spam, DOS, dll. Selain itu dengan firewall ini kita dapat dengan mudah mengelola jaringan kita dengan membuat aturan-aturan tertentu untuk setiap hostnya.
Sekian dari saya, mohon maaf sebesar-besarnya jika terdapat banyak kesalahan dalam postingan saya ^-^
Wassalamualikum Wr. Wb.
EmoticonEmoticon