Anda di halaman 1dari 104

1

TUTORIAL INTERAKTIF SISTEM KEAMANAN JARINGAN BERBASIS OPEN SOURCE

Direktorat Sistem Informasi, Perangkat Lunak Dan Konten Direktorat Jenderal Aplikasi Telematika Departemen Komunikasi Dan Informatika 2006

KATA PENGANTAR
Kemajuan teknologi informasi dan komunikasi menyebabkan ketergantungan manusia terhadap teknologi ini. Hampir seluruh kegiatan manusia menjadi lebih mudah melalui pemanfaatan teknologi informasi dan komunikasi. Sebagai contoh, kegiatan perkantoran seperti surat menyurat, pertukaran dokumen dan penyimpanan dokumen melalui penggunaan sistem jaringan Server-Client menjadi lebih efisien, baik dalam hitungan waktu maupun biaya. Sayangnya seiring dengan peningkatan pemanfaatan teknologi informasi ini, masalah keamanan jaringan belum mendapat perhatian yang serius. Padahal, kurangnya perhatian pada keamanan informasi berisiko terhadap hilangnya informasi yang berakibat kepada kerugian yang sangat tinggi. Kurangnya perhatian terhadap masalah kemanan jaringan belum tentu disebabkan karena kurangnya kesadaran akan pentingnya informasi, namun dapat disebabkan oleh kurangnya pengetahuan terhadap faktor yang harus diperhatikan serta cara menjaga keamanan jaringan sistem informasi. Untuk membantu masyarakat khususnya pengguna teknologi informasi dalam menangani masalah keamanan jaringan, maka Direktorat Sistem Informasi, Perangkat Lunak dan Konten membuat Tutorial Interaktif Keamanan Jaringan Sistem Informasi Berbasis Open Source.

Buku ini disusun secara interaktif dan tahap demi tahap, sehingga pembaca dengan bantuan CD-ROM interaktif terlampir dapat langsung membuat aplikasi keamanan jaringan yang telah disiapkan tanpa harus bertanya kepada instruktur. Departemen Komunikasi dan Informatika akan terus memperbaiki dan mengembangkan Tutorial Interaktif ini guna memenuhi aspek keamanan informasi dalam menghadapi berbagai ancaman serangan terhadap teknologi informasi. Saran dan masukan terhadap buku ini sangat diharapkan sehingga dapat membantu untuk menyempurnakan penulisan selanjutnya. Korespondensi ditujukan ke alamat e-mail: ksi_ditsiplk@depkominfo.go.id Semoga bermanfaat! Jakarta, Desember 2006 Lolly Amalia Abdullah Direktur Sistem Informasi, Perangkat Lunak dan Konten

DAFTAR ISI
DIREKTORAT SISTEM INFORMASI, PERANGKAT LUNAK DAN KONTEN.......................................................................................2 DAFTAR ISI...........................................................................................5 DAFTAR GAMBAR..............................................................................7 ARSITEKTUR SISTEM KEAMANAN JARINGAN.........................8 VIRTUAL PRIVATE NETWORK ...................................................10 Instalasi OpenSwan......................................................................12 Konfigurasi OpenSwan.................................................................13 VPN Client menggunakan Windows.............................................26 REFERENSI..................................................................................33 DEMILITERIZED ZONE (DMZ)......................................................34 Konfigurasi Firewall dengan Iptables..........................................38 Konfigurasi Firewall luar.............................................................40 Konfigurasi Firewall dalam ........................................................48 Menjalankan Iptables.script.........................................................56 REFERENSI..................................................................................57 PROXY SERVER.................................................................................58 Instalasi Squid Proxy Server........................................................60 Konfigurasi Squid.........................................................................61 Konfigurasi Squid Access Control List.........................................66 Konfigurasi Pengaturan Bandwidth dengan Delay Pools............70 Authentikasi Proxy Server............................................................72 Instalasi Squidguard.....................................................................76 Konfigurasi Squidguard................................................................76 .....................................................................................................76 .....................................................................................................76 root@Gateway:~# cd /var/lib/squidguard/db..............................77

root@Gateway:~# mkdir adult.....................................................77 root@Gateway:~# touch adult/domains......................................77 root@Gateway:~# vi adult/domains............................................77 playboy.com..................................................................................77 xxx.com.........................................................................................77 root@Gateway:~# cd /var/lib/squidguard/db..............................77 root@Gateway:~# mkdir dilarang...............................................77 root@Gateway:~# touch dilarang/domains.................................77 root@Gateway:~# vi dilarang/domains.......................................77 dowload.com.................................................................................78 napster.com...................................................................................78 Integrasi Squid dan Squidguard...................................................79 Menjalankan Squid.......................................................................79 REFERENSI..................................................................................80 INTRUSION DETECTION SYSTEM...............................................81 Instalasi SNORT...........................................................................87 Konfigurasi SNORT......................................................................87 REFERENSI..................................................................................89 MULTI ROUTER TRAFFIC GRAPH..............................................90 Instalasi MRTG.............................................................................92 Konfigurasi MRTG.......................................................................92 REFERENSI..................................................................................96 BANDWIDTH MANAGEMENT.......................................................97 Konfigurasi.................................................................................100 REFERENSI................................................................................104

DAFTAR GAMBAR
GAMBAR 1 - ARSITEKTUR SISTEM KEAMANAN JARINGAN 8 GAMBAR 2 - ARSITEKTUR VPN....................................................11 GAMBAR 3 PEMBUATAN KONFIGURASI KONEKSI............26 GAMBAR 4 - PEMBUATAN KONFIGURASI KONEKSI VPN. . .27 GAMBAR 5 - KONFIGURASI NAMA KONEKSI VPN................28 GAMBAR 6 - KONFIGURASI KONEKTIFITAS VPN..................29 GAMBAR 7 - KONFIGURASI ALAMAT VPN GATEWAY.........30 GAMBAR 8 - SELESAI KONFIGURASI VPN................................31 GAMBAR 9 - TAMPILAN LOGIN KE SUATU VPN.....................32 GAMBAR 10 - FIREWALL................................................................35 GAMBAR 11 - TOPOLOGI DMZ......................................................37 GAMBAR 12 - TOPOLOGI PROXY SERVER...............................59 GAMBAR 13 - ARSITEKTUR PENGGUNAAN IDS......................83 GAMBAR 14 - HIRARKI PEMBAGIAN BANDWIDTH.............101

Arsitektur Sistem Keamanan Jaringan

LAN INTERNET Account server Domain Controller (openLDAP server) (SAMBA server)

Firewall IDS server DMZ

Firewall

VPN & IDS server

User Proxy server

FTP server Email server Web server

DNS & DHCP File server server

Gambar 1 - Arsitektur Sistem Keamanan Jaringan

Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi. Namun masalah keamanan ini sering kali kurang mendapat perhatian dari para pemilik dan pengelola sistem informasi. Seringkali masalah keamanan berada di urutan kedua, atau bahkan di urutan terakhir dalam daftar hal-hal yang dianggap penting. Apabila menggangu performansi dari sistem, seringkali keamanan dikurangi atau ditiadakan. Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting. Sangat pentingnya nilai sebuah informasi menyebabkan seringkali informasi diinginkan hanya boleh diakses oleh orang-orang

tertentu. Jatuhnya informasi ke tangan pihak lain dapat menimbulkan kerugian bagi pemilik informasi. Terhubungnya LAN atau komputer ke Internet membuka potensi adanya lubang keamanan (security hole) yang tadinya bisa ditutupi dengan mekanisme keamanan secara fisik. Ini sesuai dengan pendapat bahwa kemudahan (kenyamanan) mengakses informasi berbanding terbalik dengan tingkat keamanan sistem informasi itu sendiri. Semakin tinggi tingkat keamanan, semakin sulit (tidak nyaman) untuk mengakses informasi.

Virtual Private Network

10

VPN merupakan suatu bentuk jaringan privat yang melalui jaringan publik (internet), dengan menekankan pada keamanan data dan akses global melalui internet. Hubungan ini dibangun melalui suatu tunnel (terowongan) virtual antara 2 node. Dengan menggunakan jaringan publik ini, user dapat tergabung dalam jaringan lokal, mendapatkan hak dan pengaturan yang sama seperti ketika user berada di kantor.

INTRANET

USER

Account Server IDS Tunnel INTERNET

SERVER

VPN Client

VPN Server

Gambar 2 - Arsitektur VPN

VPN dapat terjadi antara dua end-system atau dua PC atau bisa juga antara dua atau lebih jaringan yang berbeda. VPN dapat dibentuk dengan menggunakan teknologi tunneling dan encryption. Koneksi VPN juga dapat terjadi pada semua layer pada protokol OSI, sehingga user dapat membuat komunikasi VPN untuk apapun keperluan user. Dengan demikian, VPN juga dapat dikategorikan sebagai infrastruktur WAN alternatif untuk

11

mendapatkan koneksi point-to-point pribadi antara user dengan tujuan. Ini dilakukan dengan menggunakan media apa saja, tanpa perlu media leased line atau frame relay. Openswan merupakan aplikasi VPN yang mengimplementasikan protokol IPsec (IP Security) di linux yang mensupport kernel 2.0, 2.2, 2.4 dan 2.6. IPsec menyediakan layanan enkripsi dan otentikasi pada level IP, sehingga IPsec dapat memproteksi semua trafik yang dilewatkan melalui IP.

Instalasi OpenSwan
Untuk instalasi OpenSwan gunakan perintah berikut :
root@Gateway:~# apt-get install openswan

12

Konfigurasi OpenSwan
Edit file konfigurasi dari openssl /etc/ssl/openssl.cnf untuk menentukan besar bits yang akan dienkripsi dan masa validasi dari koneksi VPN ini.
root@Gateway:~# vi /etc/ssl/openssl.cnf

Default_days Default_crl_days Default_md Preserver [ req ] default_bits default_keyfile distinguished_name attributes x509_extensions

= = = = = = = = =

3650 30 md5 no 2048 privkey.pem req_distinguished_name req_attributes v3_ca

Dalam hal ini, ubah nilai default enkripsi 1024 bits menjadi 2048 bits dan masa validasi dari 365 hari menjadi 3650 hari. Ubah konfigurasi pada /usr/lib/ssl/misc/CA.sh untuk disesuaikan dangan konfigurasi openssl di atas.
root@Gateway:~# vi /usr/lib/ssl/misc/CA.sh

13

Ubahlah masa validasi menjadi 3650 hari.


DAYS=-days 3650 REQ=openssl req $SSLEAY_CONFIG CA=openssl ca $SSLEAY_CONFIG VERIFY=openssl verify X509=openssl x509

Buat direktori untuk menampung semua file konfigurasi VPN :


root@Gateway:~# mkdir /var/sslca root@Gateway:~# chmod 700 /var/sslca

Buat sertifikasi CA (Certificate Authority) baru. Agar semua file konfigurasi masuk direktori yang diinginkan /var/sslca, maka harus masuk ke direktori tersebut. Kemudian lakukan proses pembuatan CA baru.
root@Gateway:~# cd /var/sslca root@Gateway:~# /usr/lib/ssl/misc/CA.sh newca

Isilah identitas dari CA sesuai dengan kehendak. Pengisian ini persis dilakukan pada saat proses instalasi open SSL. Setelah CA terbentuk, maka dilajutkan dengan pembuatan sertifikasi OpenSwan.
root@Gateway:~# /usr/lib/ssl/misc/CA.sh newreq

14

Setelah sertifikasi terbentuk, maka tandai sertifikasi tersebut dengan CA yang telah dibuat sebelumnya.
root@Gateway:~# /usr/lib/ssl/misc/CA.sh sign

Kemudian pilih Y (Yes) untuk mengakhiri proses pembuatan signature. Agar lebih mudah diingat, maka nama-nama konfigurasi di atas dapat diubah sesuai kebutuhan.
root@Gateway:~# mv /var/sslca/newcert.pem /var/sslca/mycert.pem root@Gateway:~# mv /var/sslca/newreq.pem /var/sslca/mycert.key

Edit /etc/ipsec.secrets
root@Gateway:~# vi /etc/ipsec.secrets

Ubah option berikut dengan :


$ipses.secrets: : RSA vpnku.key qwerty

Isikan password yang diinginkan, password harus sama dengan password pada saat membuat newca dan newreq.

15

Kemudian kita mulai mengkonfigurasi file konfigurasi OpenSwan adalah /etc/ipsec.conf. Edit file tersebut dengan perintah :
root@Gateway:~# vi /etc/ipsec.conf

Kemudian tambahkan option berikut pada file tersebut

16

Version 2.0 # /etc/ipsec.conf

config setup interface=&defaultroute nat_traversal=yes virtual_private= %v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/1 6 config %default keyingtries=1 compress=yes disablearrivalcheck=no authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert

conn

roadwarrior-net leftsubnet=192.168.1.0/24 also=roadwarrior conn roadwarrior left=%defaultroute leftcert=mycert.pem right=%any rightsubnet=vhost:%no,%priv auto=add pfs=yes conn roadwarrior-l2tp pfs=no leftprotoport=17/1701 rightprotoport=17/1701 also=roadwarrior

17

conn roadwarrior-l2tp-updatedwin pfs=no leftprotoport=17/1701 rightprotoport=17/1701 also=roadwarrior conn roadwarrior-all leftsubnet=0.0.0.0/0 also=roadwarrior conn block auto=ignore conn private auto=ignore

18

conn private-or-clear auto=ignore conn clear-or-private auto=ignore conn clear auto=ignore conn packetdefault auto=ignore

Untuk konfigurasi VPN klien, konfigurasikan sebagai berikut Edit file/etc/ipsec.secrets :


root@Gateway:~# vi /etc/ipsec.secrets

Ubah option berikut dengan :


$ipsec.secrets: : RSA vpnku.key 123456

Kemudian kita mulai mengkonfigurasi file konfigurasi OpenSwan adalah /etc/ipsec.conf. Edit file tersebut dengan perintah :
root@Gateway:~# vi /etc/ipsec.conf

Tambahkan option berikut pada file tersebut :

19

# Version 2.0 # /etc/ipsec.conf

config setup interface=&defaultroute nat_traversal=yes config %default keyingtries=1 compress=yes authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert conn roadwarrior-net leftsubnet=192.168.1.0/255.255.255.0 also=roadwarrior

20

conn roadwarrior left=(202.65.87.2) leftcert=clinet.pem right=%default rightcert=mycer.pem auto=add pfs=yes conn block auto=ignore conn private auto=ignore conn private-or-clear auto=ignore conn clear-or-private auto=ignore conn clear auto=ignore conn packetdefault auto=ignore

Untuk menjalankan service openSwan secara daemon, jalankan perintah:


root@Gateway:~# ipsec auto --up roadwarior

21

Layer 2 Tunneling Protocol Instalasi L2TPD Konfigurasi L2TPD [global]


port = 1701 [lns default] ip range = 192.168.2.100-192.168.2.150 local ip = 192.168.2.252 require chap = yes refuse pap = yes require authentication = yes name = VPNDEPKOMINFO ppp debug = yes pppoptfile = /etc/ppp/options.l2tpd length bit = yes port adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi nomor port yang digunakan oleh L2TP untuk membuka layanan tunneling. ppp debug adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi apakah seluruh hasil laporan kegiatan yang dilakukan oleh service ppp.

22

pppoptfile adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi lokasi file konfigurasi yang menghubungkan antara service L2TPD dan PPP. name adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi nama dari VPN yang dibuat oleh layanan L2TPD. ip range adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi jangkauan alamat Internet Protocol yang akan digunakan pada Virtual Private Network.

local ip adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi alamat Internet Protocol server VPN gateway yang memberikan akses antara VPN dan jaringan lokal. require chap adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi apakah service L2TP memerlukan mekanisme authentikasi CHAP atau tidak. require authentication adalah attribut konfigurasi L2TPD yang berfungsi untuk memberikan informasi apakah service L2TP memerlukan mekanisme authentikasi atau tidak.

23

Point to Point Protocol (PPP) Instalasi PPP


Untuk melakukan instalasi point to point protocol pada sistem operasi linux distribusi debian, jalankan perintah sebagai berikut:

root@server:~# apt-get install ppp

Konfigurasi PPP require-mschap-v2


ipcp-accept-local

ms-dns 192.168.1.1

ipcp-accept-remote auth crtscts idle 1800 mtu 1400 mru 1400 nodefaultroute nodetach debug lock connect-delay 5000 dump logfd 2 logfile /var/log/l2tpd.log allow-ip 192.168.2.100-192.168.2.150

24

ms-dns adalah attribut konfigurasi yang berfungsi untuk memberikan informasi alamat IP dari server domain name service yang dapat digunakan. idle adalah attribut konfigurasi yang berfungsi untuk

memberikan informasi berapa nilai maksimum waktu tunggu yang akan dilakukan oleh ppp hingga terjadi aktifitas pada koneksi antara server dan client. Satuan yang umum digunakan oleh attribut idle adalah detik. require-mschap-v2 adalah attribut konfigurasi yang berfungsi untuk memberikan informasi algoritma authentikasi standard yang digunakan pada protocol. logfile adalah attribut konfigurasi yang berfungsi untuk

memberikan informasi file yang digunakan sebagai media penyimpanan log layanan l2tpd.

25

VPN Client menggunakan Windows


Untuk membuat sebuah konfigurasi awal agar sebuah komputer client berbasis windows dapat bergabung dengan suatu VPN (Virtual Private Networks) lakukan langkah langkah sebagai berikut:

Gambar 3 Pembuatan konfigurasi koneksi

26

Gambar 4 - Pembuatan Konfigurasi Koneksi VPN Gambar diatas menampilkan suatu pilihan sebuah konfigurasi awal sebuah koneksi, pilihlah opsi kedua yaitu sebuah koneksi Virtual Private Network (VPN).

27

Gambar 5 - Konfigurasi Nama Koneksi VPN Gambar diatas menampilkan sebuah konfigurasi yang berfungsi untuk memberikan suatu nama terhadap hasil konfigurasi yang akan dibuat. Nilai yang dimasukkan pada attribut konfigurasi tersebut akan muncul dan menjadi pembeda pada bagian koneksi network pada sistem operasi windows.

28

Gambar 6 - Konfigurasi Konektifitas VPN Gambar diatas menampilkan sebuah pilihan apakah pada saat komputer client ingin bergabung pada sebuah Virtual Private Network diharuskan untuk bergabung pada suatu jaringan umum atau tidak. Jika opsi yang pertama dipilih, maka komputer client tidak akan membuka koneksi jaringan publik sebelum membuka jaringan VPN. Namun apabila opsi kedua yang dipilih, maka komputer client akan membuka koneksni jaringan publik sebelum membuka koneksi terhadap jaringan VPN.

29

Gambar 7 - Konfigurasi Alamat VPN Gateway Gambar diatas menampilkan sebuah konfigurasi yang berfungsi untuk memberikan informasi alamat Internet Protocol (IP) yang dimiliki oleh sebuah VPN Gateway. Alamat tersebut akan menjadi acuan kepada komputer client untuk membuka koneksi jaringan pertama kali, sebelum melakukan proses authentikasi.

30

Gambar 8 - Selesai Konfigurasi VPN Setelah selesai melakukan pembuatan konfigurasi awal koneksi VPN, hal selanjutnya yang dapat dilakukan adalah membuka koneksi antara client dan VPN Gateway. Pada umumnya, untuk melakukan proses pendaftaran komputer client pada suatu jaringan diperlukan mekanisme authentikasi. Data authentikasi tersebut pada umumnya disimpan pada VPN gateway dan apabila proses authentikasi antara client dan gateway berhasil, maka komputer dapat tergabung pada jaringan tersebut. Untuk membuka koneksi ke sebuah VPN dengan menggunakan window jalankan konfigurasi yang telah

31

dibuat sebelumnya, apabila pengguna menjalankan konfigurasi tersebut maka akan tampil gambar berikut ini:

Gambar 9 - Tampilan Login ke suatu VPN

32

REFERENSI 1. 2. FreeS/WAN Documentation http://www.freeswan.org de Leeuw , Jacco. Using a Linux L2TP/IPsec VPN server. http://www.jacco2.dds.nl/networking/freeswanl2tp.html 3. 4. dashnu, Howto l2tp/IPsec VPNServer (PSK MS-Chap for now). http://forums.gentoo.org/ Purnomo, Dicky Wahyu. Membuat VPN Server di Linux. http://massaint.or.id/2005/08/07/bikin-vpn-server-dilinux/ 5. OpenVPN 2.0 HOWTO. http://openvpn.net/howto.html

33

Demiliterized Zone (DMZ)

34

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. Segmen tersebut dapat merupakan sebuah workstation, server, router, atau local area network (LAN).

INTERNET

INTERNAL Firewall

Gambar 10 - Firewall Firewall mempunyai beberapa tugas : Mengimplementasikan kebijakan keamanan di jaringan (site security policy). Jika aksi tertentu tidak diperbolehkan oleh kebijakan ini, maka firewall harus mengagalkannya. Dengan demikian, semua akses ilegal antar jaringan (tidak diotorisasikan) akan ditolak. Melakukan filtering dengan mewajibkan semua traffik yang ada untuk dilewatkan melalui firewall bagi semua proses pemberian dan pemanfaatan layanan informasi.

35

Aliran

paket

data

dari/menuju

firewall,

diseleksi

berdasarkan IP address, nomor port atau tujuannya, dan disesuaikan dengan kebijakan security. Mencatat insiden-insiden yang mencurigakan berupa usaha-usaha menembus kebijakan keamanan. Merencanakan sistem firewall pada jaringan, berkaitan erat dengan jenis fasilitas apa yang akan disediakan bagi para pemakai, sejauh mana level resiko-security yang bisa diterima, serta berapa banyak waktu, biaya dan keahlian yang tersedia (faktor teknis dan ekonomis). Firewall umumnya terdiri dari bagian filter (disebut juga screen atau choke) dan bagian gateway (gate). Filter berfungsi untuk membatasi akses, mempersempit kanal, atau untuk memblok kelas trafik tertentu. Terjadinya pembatasan akses, berarti akan mengurangi fungsi jaringan. Firewall pada Linux menggunakan Iptables. Iptables mampu memblok atau meneruskan paket berdasarkan IP address, protokol, port. Iptables sudah terinstal saat kita melakukan instalasi Linux di komputer

36

IP Internet 2 02 .46.1.0/30

IP D M Z 202.46.1.8/2 9

IP L A N 192 8 .16 .1.0/24

IN T E R N E T

DMZ

LAN

F irew all Luar

F irew a ll D alam

S E R V E R P U B L IK

SER V ER LA N

Gambar 11 - Topologi DMZ

Topologi yang baik untuk jaringan yang aman, mengunakan 2 firewal. Firewall pertama (luar) merupakan firewall yang melindungi jaringan luar (internet) dengan Demiliterized Zone (DMZ) dan LAN, sedangkan firewall kedua (dalam) melindung jaringan LAN dari jaringan internet dan DMZ. Untuk mendeteksi adanya penyusup dari luar maka perlu ditrambahkan aplikasi IDS yang bisa menjadi satu dengan firewall. Pada Linux, firewall dapat menggunakan iptables. Iptables merupakan ekstensi kernel Linux, digunakan untuk melakukan filtering paket yang masuk kedalam box Linux. Fungsi dari iptables adalah :

Kendali, paket yang masuk ke dalam kernel Linux dapat diatur policy-nya, berdasarkan port, tipe protocol jenis koneksi dan berbagai fitur lainnya.

37

Keamanan, dengan kendali yang dimiliki terhadap semua paket data yang masuk kedalam kernel, maka keamanan system juga akan dapat terjaga. Kita dapat memilih paketpaket yang bias masuk dan tidak bias masuk ke dalam kernel kita.

Monitoring, semua paket yang melewati system dapat dimonitor, terutama bermanfaat pada gateway jaringan, sehingga kita bisa mengatur policy jaringan local kita.

Konfigurasi Firewall dengan Iptables


Untuk mengkonfigurasi firewall menggunakan iptables, dapat diseting pada shell prompt. Misalkan kita akan meneruskan paket ping dengan protokol ICMP, maka perintahnya adalah :
root@Gateway:~# iptables A DMZ-INT p icmp -s $NET_DMZ -d 0/0 -m state --state NEW,ESTABLISHED -j ACCEPT root@Gateway:~# iptables A DMZ-INT p icmp -s 0/0 -d $NET_DMZ -m state --state ESTABLISHED -j ACCEPT

-A adalah parameter yang dibutuhkan oleh firewall untuk mendefinisikan sebuah nama aturan.

-p

adalah

parameter

yang

dibutuhkan

firewall

untuk

mendefinisikan protokol yang akan digunakan pada saat filterisasi.

38

-s

adalah

parameter

yang

dibutuhkan

firewall

untuk

mendefinisikan network asal. -d adalah parameter yang dibutuhkan firewall untuk

mendefinisikan network tujuan. --state adalah parameter yang dibutuhkan firewall untuk menyatakan pada status koneksi apakah sebuah koneksi dapat diterima atau tidaknya dalam melakukan pembukaan koneksi.

Jika akan menggunakan firewall yang banyak akan lebih efektif jika dibuat skrip pada suatu file.

39

Konfigurasi Firewall luar


Untuk konfigurasi firewall bagian luar, maka perlu ditentukan sevice-service yang diperbolehkan untuk diakses, yaitu : HTTP, HTTPS, SSH, DNS, PING, SMTP. Kemudian buat file yang akan berisi skrip untuk konfigurasi firewall luar.
root@Gateway:~# touch /temp/firewall1.script

Edit file tersebut :


root@Gateway:~# vi /temp/firewall1.script

Tambahkan pada file tersebut dengan option-option berikut : Lokasi IPTABLES


iptables =/sbin/iptables

Nama interface
IF_INT="eth0" IF_DMZ="eth1"

Alamat IP interface

40

IP_INT="202.46.1.2/30 IP_DMZ=202.46.1.9/29 IP_HTTP="202.46.1.10/29" IP_DNS="202.46.1.11/29" IP_VPN=202.46.1.12/29 IP_MAIL=202.46.13/29 IP_FWD=202.46.1.14/29 NET_DMZ=202.46.1.8/29

# IP ethernet card ke # internet # IP ethernet card ke # DMZ # IP ethernet card HTTP # Server # IP ethernet card DNS # Server # IP ethernet card VPN # Server # IP ethernet card # EMAIL Server # IP ethernet card # Firewall dalam # Network DMZ

Nama Loopback Interface


IP_LO="127.0.0.1/32" IF_LO="127.0.0.1/32"

Mengaktifkan IP forwarding echo "1" > /proc/sys/net/ipv4/ip_forward

41

Menghapus aturan-aturan IPTABLES yang sudah ada


iptables F iptables t nat F iptables t mangle F

Menghapus nama-nama kolom yang dibuat manual


iptables X iptables t nat X iptables t mangle X

Memberikan policy awal


iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables P P P T T T T T T T INPUT DROP OUTPUT DROP FORWARD DROP nat POSTROUTING ACCEPT nat PREROUTING ACCEPT mangle INPUT ACCEPT mangle OUTPUT ACCEPT mangle FORWARD ACCEPT mangle PREROUTING ACCEPT mangle POSTROUTING ACCEPT

Memberikan akses tidak terbatas ke dan dari interface loopback

42

iptables A INPUT i $IF_LO s 0/0 j ACCEPT iptables A OUTPUT o $IF_LO s 0/0 j ACCEPT

Menambah kolom (chain) baru pada tabel filter


iptables N LAN-INT iptables N DMZ-INT iptables N LAN-DMZ

Memidahkan aturan-aturan berdasarkan sumber dan tujuan paket ke kolom (chain)

iptables A FORWARD i $IF_DMZ o $IF_INT j DMZ-INT iptables A FORWARD i $IF_INT o $IF_DMZ j DMZ-INT iptables N LAN-DMZ

43

Akses HTTP dari DMZ ke Internet


iptables A DMZ-INT p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 \ --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-INT p tcp -s 0/0 --sport 80 -d $NET_DMZ --dport \ 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_INT -p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 80 -j SNAT --to-source $IP_INT

Akses HTTPS dari DMZ ke Internet


iptables A LAN-INT p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-INT p tcp -s 0/0 --sport 443 -d $NET_DMZ --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_INT -p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 443 -j SNAT --to-source $IP_INT

44

Akses FTP dari DMZ ke Internet


iptables A LAN-INT p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-Internet p tcp -s 0/0 --sport 21 -d $NET_DMZ --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_Internet -p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 21 -j SNAT --to-source $IP_INT

Akses DNS dari DMZ ke Internet


iptables A DMZ-INT p udp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A DMZ-INT p udp -s 0/0 --sport 53 -d $NET_DMZ --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Akses SSH dari DMZ ke Internet

45

iptables A DMZ-INT p tcp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A DMZ-INT p tcp -s 0/0 --sport 22 -d $NET_DMZ --dport 1024:65535 -m state state ESTABLISHED -j ACCEPT

Akses SSH dari DMZ ke Firewall Luar


iptables A INPUT p tcp -i $IF_DMZ -s $NET_DMZ --sport 1024:65535 -d $IP_DMZ --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A OUTPUT p tcp -o $IF_DMZ -s $IP_DMZ --sport 22 -d $NET_DMZ --dport 1024:65535 -m state state ESTABLISHED -j ACCEPT

Akses SMTP dari Internet ke DMZ


iptables A INPUT p tcp -i $IF_DMZ -s $NET_DMZ --sport 1024:65535 -d $IP_DMZ --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A OUTPUT p tcp -o $IF_DMZ -s $IP_DMZ --sport 22 -d $NET_DMZ --dport 1024:65535 -m state state ESTABLISHED -j ACCEPT

46

Akses Ping dari DMZ ke Internet


iptables A DMZ-INT p icmp -s $NET_DMZ -d 0/0 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A DMZ-INT p icmp -s 0/0 -d $NET_DMZ -m state --state ESTABLISHED -j ACCEPT

Akses Ping dari DMZ ke Firewall Luar


iptables A INPUT -i $IF_DMZ p icmp -s $NET_DMZ -d $IP_DMZ -m state --state NEW,ESTABLISHED -j ACCEPT iptables A OUTPUT -o $IF_DMZ p icmp -s $IP_DMZ -d $NET_DMZ -m state --state ESTABLISHED -j ACCEPT

Akses Traceroute dari DMZ ke Internet


iptables A DMZ-INT p udp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 33434:33533 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A DMZ-INT p udp -s 0/0 --sport 33434:33533 -d $NET_DMZ --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_INT -p udp -s $NET_DMZ --sport 1024:65535 -d 0/0 --dport 21-j SNAT --to-source $IP_INT

47

Konfigurasi Firewall dalam


Untuk firewall luar kita tentukan sevice apa yang diperbolehkan untuk diakses, yaitu : HTTP, HTTPS, SSH, DNS, PING, SMTP. Untuk firewall dalam, perintah-perintah IPTABLES akan kita kumpulkan menjadi satu didalam sebuah file, misalkan /home/iptables2.script
root@Gateway:~# touch /home/iptables2.script

Kemudian edit file tersebut dengan perintah :


root@Gateway:~# vi /home/iptables2.script

Edit isi file : Lokasi IPTABLES


IPTABLES =/sbin/iptables

Nama Interface
IF_DMZ="eth0" IF_LAN="eth1"

48

Alamat IP interface NET_LAN="192.168.1.0/24" IP_LAN="192.168.1.1/32" BCAST_LAN="192.168.1.255/32" IP_DMZ=202.46.1.14/32

Nama Loopback Interface


IP_LO="127.0.0.1/32" IF_LO="127.0.0.1/32"

Mengaktifkan IP forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward

Menghapus aturan-aturan IPTABLES yang sudah ada


IPTABLES F IPTABLES t nat F IPTABLES t mangle F

49

Menghapus nama-nama kolom yang dibuat manual


IPTABLES X IPTABLES t nat X IPTABLES t mangle X

Memberikan policy awal


IPTABLES IPTABLES IPTABLES IPTABLES IPTABLES IPTABLES IPTABLES IPTABLES IPTABLES IPTABLES P P P t t t t t t t INPUT DROP OUTPUT DROP FORWARD DROP nat POSTROUTING ACCEPT nat PREROUTING ACCEPT mangle INPUT ACCEPT mangle OUTPUT ACCEPT mangle FORWARD ACCEPT mangle PREROUTING ACCEPT mangle POSTROUTING ACCEPT

Memberikan akses tidak terbatas ke dan dari interface loopback


IPTABLES A INPUT i $LO_IF s 0/0 j ACCEPT IPTABLES A OUTPUT o $LO_IF s 0/0 j ACCEPT

Menambah kolom (chain) baru pada tabel filter


IPTABLES N LAN-DMZ

50

Memidahkan aturan-aturan berdasarkan sumber dan tujuan paket ke kolom (chain)


iptables A FORWARD i $IF_LAN o $IF_DMZ j LAN-Internet iptables A FORWARD i $IF_DMZ o $IF_LAN j LAN-Internet

Akses HTTP dari LAN ke Internet


iptables A LAN-DMZ p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-INT p tcp -s 0/0 --sport 80 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_Internet -p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 80 -j SNAT --to-source $IP_Internet

Akses HTTPS dari LAN ke DMZ/Internet

51

iptables A LAN-DMZ p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-INT p tcp -s 0/0 --sport 443 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_Internet -p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 443 -j SNAT --to-source $IP_Internet

Akses FTP dari LAN ke DMZ/Internet


iptables A LAN-INT p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-INT p tcp -s 0/0 --sport 21 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_Internet -p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 21-j SNAT --to-source $IP_Internet

Akses DNS dari LAN ke Internet


iptables A LAN-DMZ p udp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-DMZ p udp -s 0/0 --sport 53 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

52

Akses SSH dari LAN ke Internet


iptables A LAN-DMZ p tcp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-DMZ p tcp -s 0/0 --sport 22 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

s SSH dari LAN ke Firewall

iptables A INPUT p tcp -i $IF_LAN -s $NET_LAN --sport 1024:65535 -d $IP_LAN --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A OUTPUT p tcp -o $IF_LAN -s $IP_LAN --sport 22 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Akses SMTP dari LAN ke DMZ


iptables A LAN-DMZ p tcp -s $NET_LAN --sport 1024:65535 -d $IP_MAIL --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-DMZ p tcp -s $IP_MAIL --sport 25 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Akses SMTP dari LAN ke DMZ

53

Akses Ping dari LAN ke DMZ/Internet


iptables A LAN-DMZ p icmp -s $NET_LAN -d 0/0 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-DMZ p icmp -s 0/0 -d $NET_LAN -m state --state ESTABLISHED -j ACCEPT

Akses Ping dari LAN ke Firewall


iptables A INPUT -I $IF_LAN p icmp -s $NET_LAN -d $IP_LAN -m state --state NEW,ESTABLISHED -j ACCEPT iptables A OUTPUT -o $IF_LAN p icmp -s $IP_LAN -d $NET_LAN -m state --state ESTABLISHED -j ACCEPT

Akses Traceroute dari LAN ke Internet

54

iptables A LAN-Internet p udp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 33434:33533 -m state --state NEW,ESTABLISHED -j ACCEPT iptables A LAN-Internet p udp -s 0/0 --sport 33434:33533 -d $NET_LAN --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o $IF_Internet -p udp -s $NET_LAN --sport 1024:65535 -d 0/0 --dport 21-j SNAT --to-source $IP_Internet

55

Menjalankan Iptables.script
Setelah di simpan, ganti mode security filenya :
root@Gateway:~# chmod 700 /temp/firewall_luar

Untuk

menjalankan

script

secara

otomatis,

edit

file

/etc/rc.local dengan perintah :


root@Gateway:~# vi /etc/rc.local

Kemudian

tambahkan

tulisan

/home/iptables2.script

di

bawahnya. Jangan lupa untuk menyimpan file tersebut

56

REFERENSI

1. iptables - administration tool for IPv4 packet filtering and NAT. Linux Firewall Manual 2. Pickering, Rob. Internet Firewall Tutorial http://www.ipcortex.co.uk/wp/fw.rhtm

3. OBrien, Will. How-To: Build your own network


Firewall. http://www.engadget.com/2006/05/30/how-tobuild-your-own-network-firewall/

4. Andreasson, Oskar. Iptables Tutorial.


http://iptables-tutorial.frozentux.net

57

Proxy Server

58

Dalam jaringan yang menerapkan sistem proxy, hubungan komunikasi ke internet dilakukan melalui sistem pendelegasian. Komputer-komputer yang dapat dikenali oleh internet bertindak sebagai 'wakil' bagi mesin lain yang ingin berhubungan ke luar. Proxy server untuk (kumpulan) protokol tertentu dijalankan pada dual-homed host atau bastion-host, dimana seluruh pemakai jaringan dapat berkomunikasi dengannya, kemudian proxy server ini bertindak sebagai delegasi. Dengan kata lain setiap program client akan berhubungan dengan proxy server dan proxy server ini lah yang akan berhubungan dengan server sebenarnya di internet. Proxy server akan mengevaluasi setiap permintaan hubungan dari client dan memutuskan mana yang diperbolehkan dan mana yang tidak. Bila permintaan hubungan ini disetujui, maka proxy server me-relay permintaan tersebut pada server sebenarnya.

C ac he

A ccount server (openLD A P server )

Internet

C ache P roxy S erver

USER

Gambar 12 - Topologi Proxy Server

59

Proxy

server

mempunyai

kemampuan

untuk

menghemat

bandwidth, meningkatkan keamanan dan mempercepat proses surfing web. Squid merupakan software proxy yang banyak dipakai dan dapat diperoleh secara gratis. Squid juga dapat digunakan untuk mengendalikan pemakaian bandwidth berdasarkan ekstensi file-file tertentu, menyaring situs-situs yang boleh diakses.

Instalasi Squid Proxy Server


Instalasi Squid dengan perintah berikut :
root@Gateway:~# apt-get install squid

60

Konfigurasi Squid
# squid 2.5.Stable.x configuration http_port 3128 cache_mem 8 MB cache_swap_low 80% cache_swap_high 100% maximum_object_size 4096 KB minimum_object_size 1 KB maximum_object_size_in_memory 8 KB cache_dir diskd /var/spool/squid/ 100 16 256 dns_nameservers 202.46.3.180 # dns server cache_effective_user squid cache_effective_group squid visible_hostname proxy.depkominfo.go.id #<namaservernya>

fqdncache_size 2048 ipcache_size 2048 ipcache_low 90 ipcache_high 95

61

http_port

adalah attribut konfigurasi squid yang berfungsi

untuk memberikan informasi port berapa yang digunakan squid untuk melakukan pelayanan terhadap user. cache_dir adalah attribut konfigurasi squid yang berfungsi untuk memberikan informasi direktori tempat menyimpan object object yang berada di cache. maximum_object_size adalah attribut konfigurasi squid yang berfungsi untuk membatasi besar maksimum obyek yang dapat disimpan pada direktori cache squid. minimum_object_size adalah attribut konfigurasi squid yang berfungsi untuk membatasi besar minimum obyek yang dapat disimpan pada direktori cache squid. maximum_object_size_in_memory adalah attribut konfigurasi squid yang berfungsi untuk membatasi besar maksimum obyek yang dapat disimpan pada memory server. visible_hostname adalah attribut konfigurasi squid yang

berfungsi untuk memberikan nama host dari service squid.

62

cache_mem

adalah attribut konfigurasi squid yang berfungsi

untuk memberikan informasi jumlah memory ideal yang akan dialokasikan oleh squid untuk melakukan pengelolaan object seperti:

1.

In-transit object, adalah object yang sedang diakses oleh client. Object tersebut mempunyai level prioritas yang paling tinggi, dan apabila squid mempunyai kekurangan memori maka object object jenis lain akan dikorbankan agar dapat memperolah alokasi memori tambahan.

2.

Hot Object, adalah object yang pernah diakses oleh client dan mempunyai kemungkinan untuk diakses kembali pada suatu saat. Klasifikasi object dilakukan berdasarkan waktu aktifnya object tersebut dalam sebuah cache.

3.

Negative-Cached object, adalah object yang pernah diakses oleh client dan mempunyai kemungkinan lebih kecil untuk diakses kembali pada suatu saat.

cache_swap_low

adalah attribut konfigurasi squid yang

berfungsi untuk memberikan informasi batas bawah persentase penggantian object yang terdapat pada cache. Nilai umum yang digunakan pada attribut cache_swap_low adalah 90%

63

cache_swap_high

adalah attribut konfigurasi squid yang

berfungsi untuk memberikan informasi batas atas persentase penggantian object yang terdapat pada cache. Nilai umum yang digunakan pada attribut cache_swap_high adalah 95% fqdncache_size adalah attribut konfigurasi squid yang

berfungsi untuk memberikan informasi besarnya jumlah Fully Qualified Domain Name (FQDN) yang disimpan dalam cache. Attribut ini sangat berguna apabila proses query nama domain memerlukan waktu yang cukup lama. Pada keadaan normal, nilai fqdncache_size yang dapat diberikan adalah 1024. ipcache_size adalah attribut konfigurasi squid yang berfungsi untuk memberikan informasi jumlah maksimum IP Address yang akan disimpan dalam cache. Pada keadaan normal, nilai ipcache_size yang dapat diberikan adalah 1024. ipcache_low adalah attribut konfigurasi squid yang berfungsi untuk memberikan informasi batas bawah persentase proses penyimpanan IP Address kedalam cache. ipcache_high adalah attribut konfigurasi squid yang berfungsi untuk memberikan informasi batas atas persentase proses penyimpanan IP Address kedalam cache.

64

dns_nameservers

adalah attribut konfigurasi squid yang

berfungsi untuk memberikan informasi Domain Name Server (DNS) yang digunakan oleh proxy server. Attribut tersebut dapat diberikan nilai dalam bentuk hostname maupun internet protocol (IP). Apabila attribut tersebut tidak diberikan nilai, maka secara otomatis proxy akan menggunakan DNS yang tercantum pada /etc/resolv.conf

65

Konfigurasi Squid Access Control List


acl our_networks src 192.168.1.0/24 http_access allow our_networks acl all src 0.0.0.0/0.0.0.0 acl kepala src 192.168.1.1 192.168.1.2 acl staff src 192.168.1.10 192.168.1.12 acl jam_kerja time M-F 08:00-16:00 acl week_end time A-S http_access allow kepala http_access deny staff jam_kerja http_access allow week_end acl deny_site dstdomain download.com http_access deny deny_site acl sex_site url_regex -1 "/etc/squid/sexsite.txt" http_access deny sex_site acl url_mp3 url_regex -i \.mp3$ http_access deny url_mp3 http_access deny all

66

acl adalah attribut konfigurasi squid yang berfungsi untuk mendefinisikan sebuah access control list. Format untuk mendeklasikan sebuah access control list adalah acl < nama acl > < tipe acl > < nilai parameter > Tipe acl yang dapat diberikan antara lain : o o o o o o o o o o acl <nama acl> src ip-address / netmask acl <nama acl> src address1 address2 / netmask acl <nama acl> dst ip-address / netmask acl <nama acl> myip / netmask acl <nama acl> arp mac-address acl <nama acl> srcdomain < nama domain > acl <nama acl> dstdomain < nama domain > acl <nama acl> srcdom_regex [-i] < pattern > acl <nama acl> dstdom_regex [-i] < pattern > acl <nama acl> time [ hari ] [ waktu ]

67

o o

acl <nama acl> url_regex [ -i ] < pattern regex > acl <nama acl> urlpath_regex [ -I ] < pattern regex >

o acl <nama acl> urllogin [ -i ] [ ^a-zA-Z0-9 ]


o o o o acl <nama acl> port 80 22 25 acl <nama acl> port 80 1024 acl <nama acl> myport 3128 8080 acl <nama acl> proto HTTP FTP

o acl <nama acl> method GET POST


o o o o o acl <nama acl> browser [ -i ] < pattern regex > acl <nama acl> referer_regex [ -i ] <pattern regex> acl <nama acl> ident < nama user > acl <nama acl> ident_regex [ -i ] <pattern regex> acl <nama acl> src_as < nomor autonomous system >

68

o o o o o o o o o o o

acl <nama acl> dst_as < nomor autonomous system > acl <nama acl> proxy_auth < nama user > acl <nama acl> proxy_auth_regex [ - i ] <pattern regex> acl <nama acl> snmp_community [ nama community ] acl <nama acl> maxconn < jumlah koneksi > acl <nama acl> max_user_ip [-s] < jumlah > acl <nama acl> req_mime_type < tipe mime > acl <nama acl> req_header < nama header > acl <nama acl> rep_mime_type < tipe mime > acl <nama acl> rep_header < nama header > acl <nama acl> external < nama acl >

69

http_access adalah attribut konfigurasi squid yang berfungsi untuk memberikan status akses terhadap aturan aturan akses yang telah didefinisikan terlebih dahulu.

Konfigurasi Pengaturan Bandwidth dengan Delay Pools


acl acl acl acl admin 192.168.1.250/32 kantor src 192.168.1.0/24 kepala src 192.168.1.1 192.168.1.2 staff src 192.168.1.10 192.168.1.11

delay_pools 3 delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow admin delay_access 1 deny all delay_class 2 1 delay_parameters 2 150000/64000 delay_access 2 allow kepala delay_access 2 deny all delay_class 3 3 delay_parameters 3 256000/32000 192000/32000 delay_access 3 allow kantor delay_access 3 allow staff delay_access 3 deny all

delay_pools adalah attribut konfigurasi squid yang berfungsi untuk membuat definisi jumlah bagian yang akan digunakan. Contoh: delay_pools 3.

70

delay_class adalah attribut konfigurasi squid yang berfungsi untuk menentukan tipe pembagian bandwidth dari setiap pool. Sebuah pool hanya boleh memiliki 1 bagian dan bagian merupakan nomor urut dari jumlah pool yang terdapat di delay pool. Pembagian bandwidth dengan menggunakan delay_pool dapat dibagi menjadi 3 tipe, antara lain:

o Tipe 1, semua bandwidth yang ada akan dibagi sama


rata untuk semua pengguna squid. Sebagai contoh, seluruh bandwidth yang tersedia adalah 128 kbits dan semua bandwidth dapat dipakai untuk melakukan browsing.

o Tipe 2, membatasi pemakaian bandwidth dari


keseluruhan bandwidth yang tersedia. Bandwidth yang dialokasikan akan diberikan secara merata kepada pengguna squid. Sebagai contoh, bandwidth yang tersedia hanyalah 128 kb dimana 28 kbit dipakuntuk email dan sisanya yaitu 100 kbit dipakai untuk melakukan browsing.

o Tipe 3, membatasi pemaikaian bandwidth dari


jumlah keseluruhan yang dialokasikan. Setiap network class C akan mendapat bandwidth yang sama besar, setiap user disetiap network akan mendapat bandwidth yang sama besar dari total bandwidth per network. Sebagai contoh, bandwidth yang tersedia hanya 512 kb, untuk melakukan

71

browsing disediakan 384 kb dan sisanya akan dialokasikan untuk keperluan aktifitas lain.

Authentikasi Proxy Server


Untuk menggabungkan sistem authentikasi SQUID proxy server dengan sistem authentikasi yang sudah tersedia, maka diperlukan perubahan konfigurasi untuk ditambahkan entry authentikasi menggunakan PAM.
# Konfigurasi authentikasi menggunakan PAM auth_param digest program /usr/lib/squid/pam_auth # menggunakan daemon untuk authentikasi sebanyak 10 buah auth_param digest children 10 auth_param digest realm Squid Proxy Authentication Depkominfo # session authentikasi berlaku selama 2 jam auth_param digest credentialsttl 2 hours auth_param digest nonce_max_duration 1 hours acl password proxy_auth REQUIRED http_access allow password

Untuk mengaktifkan mekanisme authentikasi server proxy, definisikan sebuah access control list (acl) dengan parameter tambahan proxy_auth dengan nilai parameter REQUIRED. Setelah variabel access control list untuk authentikasi telah didefinisikan, hal selanjutnya

72

yang harus dilakukan adalah memberikan hak akses terhadap acl tersebut dengan menggunakan http_access allow <nama acl>. auth_param adalah attribut dari konfigurasi squid yang

berfungsi untuk memberikan informasi penggunaan mekanisme authentikasi squid. Attribut auth_param mempunyai format auth_param <scheme> <parameter> [setting] dimana scheme adalah pilihan skema authentikasi yang dapat digunakan dan parameter merupakan pilihan pilihan tambahan untuk melengkapi konfigurasi authentikasi. Skema authentikasi yang mungkin digunakan antara lain basic, digest dan ntlm. Parameter parameter yang harus diberikan untuk attribut auth_param antara lain:

o children, yaitu parameter yang berfungsi untuk memberikan


jumlah proses pemeriksa authentikasi yang akan dijalankan. Apabila jumlah pengguna yang ingin melakukan authentikasi lebih banyak daripada proses yang sedang berjalan, maka pengguna akan menunggu hingga proses untuk melakukan authentikasi telah tersedia.

o realm, yaitu parameter yang berfungsi untuk memberikan


informasi organisasi pengguna proxy server.

o credentialsttl, yaitu parameter yang berfungsi untuk


memberikan informasi waktu yang dibutuhkan agar pengguna tetap dalam kondisi valid.

73

o casesensitive, yaitu parameter yang berfungsi untuk


memberikan informasi apakah data yang dikirimkan antara client dan server akan diperiksa dengan menggunakan perbedaan antara huruf kapital dan huruf biasa. Pilihan nilai yang dapat digunakan untuk parameter casesensitive adalah on dan off.

o program, yaitu parameter yang berfungsi untuk memberikan


informasi lokasi program yang akan digunakan dalam proses authentikasi. Contoh program yang dapat digunakan adalah proxy_auth, sebagainya. pam_auth, ncsa_auth, passwd dan lain

o nonce_garbage_interval, yaitu parameter yang berfungsi


untuk memberikan informasi waktu interval yang akan digunakan oleh server untuk memeriksa kebenaran sesi authentikasi antara server hanya dan client. Parameter scheme nonce_garbage_interval 5 minutes. berlaku untuk

digest. Contoh : auth_param digest nonce_garbage_interval

o nonce_max_duration , yaitu parameter yang berfungsi


untuk memberikan informasi durasi maksimum sebuah nonce akan berlaku. Parameter nonce_max_duration hanya berlaku untuk scheme digest. Contoh : auth_param digest non_max_duration 30 minutes.

o nonce_max_count, yaitu parameter yang berfungsi untuk


memberikan informasi jumlah maksimum sebuah nonce akan

74

dipergunakan. Parameter nonce_max_count hanya berlaku untuk scheme digest. Contoh: auth_param digest nonce_max_count 50.

o nonce_strictness, yaitu parameter yang berfungsi untuk


memberikan informasi apakah squid akan mengatur secara ketat mengenai penambahan nilai perhitungan nonce. Apabila parameter ini diberikan nilai on maka perhitungan akan selalu ditambahkan oleh 1, jika parameter ini diberikan nilai off maka perhitungan tidak akan selalu berurutan. Parameter nonce_strictness hanya berlaku untuk scheme digest. Contoh: auth_param digest nonce_strictess on.

75

Instalasi Squidguard
Untuk melakukan instalasi squidguard gunakan perintah
root@Gateway:~# apt-get install squidguard

berikut :

Konfigurasi Squidguard
dbhome /var/lib/squidguard/db logdir /var/log/squid time jam_kerja { weekly mtwhf 08:00 - 16:00 } src kantor { ip 192.168.1.0/255.255.255.0 within jam_kerja } dest adult { domainlist adult/domains urllist adult/urls expressionlist adult/expressions redirect http://www.depkominfo.go.id } dest dilarang { domainlist urllist redirect } dilarang/domains dilarang/urls http://www.depkominfo.go.id

76

Kemudian buat direktori /var/lib/squidguard/db/adult :


root@Gateway:~# cd /var/lib/squidguard/db root@Gateway:~# mkdir adult

Buat file adult/domains dan edit file tersebut :


root@Gateway:~# touch adult/domains root@Gateway:~# vi adult/domains

Tambahkan :
playboy.com xxx.com

Pada file tersebut dapat ditambahkan domain-domain situs dewasa

Kemudian buat direktori dilarang :


root@Gateway:~# cd /var/lib/squidguard/db root@Gateway:~# mkdir dilarang

Buat file adult/domains dan edit file tersebut :


root@Gateway:~# touch dilarang/domains root@Gateway:~# vi dilarang/domains

77

Tambahkan :
dowload.com napster.com

Pada file tersebut dapat ditambahkan domain-domain situs yang dilarang.

78

Integrasi Squid dan Squidguard


Buka file /etc/squid/squid.conf
root@Gateway:~# vi /etc/squid/squid.conf

Edit option berikut


redirect_program /usr/bin/squidGuard -C /etc/squid/squidGuard.conf

Menjalankan Squid
Setelah keseluruhan proses konfigurasi selesai dilakukan maka hal selanjutnya yang harus hasil dilakukan adalah melakukan cara pemeriksaan terhadap konfigurasi dengan

menjalankan squid proxy server. Untuk menjalankan squid, lakukan perintah seperti berikut:
root@Gateway:~# /etc/init.d/squid start

79

REFERENSI

1. Squid Web Proxy Cache. http://www.squid-cache.org 2. Vesperman, Jennifer. Authentication and Squid http://www.linuxdevcenter.com/pub/a/linux/2001 /08/09/authen_squid.html

3. Spare, Ian. Deploying the Squid Proxy server on


Linux. http://www2.linuxjournal.com/article/4408

80

Intrusion Detection System

81

Intrusion adalah usaha untuk masuk dan/atau menyalahgunakan sistem yang ada. Intrusion Detection System adalah proses untuk monitoring event yang terjadi pada sistem komputer atau jaringan komputer dan melakukan analisis data tersebut untuk mengetahui adanya intrusion, terhadap confidentiality, integrity, availability ataupun melakukan by-pass mekanisme pengamanan yang ada.

82

IN T E R N E T

LAN

op enL D A P se rve r

F ire w a ll

ID S S e rver

F irew all ID S S e rve r S e rve r LA N DMZ

S erve r P u blic

Gambar 13 - Arsitektur Penggunaan IDS

Sebuah

sistem

komputer

harus

memiliki

confidentiality,

integrity, dan assurance terhadap Denial of Service. Ada dua cara untuk menunjukkan sistem tersebut di atas. Pertama

83

adalah kita membangun sebuah sistem yang aman secara keseluruhan. Contohnya pada bagian depan aplikasinya membutuhkan login bagi semua penggunanya. Kemudian data diproteksi dengan teknik teknik kriptografi dan dengan kontrol akses yang ketat. Cara yang kedua adalah kita mendeteksi potensi serangan atau suatu aktifitas yang dapat dianggap sebagai gangguan terhadap sistem, sehingga sesegera mungkin dapat melakukan tindakan yang diperlukan. Dari segi teknis terdapat dua macam teknik yang berkembang dalam Teknologi IDS, yaitu:

Deteksi Anomali (anomaly detection)

Teknik deteksi anomali ini mempunyai asumsi bahwa semua aktifitas intrusif terhadap sistem sebagai suatu anomali atau keanehan.

Deteksi penyalahgunaan (misuse detection) yang terdapat ini serangan di dalam balik teknik cara pola deteksi untuk atau adalah adanya bentuk

Konsep

penyalahgunaan memodelkan

signature, jadi apabila terdapat variasi bentuk serangan tetapi dengan pola yang sama, serangan masih dapat dikenali. Perbedaan dengan deteksi anomali adalah pada deteksi anomali hanya pada mampu teknik mendeteksi deteksi serangan, sedangkan

84

penyalahgunaan

mampu

mengenal

dan

mencoba

mengenal serangan tersebut. Dari kedua pendekatan teknik IDS tersebut di atas, teknik deteksi penyalahgunaan lebih banyak digunakan. Produk IDS-nya sudah termasuk berbagai macam set signature yang telah berhasil diidentifikasi sebagai suatu bentuk exploit yang unik dan berpotensi merusak sistem. Para vendor IDS ini juga secara rutin mengeluarkan update dari signature ini seiring dengan berkembangnya model dan bentuk serangan. Salah satu fondasi dasar dari sebuah aplikasi IDS adalah ketika mekanisme auditnya mampu merekam kejadian kejadian dalam sistem, kemudian bukti bukti yang menunjukkan terjadinya aktifitas intrusi dapat terlihat dari data hasil audit. Dan dikarenakan besarnya volume data yang akan di audit, baik banyaknya data, kemudian juga banyaknya bagian bagian dari sistem yang akan dianalisa, maka dibutuhkan sebuah tools untuk melakukan analisa data secara efisien dan cerdas. Snort merupakan aplikasi Linux IDS yang paling populer, gratis, mudah di konfigurasi dan mudah digunakan. Tersedia add-on dan utility khusus snort. Snort melakukan real time traffic analysis dan mengamati event aneh yang bisa berpotensi usaha penyusupan. Berbasis pada trafik jaringan, Snort mampu mendeteksi lebih dari 1000 potensi kerawanan.

85

Dalam

pemakaiannya,

snort

dapat

diaplikasikan

pada

Demiliterized Zone maupun jaringan internal (LAN). Sehingga setiap ada potensi penyusupan, baik ke server-server publik maupun melalui VPN yang akan mengakses server-server internal atau komputer klien, dapat didetaksi lebih dini.

86

Instalasi SNORT
root@Gateway:~# apt-get install snort

Konfigurasi SNORT
Sebelum berikut : Buat direktori /var/log/snort
root@Gateway:~# mkdir /var/log/snort

mengkonfigurasi

SNORT,

lakukan

langkah-langkah

Buat group snort


root@Gateway:~# groupadd snort

Buat user snort dan tambahkan ke dalam group snort


root@Gateway:~# useradd g snort snort

Ubah kepemilikan file /var/log/snort menjadi :


root@Gateway:~# chown snort /var/lib/snort

87

Kemudian konfigurasi SNORT, edit file /etc/snort/snort.conf:


root@Gateway:~# vi /etc/snort/snort.conf

Edit file tersebut dengan :


var HOME_NET 192.168.1.0/24 var EXTERNAL_NET !$HOME_NET var DNS_SERVERS 192.168.1.3/32

HOME_NET adalah attribut konfigurasi snort yang berfungsi untuk memberikan informasi jaringan yang akan diperiksa oleh snort dari percobaan percobaan intrusion. DNS_SERVERS adalah attribut konfigurasi snort yang berfungsi untuk memberikan informasi server Domain Name Service yang akan digunakan oleh snort.

Menjalankan Snort
root@Gateway:~# ./snort vde

88

REFERENSI
1. Riden, James. IDS: Using Snort http://www.debian-administration.org/articles/318 2. Snort The De Facto standard for intrussion detection / prevention. http://www.snort.org/docs

89

Multi Router Traffic Graph

90

MRTG (Multi Router Traffic Grapher) merupakan salah satu tools yang dapat digunakan untuk melihat traffic jaringan. Dengan mengetahui data traffic, seorang administrator jaringan mampu melakukan GNU analisis dan kemudian melakukan siapa manajemen saja dapat jaringan dengan baik. MRTG merupakah software yang berlisensi General Public License sehingga mendownload dan memakai MRTG secara gratis. MRTG ini berfungsi sebagai tools untuk memonitor traffic yang berada pada suatu jaringan dan kemudian menampilkan traffic jaringan tersebut ke bentuk grafik dan kemudian diparsing menjadi file html.

Cara kerja MRTG sebenarnya memanfaatkan kinerja yang dilakukan oleh SNMP. MRTG sebenarnya hanya membuat grafik dari data yang dikumpulkan oleh SNMP.Untuk mendapatkan traffic data, MRTG akan bertindak sebagai SNMP manager yang akan melakukan SNMP request kepada SNMP agent untuk dilakukan polling OID.Proses polling sampai mengeluarkan grafik trafik jaringan dapat dijabarkan sebagai berikut:

spesifik OID.

Menginterogasi

remote host dan melakukan SNMP query terhadap SNMP

91


data hasil SNMP query ke database.

Menyimpannya

Melakukan

logging terhadap data baru yang didapatkan. Mengeluarkan

grafik traffic sesuai dengan permintaan tertentu dalam bentuk harian, mingguan, bulanan, atau tahunan dengan cara mengupdate grafik dengan nilai yang baru sesuai waktu dan menghapus yang lama. Image grafik yang dihasilkan biasanya berupa file dengan format PNG yang kemudian diparsing menjadi file HTML.

Instalasi MRTG
root@Gateway:~# apt-get install mrtg snmpd

Konfigurasi MRTG
Pertama-tama edit file konfigurasi snmpd :
root@Gateway:~# vi /etc/snmp/snmpd.conf

Edit isi filenya sebagai berikut :

92

com2sec public default public group public v1 public group public v2c public group public usm public view all included .1 access public any noauth exact all none none

Jalankan snmpd
root@Gateway:~# /etc/init.id/snmpd start

Buat user mrtg


root@Gateway:~# adduser mrtg

Konfigurasi dengan cfgmaker cfgmaker adalah sebuah perangkat lunak yang disediakan oleh MRTG dan berfungsi untuk membuat konfigurasi secara otomatis berdasarkan parameter parameter yang diberikan oleh user.
root@Gateway:~# cfgmaker global WorkDir: /var \ global Options[_]: growright,bits \ public@123.456.789.000 --output /etc/mrtg.cfg

Edit file /etc/mrtg.cfg

93

root@Gateway:~# vi /etc/mrtg.cfg

Tambahkan option berikut :


RunAsDaemon:Yes Interval:5 Refresh:300

RunAsDaemon adalah attribut konfigurasi MRTG yang berfungsi untuk memberikan informasi apakah MRTG akan dijalankan sebagai sebuah service yang selalu berjalan pada server atau tidak Interval adalah attribut konfigurasi MRTG yang berfungsi untuk memberikan informasi interval waktu proses pembaharuan status jaringan yang digambarkan oleh MRTG. Satuan interval yang digunakan pada umumnya adalah menit. Refresh adalah attribut konfigurasi MRTG yang berfungsi untuk memberikan informasi berapa lama browser akan melakukan proses pembaharuan tampilan grafis status jaringan melalui MRTG. Satuan refresh yang digunakan pada umumnya adalah detik. Cron Scheduler

94

Sebagai alternatif untuk menjalankan proses update statistik jaringan user dapat mempergunakan fasilitas sistem operasi yaitu cron. Script berikut ini akan menjalankan perintah mrtg setiap 5 menit.

*/5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.conf ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.conf >> /var/log/mrtg/mrtg.log 2>&1; fi

Pembuatan Index Statistik Indexmaker berfungsi untuk membuat sebuah index laporan yang sesuai dengan konfigurasi mrtg yang telah dibuat dengan menggunakan cfgmaker.
root@Gateway:~# indexmaker output /var/www/mrtg/index.html \ /etc/mrtg.cfg

Jalankan Mrtg
root@Gateway:~# env LANG=C mrtg /etc/mrtg.cfg

95

REFERENSI

1. HOWTO/Tutorial MRTG Graph Setup (Router/Switch) SNMP Setup. http://www.crucialp.com/resources/tutorials/networkconfiguration/howto-tutorial-mrtg-graph-setup-routerswitch-snmp.php 2. SNMP and MRTG on Sarge quick start http://www.debian-administration.org/articles/366

96

BANDWIDTH MANAGEMENT

97

Manajemen bandwidth menjadi hal yang mutlak diperlukan bagi jaringan multi layanan, semakin banyak dan bervariasinya aplikasi yang dapat dilayani oleh suatu jaringan berpengaruh pada penggunaan link dalam jaringan tersebut. Link-link yang ada harus mampu menangani kebutuhan user akan aplikasi tesebut bahkan dalam keadaan kongesti sekalipun, harus ada suatu jaminan bahwa link tetap dapat berfungsi sebagaimana mestinya walaupun terjadi ledakan permintaan aplikasi. Manajemen bandwidth memegang peranan penting dalam pengaturan alokasi bandwidth untuk berbagai layanan aplikasi internet yang beraneka-ragam. Aplikasi yang berbeda memerlukan suatu persyaratan QoS tertentu agar selama proses pentransmisian tidak terlalu banyak paket yang hilang, layanan real-time yang baik, delay/jitter yang rendah, dan alokasi bandwidth yang baik. mampu misalnya menjalankan distance Dengan alokasi yang tepat diharapkan aplikasi learning, yang video delay-sensitif streaming, seperti remote

presentation, video conference, dan lain-lain. Hierarchical Token Bucket (HTB) sebagai aplikasi manajemen bandwidth yang tersedia secara gratis dan dapat dijalankan diatas platform sistem Operasi LINUX merupakan Bandwidth Manager yang baik, diharapkan penggunaannya yang tepat dan

98

akurat akan membuat jaringan yang menerapkan Bandwidth Manager ini bekerja secara optimal.

99

Konfigurasi Misalkan kita akan mengatur bandwidth suatu jaringan sebagai berikut : jaringan tersebut mendapat bandwidth downstream 512 kbps komputer A (192.168.1.10) mendapat koneksi

downstream 256kbps dengan bandwidth untuk HTTP adalah 128 kbps dan telnet 128 kbps komputer komputer B C (192.168.1.20) (192.168.1.30) mendapat mendapat koneksi koneksi downstream 128 kbps

downstream 128 kbps dengan bandwidth untuk POP3 96 kbps dan FTP 32 kbps Setting pada komputer gateway sebagai berikut :

100

1:0

GATEWAY 1:1

512kbps

CLIENT A

CLIENT B

CLIENT C 1:3 128kbps 1:4 128kbps

1:2

256kbps

1:21

1:22

1:31

1:41

1:42

210:

220:

410:

420:

128kbps (HTTP)

128kbps (telnet)

96kbps (POP3)

32kbps (FTP)

Gambar 14 - Hirarki Pembagian Bandwidth

101

root@Gateway:~# tc qdisc add dev eth0 root handle 1:0 htb root@Gateway:~# tc class add dev eth0 parent 1:0 classid 1:1 htb rate 512Kbit ceil 512Kbit root@Gateway:~# tc class add dev eth0 parent 1:1 classid 1:2 htb rate 256Kbit ceil 512Kbit root@Gateway:~# tc class add dev eth0 parent 1:1 classid 1:3 htb rate 128Kbit ceil 512Kbit root@Gateway:~# tc class add dev eth0 parent 1:1 classid 1:4 htb rate 128Kbit ceil 512Kbit root@Gateway:~# tc class add dev eth0 parent 1:2 classid 1:21 htb rate 128Kbit ceil 256Kbit root@Gateway:~# tc class add dev eth0 parent 1:2 classid 1:22 htb rate 128Kbit ceil 256Kbit root@Gateway:~# tc class add dev eth0 parent 1:4 classid 1:31 htb rate 96Kbit ceil 128Kbit root@Gateway:~# tc class add dev eth0 parent 1:4 classid 1:32 htb rate 32Kbit ceil 128Kbit root@Gateway:~# tc qdisc add dev eth0 parent 1:21 handle 210: pfifo limit 10 root@Gateway:~# tc qdisc add dev eth0 parent 1:22 handle 220: pfifo limit 10 root@Gateway:~# tc qdisc add dev eth0 parent 1:41 handle 410: pfifo limit 10

102

root@Gateway:~# tc qdisc add dev eth0 parent 1:42 handle 420: pfifo limit 10 root@Gateway:~# tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.1.20/32 match ip sport 80 0xff flowid 1:21 root@Gateway:~# tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.1.20/32match ip sport 23 0xff flowid 1:22 root@Gateway:~# tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.1.30/32 flowid 1:31 root@Gateway:~# tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.1.40/32 match ip sport 110 0xff flowid 1:41 root@Gateway:~# tc filter add dev eth0 parent 1:0 protocol ip u32 match ip dst 192.168.1.40/32match ip sport 21 0xff flowid 1:42

Keterangan Rate : parameter rate menentukan bandwidth maksimum yang bisa dipakai oleh setiap class, jika bandwidth melebihi nilai rate maka paket data akan dipotong atau di jatuhkan (drop) Ceil : parameter ceil di set untuk menentukan peminjaman bandwidth antar class (kelas), peminjaman bandwith dilakukan class paling bawah ke kelas di atasnya, teknik ini disebut link sharing.

103

REFERENSI

1. Boxman, Jason. Traffic Shaping with Linux v2.4 and HTB


qdisc. http://www.trekweb.com/~jasonb/articles/linux_tc_mi nihowto.shtml

2. Devera, Martin. HTP Linux Queuing discipline manual.


http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm

3. Boxman, Jason. A Practical Guide to Linux Traffic


Control. http://trekweb.com/~jasonb/articles/traffic_shaping/

104