Tugas Akhir Diagnosa LAN
Laporan Tes Ulangan Firewall (AJIE)
Konfigurasi Open Proxy
Filtering Dan Transparent Proxy
Firewall 2 NAT
Firewall 1 Packet Filtering
Ubuntu Free Bds Server
freebsd
freebsd dr klompok lain
Mikrotik
Blog ini ditujukan untuk posting tugas-tugas praKBM saya di jurusan Teknik Komputer & Jaringan SMK Negeri 1 Cimahi
Proxy adalah server yang berfungsi mewakili request yang ingin diteruskan ke Internet, sehingga jika ada request yang tidak diperbolehkan oleh proxy server yang emank udah di-set agar tidak me-redirect beberapa request ke Internet, maka akan langsung diputuskan(DC), oleh proxy server...
Biasanya proxy digunakan di kantor2x, perusahaan2x, yang hanya memperbolehkan karyawannya agar mengakses site2x yang berbau positif..
... sangat aman dari jangkauan beberapa trojan, ...
... sangat aman dari jangkauan beberapa trojan, kecuali trojan Assassin, karena trojan ini menerapkan konsep koneksi terbalik, bukan komputer tersangka yang akan melakukan koneksi, tetapi malahan komputer Anda/target yang akan melakukan koneksi ke komputer tersangka...
PC > ISP > proxy1 > proxy2 >........> proxy ke-n >website tujuan.Pada setiap situs yang dikunjungi baik melalui HTTP, telnet, ataupun FTP mereka bisa mencatat identitas anda, mulai dari browser yg digunakan, url yang dikunjungi, IP yg digunakan, negara asal dll. Jika menggunakan proxy maka IP yang terlog adalah IP proxy tersebut. Dari contoh diatas adalah IP dari proxy ke -n, kalau di trace maka diperoleh IP proxy sebelumnya begitu seterusnya hingga sampai pada IP dari ISP yg digunakan.
http://proxy1.com/-_-http://proxy2.com/-_-http://www.tujuan.com#Cara 2
dimana alamat proxy1 dan proxy2 dipisahkan dengan tanda -_-
Alamat IP versi 6
Alamat IP versi 6 (sering disebut sebagai alamat IPv6) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol IP versi 6. Panjang totalnya adalah 128-bit, dan secara teoritis dapat mengalamati hingga 2128=3,4 x 1038 host komputer di seluruh dunia. Contoh alamat IP versi 6 adalah 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A.
Berbeda dengan IPv4 yang hanya memiliki panjang 32-bit (jumlah total alamat yang dapat dicapainya mencapai 4,294,967,296 alamat), alamat IPv6 memiliki panjang 128-bit. IPv4, meskipun total alamatnya mencapai 4 miliar, pada kenyataannya tidak sampai 4 miliar alamat, karena ada beberapa limitasi, sehingga implementasinya saat ini hanya mencapai beberapa ratus juta saja. IPv6, yang memiliki panjang 128-bit, memiliki total alamat yang mungkin hingga 2128=3,4 x 1038 alamat. Total alamat yang sangat besar ini bertujuan untuk menyediakan ruang alamat yang tidak akan habis (hingga beberapa masa ke depan), dan membentuk infrastruktur routing yang disusun secara hierarkis, sehingga mengurangi kompleksitas proses routing dan tabel routing.
Sama seperti halnya IPv4, IPv6 juga mengizinkan adanya DHCP Server sebagai pengatur alamat otomatis. Jika dalam IPv4 terdapat dynamic address dan static address, maka dalam IPv6, konfigurasi alamat dengan menggunakan DHCP Server dinamakan dengan stateful address configuration, sementara jika konfigurasi alamat IPv6 tanpa DHCP Server dinamakan dengan stateless address configuration.
Seperti halnya IPv4 yang menggunakan bit-bit pada tingkat tinggi (high-order bit) sebagai alamat jaringan sementara bit-bit pada tingkat rendah (low-order bit) sebagai alamat host, dalam IPv6 juga terjadi hal serupa. Dalam IPv6, bit-bit pada tingkat tinggi akan digunakan sebagai tanda pengenal jenis alamat IPv6, yang disebut dengan Format Prefix (FP). Dalam IPv6, tidak ada subnet mask, yang ada hanyalah Format Prefix.
Pengalamatan IPv6 didefinisikan dalam RFC 2373.
Dalam IPv6, alamat 128-bit akan dibagi ke dalam 8 blok berukuran 16-bit, yang dapat dikonversikan ke dalam bilangan heksadesimal berukuran 4-digit. Setiap blok bilangan heksadesimal tersebut akan dipisahkan dengan tanda titik dua (:). Karenanya, format notasi yang digunakan oleh IPv6 juga sering disebut dengan colon-hexadecimal format, berbeda dengan IPv4 yang menggunakan dotted-decimal format.
Berikut ini adalah contoh alamat IPv6 dalam bentuk bilangan biner:
0010000111011010000000001101001100000000000000000010111100111011000000101010101000000000
1111111111111110001010001001110001011010 Untuk menerjemahkannya ke dalam bentuk notasi colon-hexadecimal format, angka-angka biner di atas harus dibagi ke dalam 8 buah blok berukuran 16-bit:
0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010
0000000011111111 1111111000101000 1001110001011010
Lalu, setiap blok berukuran 16-bit tersebut harus dikonversikan ke dalam bilangan heksadesimal dan setiap bilangan heksadesimal tersebut dipisahkan dengan menggunakan tanda titik dua. Hasil konversinya adalah sebagai berikut:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A Alamat di atas juga dapat disederhanakan lagi dengan membuang angka 0 pada awal setiap blok yang berukuran 16-bit di atas, dengan menyisakan satu digit terakhir. Dengan membuang angka 0, alamat di atas disederhanakan menjadi:
21DA:D3:0:2F3B:2AA:FF:FE28:9C5A Konvensi pengalamatan IPv6 juga mengizinkan penyederhanaan alamat lebih jauh lagi, yakni dengan membuang banyak karakter 0, pada sebuah alamat yang banyak angka 0-nya. Jika sebuah alamat IPv6 yang direpresentasikan dalam notasi colon-hexadecimal format mengandung beberapa blok 16-bit dengan angka 0, maka alamat tersebut dapat disederhanakan dengan menggunakan tanda dua buah titik dua (:). Untuk menghindari kebingungan, penyederhanaan alamat IPv6 dengan cara ini sebaiknya hanya digunakan sekali saja di dalam satu alamat, karena kemungkinan nantinya pengguna tidak dapat menentukan berapa banyak bit 0 yang direpresentasikan oleh setiap tanda dua titik dua (:) yang terdapat dalam alamat tersebut. Tabel berikut mengilustrasikan cara penggunaan hal ini.
| Alamat asli | Alamat asli yang disederhanakan | Alamat setelah dikompres |
|
|
|
|
|
|
|
|
Untuk menentukan berapa banyak bit bernilai 0 yang dibuang (dan digantikan dengan tanda dua titik dua) dalam sebuah alamat IPv6, dapat dilakukan dengan menghitung berapa banyak blok yang tersedia dalam alamat tersebut, yang kemudian dikurangkan dengan angka 8, dan angka tersebut dikalikan dengan 16. Sebagai contoh, alamat FF02::2 hanya mengandung dua blok alamat (blok FF02 dan blok 2). Maka, jumlah bit yang dibuang adalah (8-2) x 16 = 96 buah bit.
Dalam IPv4, sebuah alamat dalam notasi dotted-decimal format dapat direpresentasikan dengan menggunakan angka prefiks yang merujuk kepada subnet mask. IPv6 juga memiliki angka prefiks, tapi tidak didugnakan untuk merujuk kepada subnet mask, karena memang IPv6 tidak mendukung subnet mask.
Prefiks adalah sebuah bagian dari alamat IP, di mana bit-bit memiliki nilai-nilai yang tetap atau bit-bit tersebut merupakan bagian dari sebuah rute atau subnet identifier. Prefiks dalam IPv6 direpesentasikan dengan cara yang sama seperti halnya prefiks alamat IPv4, yaitu [alamat]/[angka panjang prefiks]. Panjang prefiks menentukan jumlah bit terbesar paling kiri yang membuat prefiks subnet. Sebagai contoh, prefiks sebuah alamat IPv6 dapat direpresentasikan sebagai berikut:
3FFE:2900:D005:F28B::/64 Pada contoh di atas, 64 bit pertama dari alamat tersebut dianggap sebagai prefiks alamat, sementara 64 bit sisanya dianggap sebagai interface ID.
IPv6 mendukung beberapa jenis format prefix, yakni sebagai berikut:
Jika dilihat dari cakupan alamatnya, alamat unicast dan anycast terbagi menjadi alamat-alamat berikut:
Sementara itu, cakupan alamat multicast dimasukkan ke dalam struktur alamat.
Alamat IPv6 unicast dapat diimplementasikan dalam berbagai jenis alamat, yakni:
Alamat unicast global IPv6 mirip dengan alamat publik dalam alamat IPv4. Dikenal juga sebagai Aggregatable Global Unicast Address. Seperti halnya alamat publik IPv4 yang dapat secara global dirujuk oleh host-host di Internet dengan menggunakan proses routing, alamat ini juga mengimplementasikan hal serupa. Struktur alamat IPv6 unicast global terbagi menjadi topologi tiga level (Public, Site, dan Node).
| Field | Panjang | Keterangan |
|
| 3 bit | Berfungsi sebagai tanda pengenal alamat, bahwa alamat ini adalah sebuah alamat IPv6 Unicast Global. |
| Top Level Aggregation Identifier (TLA ID) | 13 bit | Berfungsi sebagai level tertinggi dalam hierarki routing. TLA ID diatur oleh Internet Assigned Name Authority (IANA), yang mengalokasikannya ke dalam daftar Internet registry, yang kemudian mengolasikan sebuah TLA ID ke sebuah ISP global. |
| Res | 8 bit | Direservasikan untuk penggunaan pada masa yang akan datang (mungkin untuk memperluas TLA ID atau NLA ID). |
| Next Level Aggregation Identifier (NLA ID) | 24 bit | Berfungsi sebagai tanda pengenal milik situs (site) kustomer tertentu. |
| Site Level Aggregation Identifier (SLA ID) | 16 bit | Mengizinkan hingga 65536 (216) subnet dalam sebuah situs individu. SLA ID ditetapkan di dalam sebuah site. ISP tidak dapat mengubah bagian alamat ini. |
| Interface ID | 64 bit | Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik (yang ditentukan oleh SLA ID). |
Alamat unicast site-local IPv6 mirip dengan alamat privat dalam IPv4. Ruang lingkup dari sebuah alamat terdapat pada Internetwork dalam sebuah site milik sebuah organisasi. Penggunaan alamat unicast global dan unicast site-local dalam sebuah jaringan adalah mungkin dilakukan. Prefiks yang digunakan oleh alamat ini adalah FEC0::/48.
| Field | Panjang | Keterangan |
|
| 48 bit | Nilai ketetapan alamat unicast site-local |
| Subnet Identifier | 16 bit | Mengizinkan hingga 65536 (216) subnet dalam sebuah struktur subnet datar. Administrator juga dapat membagi bit-bit yang yang memiliki nilai tinggi (high-order bit) untuk membuat sebuah infrastruktur routing hierarkis. |
| Interface Identifier | 64 bit | Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik. |
Alamat unicast link-local adalah alamat yang digunakan oleh host-host dalam subnet yang sama. Alamat ini mirip dengan konfigurasi APIPA (Automatic Private Internet Protocol Addressing) dalam sistem operasi Microsoft Windows XP ke atas. host-host yang berada di dalam subnet yang sama akan menggunakan alamat-alamat ini secara otomatis agar dapat berkomunikasi. Alamat ini juga memiliki fungsi resolusi alamat, yang disebut dengan Neighbor Discovery. Prefiks alamat yang digunakan oleh jenis alamat ini adalah FE80::/64.
| Field | Panjang | Keterangan |
|
| 64 bit | Berfungsi sebagai tanda pengenal alamat unicast link-local. |
| Interface ID | 64 bit | Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik. |
Alamat unicast yang belum ditentukan adalah alamat yang belum ditentukan oleh seorang administrator atau tidak menemukan sebuah DHCP Server untuk meminta alamat. Alamat ini sama dengan alamat IPv4 yang belum ditentukan, yakni 0.0.0.0. Nilai alamat ini dalam IPv6 adalah 0:0:0:0:0:0:0:0 atau dapat disingkat menjadi dua titik dua (::).
Alamat unicast loopback adalah sebuah alamat yang digunakan untuk mekanisme interprocess communication (IPC) dalam sebuah host. Dalam IPv4, alamat yang ditetapkan adalah 127.0.0.1, sementara dalam IPv6 adalah 0:0:0:0:0:0:0:1, atau ::1.
Alamat unicast 6to4 adalah alamat yang digunakan oleh dua host IPv4 dan IPv6 dalam Internet IPv4 agar dapat saling berkomunikasi. Alamat ini sering digunakan sebagai pengganti alamat publik IPv4. Alamat ini aslinya menggunakan prefiks alamat 2002::/16, dengan tambahan 32 bit dari alamat publik IPv4 untuk membuat sebuah prefiks dengan panjang 48-bit, dengan format 2002:WWXX:YYZZ::/48, di mana WWXX dan YYZZ adalah representasi dalam notasi colon-decimal format dari notasi dotted-decimal format w.x.y.z dari alamat publik IPv4. Sebagai contoh alamat IPv4 157.60.91.123 diterjemahkan menjadi alamat IPv6 2002:9D3C:5B7B::/48.
Meskipun demikian, alamat ini sering ditulis dalam format IPv6 Unicast global address, yakni 2002:WWXX:YYZZ:SLA ID:Interface ID.
Alamat Unicast ISATAP adalah sebuah alamat yang digunakan oleh dua host IPv4 dan IPv6 dalam sebuah Intranet IPv4 agar dapat saling berkomunikasi. Alamat ini menggabungkan prefiks alamat unicast link-local, alamat unicast site-local atau alamat unicast global (yang dapat berupa prefiks alamat 6to4) yang berukuran 64-bit dengan 32-bit ISATAP Identifier (0000:5EFE), lalu diikuti dengan 32-bit alamat IPv4 yang dimiliki oleh interface atau sebuah host. Prefiks yang digunakan dalam alamat ini dinamakan dengan subnet prefix. Meski alamat 6to4 hanya dapat menangani alamat IPv4 publik saja, alamat ISATAP dapat menangani alamat pribadi IPv4 dan alamat publik IPv4.
Alamat multicast IPv6 sama seperti halnya alamat multicast pada IPv4. Paket-paket yang ditujukan ke sebuah alamat multicast akan disampaikan terhadap semua interface yang dikenali oleh alamat tersebut. Prefiks alamat yang digunakan oleh alamat multicast IPv6 adalah FF00::/8.
| Field | Panjang | Keterangan |
|
| 8 bit | Tanda pengenal bahwa alamat ini adalah alamat multicast. |
| Flags | 4 bit | Berfungsi sebagai tanda pengenal apakah alamat ini adalah alamat transient atau bukan. Jika nilainya 0, maka alamat ini bukan alamat transient, dan alamat ini merujuk kepada alamat multicast yang ditetapkan secara permanen. Jika nilainya 1, maka alamat ini adalah alamat transient. |
| Scope | 4 bit | Berfungsi untuk mengindikasikan cakupan lalu lintas multicast, seperti halnya interface-local, link-local, site-local, organization-local atau global. |
| Group ID | 112 bit | Berfungsi sebagai tanda pengenal group multicast |
Alamat Anycast dalam IPv6 mirip dengan alamat anycast dalam IPv4, tapi diimplementasikan dengan cara yang lebih efisien dibandingkan dengan IPv4. Umumnya, alamat anycast digunakan oleh Internet Service Provider (ISP) yang memiliki banyak klien. Meskipun alamat anycast menggunakan ruang alamat unicast, tapi fungsinya berbeda daripada alamat unicast.
IPv6 menggunakan alamat anycast untuk mengidentifikasikan beberapa interface yang berbeda. IPv6 akan menyampaikan paket-paket yang dialamatkan ke sebuah alamat anycast ke interface terdekat yang dikenali oleh alamat tersebut. Hal ini sangat berbeda dengan alamat multicast, yang menyampaikan paket ke banyak penerima, karena alamat anycast akan menyampaikan paket kepada salah satu dari banyak penerima.
Sumber: Wikipedia
Dengan menggunakan IPTables, Anda dapat membuat firewall yang cukup canggih dengan program open source yang bisa dengan mudah Anda dapatkan di Internet. Memang perlu diakui, firewall dengan menggunakan IPTables cukup sulit bagi pemula baik di bidang networking maupun pemula di bidang operating system Linux. Namun jika Anda pelajari lebih lanjut, sebenarnya firewall ini memiliki banyak sekali fitur dan kelebihan yang luar biasa.
IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.
Kenapa Harus IPTABLES ?
IPTables merupakan sebuah fasilitas tambahan yang tersedia pada setiap perangkat komputer yang diinstali dengan sistem operasi Linux dan resmi diluncurkan untuk massal pada LINUX 2.4 kernel pada January 2001 (www.netfilter.org). Anda harus mengaktifkannya terlebih dahulu fitur ini pada saat melakukan kompilasi kernel untuk dapat menggunakannya. IPTables merupakan fasilitas tambahan yang memiliki tugas untuk menjaga keamanan perangkat komputer anda dalam jaringan. Atau dengan kata lain, IPTables merupakan sebuah firewall atau program IP filter build-in yang disediakan oleh kernel Linux untuk tetap menjaga agar perangkat anda aman dalam berkomunikasi.
Fitur yang dimiliki IPTables:
1. Connection Tracking Capability yaitu kemampuan unutk inspeksi paket serta bekerja dengan icmp dan udp sebagaimana koneksi TCP.
2. Menyederhanakan perilaku paket-paket dalam melakukan negosiasi built in chain (input,output, dan forward).
3. Rate-Limited connection dan logging capability. Kita dapat membatasi usaha-usaha koneksi sebagai tindakan preventif serangan Syn flooding denial of services(DOS).
4. Kemampuan untuk memfilter flag-flag dan opsi tcp dan address-address MAC.
Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:
Perjalanan paket yang diforward ke host yang lain
1. Paket berada pada jaringan fisik.
2. Paket masuk ke interface jaringan.
3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi untuk me- mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-lain.
4. Paket masuk ke chain PREROUTING pada tabel NAT. Chain ini fungsi utamanya untuk melakukan DNAT (Destination Network Address Translation).
5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.
6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.
7. Paket masuk ke chain POSTROUTING pada tabel NAT. Chain ini berfungsi utamanya untuk melakukan SNAT (Source Network Address Translation).
8. Paket keluar menuju interface jaringan.
9. Paket kembali berada pada jaringan fisik.
Perjalanan paket yang ditujukan bagi host lokal
1. Paket berada dalam jaringan fisik.
2. Paket masuk ke interface jaringan.
3. Paket masuk ke chain PREROUTING pada tabel mangle.
4. Paket masuk ke chain PREROUTING pada tabel NAT.
5. Paket mengalami keputusan routing.
6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.
7. Paket akan diterima oleh aplikasi lokal.
Perjalanan paket yang berasal dari host lokal
1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
2. Paket memasuki chain OUTPUT pada tabel mangle.
3. Paket memasuki chain OUTPUT pada tabel NAT.
4. Paket memasuki chain OUTPUT pada tabel filter.
5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.
6. Paket masuk ke chain POSTROUTING pada tabel NAT.
7. Paket masuk ke interface jaringan
8. Paket berada pada jaringan fisik.
Instalasi IPTables
Untuk Melakukan instalasi IPTABLES di computer Linux, kita akan memerlukan kernel versi 2.4.x atau diatasnya. Distribusi Linux belakangan ini sudah menggunakan kernel 2.4.x (bahkan 2.6.x) sudah mendukung paket filter untuk firewall. Maka dari itu kita tidak perlu repot melakukan kompilasi kernel agar IPTables bekerja dengan baik di computer linux .
Kernel Sendiri terdiri dari dua macam, modularized kernel dan monolithic kernel. Saat linux pertama kali diinstal, model kernel yang dimilikinya adalah modularized, jadi kita bisa mengelurakan modu-modul yang kita butuhkan tanpa harus melakukan kompilasi kernel.Bila kita tetap ingin melakukan kompilasi kernel untuk mengoptimasi server linux kita maka IPTABLES membutuhkan beberapa opsi dalam kernel yang harus dipilih dan ini dapat anda dapatkan di buku tutorial IPtabales dan internet karena pada jurnal ini tidak saya lampirkan.
Syntax Pada IPTables:
1. Table
IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut :
1. NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.
2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
3. FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT
2. Command
Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain.
3. Option
Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah.
4. Generic Matches
Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.
5. Implicit Matches
Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.
a. TCP matches

b. UDP Matches
Karena bahwa protokol UDP bersifat connectionless, maka tidak ada flags yang mendeskripsikan status paket untuk untuk membuka atau menutup koneksi. Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match untuk protokol UDP lebih sedikit daripada TCP
Ada dua macam match untuk UDP:
–sport atau –source-port
–dport atau –destination-port
c. ICMP Matches
Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-kondisi jaringan yang lain. Hanya ada satu implicit match untuk tipe protokol ICMP, yaitu : –icmp-type
6. Explicit Matches
a. MAC Address
Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang menggunakan teknologi ethernet.
iptables –A INPUT –m mac –mac-source 00:00:00:00:00:01
b. Multiport Matches
Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita tidak bisa menggunakan port matching standard dan multiport matching dalam waktu yang bersamaan.
iptables –A INPUT –p tcp –m multiport –source-port 22,53,80,110
c. Owner Matches
Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak memiliki owner (??).
iptables –A OUTPUT –m owner –uid-owner 500
Kita juga bisa memfilter berdasarkan group ID dengan sintaks –gid-owner. Salah satu penggunannya adalah bisa mencegah user selain yang dikehendaki untuk mengakses internet misalnya.
d. State Matches
Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah tersambung dan paket-paketnya merupakan bagian dari koneki tersebut. RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari koneksi yang ada.
iptables –A INPUT –m state –state RELATED,ESTABLISHED
7. Target/Jump
Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain input.
iptables –A INPUT –p tcp –j tcp_packets
Beberapa target yang lain biasanya memerlukan parameter tambahan:
a. 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.
iptables –A FORWARD –p tcp –j LOG –log-level debug
iptables –A INPUT –p tcp –j LOG –log-prefix “INPUT Packets”
b. REJECT Target
Secara umum, REJECT bekerja seperti DROP, yaitu memblok paket dan menolak untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan mengirimkan error message ke host pengirim paket tersebut. REJECT bekerja pada chain INPUT, OUTPUT dan FORWARD atau pada chain tambahan yang dipanggil dari ketiga chain tersebut.
iptables –A FORWARD –p tcp –dport 22 –j REJECT –reject-with icmp-host-unreachable
Ada beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unrachable, icmp-net-prohibited dan icmp-host-prohibited.
c. SNAT Target
Target ini berguna untuk melakukan perubahan alamat asal dari paket (Source Network Address Translation). Target ini berlaku untuk tabel nat pada chain 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.
iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to-source 194.236.50.155-194.236.50.160:1024-32000
d. 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.
iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 –dport 80 –j DNAT –to-destination 192.168.0.2
e. 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.
iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
f. 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.
Sumber :
1. Muhar Syarif, IPTables.doc
3. http://garfield-cisco.blogspot.com/2007/08/dasar-iptables.html
4. http://www.pcmedia.co.id