Upload
deras-diterpa
View
3.815
Download
5
Embed Size (px)
Citation preview
1
TUTORIAL INTERAKTIF
SISTEM KEAMANAN JARINGAN
BERBASIS OPEN SOURCE
Direktorat Sistem Informasi, Perangkat Lunak Dan Konten
Direktorat Jenderal Aplikasi TelematikaDepartemen Komunikasi Dan Informatika
2006
2
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”.
3
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: [email protected]
Semoga bermanfaat!Jakarta, Desember 2006 Lolly Amalia AbdullahDirekturSistem Informasi, Perangkat Lunak dan Konten
4
DAFTAR ISI
DAFTAR ISI............................................................................................2
DAFTAR GAMBAR...........................................................................4
ARSITEKTUR SISTEM KEAMANAN JARINGAN.................5
ARSITEKTUR SISTEM KEAMANAN JARINGAN.................5
VIRTUAL PRIVATE NETWORK..................................................7
Instalasi OpenSwan.................................................................9Konfigurasi OpenSwan.........................................................10VPN Client menggunakan Windows................................23REFERENSI................................................................................30
DEMILITERIZED ZONE (DMZ).................................................31
Konfigurasi Firewall dengan Iptables..............................35Konfigurasi Firewall luar......................................................37Konfigurasi Firewall dalam..................................................45Menjalankan Iptables.script...............................................53REFERENSI................................................................................54
PROXY SERVER..............................................................................55
Instalasi Squid Proxy Server...............................................57Konfigurasi Squid...................................................................58Konfigurasi Squid Access Control List............................63Konfigurasi Pengaturan Bandwidth dengan Delay Pools............................................................................................67Authentikasi Proxy Server...................................................69Instalasi Squidguard..............................................................73Konfigurasi Squidguard........................................................73Integrasi Squid dan Squidguard.......................................76Menjalankan Squid.................................................................76REFERENSI................................................................................77
5
INTRUSSION DETECTION SYSTEM......................................78
Instalasi SNORT.......................................................................83Konfigurasi SNORT.................................................................83REFERENSI................................................................................85
MULTI ROUTER TRAFFIC GRAPH.........................................86
Instalasi MRTG.........................................................................88Konfigurasi MRTG...................................................................88REFERENSI................................................................................91
BANDWIDTH MANAGEMENT..................................................92
Konfigurasi................................................................................95REFERENSI................................................................................99
6
DAFTAR GAMBAR
GAMBAR 1 - ARSITEKTUR SISTEM KEAMANAN JARINGAN....................5GAMBAR 2 - ARSITEKTUR VPN..............................................................8GAMBAR 3 - FIREWALL.........................................................................21GAMBAR 4 - TOPOLOGI DMZ..............................................................23GAMBAR 5 - TOPOLOGI PROXY SERVER.............................................44GAMBAR 6 - ARSITEKTUR PENGGUNAAN IDS....................................65Gambar 7 - Hirarki Pembagian Bandwidth.............................81
7
Arsitektur Sistem Keamanan Jaringan
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
8
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.
9
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.
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
11
apapun keperluan user. Dengan demikian, VPN juga
dapat dikategorikan sebagai infrastruktur WAN alternatif
untuk 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.
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.
Ubahlah masa validasi menjadi 3650 hari.
root@Gateway:~# vi /etc/ssl/openssl.cnf
Default_days = 3650Default_crl_days = 30Default_md = md5Preserver = no
[ req ]default_bits = 2048default_keyfile = privkey.pemdistinguished_name = req_distinguished_nameattributes = req_attributesx509_extensions = v3_ca
root@Gateway:~# vi /usr/lib/ssl/misc/CA.sh
13
Buat direktori untuk menampung semua file konfigurasi VPN :
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.
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.
DAYS=”-days 3650”REQ=”openssl req $SSLEAY_CONFIG’CA=”openssl ca $SSLEAY_CONFIG”VERIFY=”openssl verify’X509=”openssl x509”
root@Gateway:~# mkdir /var/sslca
root@Gateway:~# chmod 700 /var/sslca
root@Gateway:~# cd /var/sslcaroot@Gateway:~# /usr/lib/ssl/misc/CA.sh –newca
root@Gateway:~# /usr/lib/ssl/misc/CA.sh –newreq
14
Setelah sertifikasi terbentuk, maka tandai sertifikasi
tersebut dengan CA yang telah dibuat sebelumnya.
Kemudian pilih Y (Yes) untuk mengakhiri proses
pembuatan signature.
Agar lebih mudah diingat, maka nama-nama konfigurasi
di atas dapat diubah sesuai kebutuhan.
Edit /etc/ipsec.secrets
Ubah option berikut dengan :
root@Gateway:~# /usr/lib/ssl/misc/CA.sh –sign
root@Gateway:~# mv /var/sslca/newcert.pem
/var/sslca/mycert.pem
root@Gateway:~# mv /var/sslca/newreq.pem
/var/sslca/mycert.key
root@Gateway:~# vi /etc/ipsec.secrets
$ipses.secrets:: RSA vpnku.key “qwerty”
15
Isikan password yang diinginkan, password harus sama
dengan password pada saat membuat newca dan
newreq.
Kemudian kita mulai mengkonfigurasi file konfigurasi
OpenSwan adalah /etc/ipsec.conf. Edit file tersebut
dengan perintah :
Kemudian tambahkan option berikut pada file tersebut
root@Gateway:~# vi /etc/ipsec.conf
16
Version 2.0
# /etc/ipsec.conf
config setupinterface=&defaultroutenat_traversal=yesvirtual_private=
%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16
config %defaultkeyingtries=1compress=yesdisablearrivalcheck=noauthby=rsasigleftrsasigkey=%certrightrsasigkey=%cert
conn roadwarrior-netleftsubnet=192.168.1.0/24also=roadwarrior
conn roadwarriorleft=%defaultrouteleftcert=mycert.pemright=%anyrightsubnet=vhost:%no,%privauto=addpfs=yes
conn roadwarrior-l2tppfs=no leftprotoport=17/1701rightprotoport=17/1701also=roadwarrior
17
conn roadwarrior-l2tp-updatedwinpfs=noleftprotoport=17/1701rightprotoport=17/1701also=roadwarrior
conn roadwarrior-allleftsubnet=0.0.0.0/0also=roadwarrior
conn blockauto=ignore
conn private
auto=ignore
18
Untuk konfigurasi VPN klien, konfigurasikan sebagai berikut
Edit file/etc/ipsec.secrets :
Ubah option berikut dengan :
Kemudian kita mulai mengkonfigurasi file konfigurasi
OpenSwan
adalah /etc/ipsec.conf. Edit file tersebut dengan
perintah :
conn private-or-clearauto=ignoreconn clear-or-privateauto=ignore
conn clearauto=ignore
conn packetdefaultauto=ignore
root@Gateway:~# vi /etc/ipsec.secrets
$ipsec.secrets:: RSA vpnku.key “123456”
root@Gateway:~# vi /etc/ipsec.conf
19
Tambahkan option berikut pada file tersebut :
# Version 2.0
# /etc/ipsec.conf
config setupinterface=&defaultroute
nat_traversal=yes
config %defaultkeyingtries=1compress=yesauthby=rsasigleftrsasigkey=%certrightrsasigkey=%cert
conn roadwarrior-netleftsubnet=192.168.1.0/255.255.255.0also=roadwarrior
20
Untuk menjalankan service openSwan secara daemon,
jalankan perintah:
conn roadwarriorleft=(202.65.87.2)leftcert=clinet.pemright=%defaultrightcert=mycer.pem auto=addpfs=yes
conn blockauto=ignore
conn privateauto=ignore
conn private-or-clearauto=ignore
conn clear-or-privateauto=ignore
conn clearauto=ignore
conn packetdefaultauto=ignore
root@Gateway:~# ipsec auto --up roadwarior
21
Layer 2 Tunneling Protocol
Instalasi L2TPD
Konfigurasi L2TPD
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.
pppoptfile adalah attribut konfigurasi L2TPD yang
berfungsi untuk memberikan informasi lokasi file
[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
22
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:
Konfigurasi PPP
root@server:~# apt-get install ppp
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.
ms-dns 192.168.1.1
require-mschap-v2
ipcp-accept-local
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
25
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.
26
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
27
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).
28
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.
29
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.
30
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.
31
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
32
koneksi ke sebuah VPN dengan menggunakan window
jalankan konfigurasi yang telah dibuat sebelumnya,
apabila pengguna menjalankan konfigurasi tersebut
maka akan tampil gambar berikut ini:
Gambar 9 - Tampilan Login ke suatu VPN
33
REFERENSI
1. FreeS/WAN Documentation
http://www.freeswan.org
2. de Leeuw , Jacco. Using a Linux L2TP/IPsec VPN
server.
http://www.jacco2.dds.nl/networking/freeswan-
l2tp.html
3. dashnu, Howto l2tp/IPsec VPNServer (PSK MS-
Chap for now). http://forums.gentoo.org/
4. Purnomo, Dicky Wahyu. Membuat VPN Server di
Linux. http://massaint.or.id/2005/08/07/bikin-vpn-
server-di-linux/
5. OpenVPN 2.0 HOWTO.
http://openvpn.net/howto.html
34
Demiliterized Zone (DMZ)
35
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).
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.
36
Melakukan filtering dengan mewajibkan semua traffik
yang ada untuk dilewatkan melalui firewall bagi
semua proses pemberian dan pemanfaatan layanan
informasi. 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
37
address, protokol, port. Iptables sudah terinstal saat kita
melakukan instalasi Linux di komputer
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 :
38
Kendali, paket yang masuk ke dalam kernel Linux
dapat diatur policy-nya, berdasarkan port, tipe
protocol jenis koneksi dan berbagai fitur lainnya.
Keamanan, dengan kendali yang dimiliki terhadap
semua paket data yang masuk kedalam kernel, maka
keamanan system juga akan dapat terjaga. Kita dapat
memilih paket-paket 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
39
-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.
-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.
40
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.
Edit file tersebut :
Tambahkan pada file tersebut dengan option-option berikut :
Lokasi IPTABLES
Nama interface
root@Gateway:~# touch /temp/firewall1.script
root@Gateway:~# vi /temp/firewall1.script
iptables =”/sbin/iptables”
IF_INT="eth0"IF_DMZ="eth1"
41
Alamat IP interface
Nama Loopback Interface
Mengaktifkan IP forwarding
IP_INT="202.46.1.2/30” # IP ethernet card ke # internet
IP_DMZ=”202.46.1.9/29” # IP ethernet card ke # DMZ
IP_HTTP="202.46.1.10/29" # IP ethernet card HTTP # Server
IP_DNS="202.46.1.11/29" # IP ethernet card DNS # Server
IP_VPN=”202.46.1.12/29” # IP ethernet card VPN # Server
IP_MAIL=”202.46.13/29” # IP ethernet card # EMAIL Server
IP_FWD=”202.46.1.14/29” # IP ethernet card # Firewall dalam
NET_DMZ=”202.46.1.8/29 # Network DMZ
IP_LO="127.0.0.1/32"IF_LO="127.0.0.1/32"
echo "1" > /proc/sys/net/ipv4/ip_forward
42
Menghapus aturan-aturan IPTABLES yang sudah ada
Menghapus nama-nama kolom yang dibuat manual
Memberikan policy awal
Memberikan akses tidak terbatas ke dan dari
interface
loopback
iptables –F iptables –t nat –F iptables –t mangle –F
iptables –Xiptables –t nat –Xiptables –t mangle –X
iptables –P INPUT DROPiptables –P OUTPUT DROPiptables –P FORWARD DROPiptables –T nat POSTROUTING ACCEPTiptables –T nat PREROUTING ACCEPTiptables –T mangle INPUT ACCEPTiptables –T mangle OUTPUT ACCEPTiptables –T mangle FORWARD ACCEPTiptables –T mangle PREROUTING ACCEPTiptables –T mangle POSTROUTING ACCEPT
43
Menambah kolom (chain) baru pada tabel filter
Memidahkan aturan-aturan berdasarkan sumber dan
tujuan
paket ke kolom (chain)
iptables –A INPUT –i $IF_LO –s 0/0 –j ACCEPT
iptables –A OUTPUT –o $IF_LO –s 0/0 –j ACCEPT
iptables –N LAN-INT iptables –N DMZ-INT iptables –N LAN-DMZ
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
44
Akses HTTP dari DMZ ke Internet
Akses HTTPS 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
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
45
Akses FTP dari DMZ ke Internet
Akses DNS dari DMZ ke Internet
Akses SSH 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
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
46
Akses SSH dari DMZ ke Firewall Luar
Akses SMTP dari Internet ke DMZ
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
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
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
47
Akses Ping dari DMZ ke Internet
Akses Ping dari DMZ ke Firewall Luar
Akses Traceroute 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
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
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
48
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
Kemudian edit file tersebut dengan perintah :
Edit isi file :
Lokasi IPTABLES
Nama Interface
root@Gateway:~# touch /home/iptables2.script
root@Gateway:~# vi /home/iptables2.script
IPTABLES =”/sbin/iptables”
IF_DMZ="eth0"IF_LAN="eth1"
49
Alamat IP interface
Nama Loopback Interface
Mengaktifkan IP forwarding
Menghapus aturan-aturan IPTABLES yang sudah
ada
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”
IP_LO="127.0.0.1/32"IF_LO="127.0.0.1/32"
echo "1" > /proc/sys/net/ipv4/ip_forward
IPTABLES –FIPTABLES –t nat –FIPTABLES –t mangle –F
50
Menghapus nama-nama kolom yang dibuat manual
Memberikan policy awal
Memberikan akses tidak terbatas ke dan dari
interface loopback
Menambah kolom (chain) baru pada tabel filter
IPTABLES –XIPTABLES –t nat –XIPTABLES –t mangle –X
IPTABLES –P INPUT DROPIPTABLES –P OUTPUT DROPIPTABLES –P FORWARD DROPIPTABLES –t nat POSTROUTING ACCEPTIPTABLES –t nat PREROUTING ACCEPTIPTABLES –t mangle INPUT ACCEPTIPTABLES –t mangle OUTPUT ACCEPTIPTABLES –t mangle FORWARD ACCEPTIPTABLES –t mangle PREROUTING ACCEPTIPTABLES –t mangle POSTROUTING ACCEPT
IPTABLES –A INPUT –i $LO_IF –s 0/0 –j ACCEPTIPTABLES –A OUTPUT –o $LO_IF –s 0/0 –j ACCEPT
IPTABLES –N LAN-DMZ
51
Memidahkan aturan-aturan berdasarkan sumber
dan
tujuan paket ke kolom (chain)
Akses HTTP dari LAN ke Internet
Akses HTTPS dari LAN ke DMZ/Internet
iptables –A FORWARD –i $IF_LAN –o $IF_DMZ –j LAN-Internet
iptables –A FORWARD –i $IF_DMZ –o $IF_LAN –j LAN-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
52
Akses FTP dari LAN ke DMZ/Internet
Akses DNS dari LAN ke Internet
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
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
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
53
Akses SSH dari LAN ke Internet
s SSH dari LAN ke Firewall
Akses SMTP dari LAN ke DMZ
Akses SMTP dari LAN ke
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
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
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
54
DMZ
Akses Ping dari LAN ke DMZ/Internet
Akses Ping dari LAN ke Firewall
Akses Traceroute dari LAN ke 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
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
55
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
56
Menjalankan Iptables.script
Setelah di simpan, ganti mode security filenya :
Untuk menjalankan script secara otomatis, edit file
/etc/rc.local dengan perintah :
Kemudian tambahkan tulisan /home/iptables2.script di
bawahnya. Jangan lupa untuk menyimpan file tersebut
root@Gateway:~# chmod 700 /temp/firewall_luar
root@Gateway:~# vi /etc/rc.local
57
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. O’Brien, Will. How-To: Build your own network
Firewall.
http://www.engadget.com/2006/05/30/how-to-
build-your-own-network-firewall/
4. Andreasson, Oskar. Iptables Tutorial.
http://iptables-tutorial.frozentux.net
58
Proxy Server
59
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.
60
Gambar 12 - Topologi Proxy ServerProxy 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 :
61
root@Gateway:~# apt-get install squid
Konfigurasi Squid
http_port adalah attribut konfigurasi squid yang
berfungsi untuk memberikan informasi port berapa yang
# 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
62
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.
63
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
64
cache. Nilai umum yang digunakan pada attribut
cache_swap_low adalah 90%
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
65
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.
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
66
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
67
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 acl <nama acl> src ip-address / netmask
o acl <nama acl> src address1 – address2 /
netmask
o acl <nama acl> dst ip-address / netmask
o acl <nama acl> myip / netmask
o acl <nama acl> arp mac-address
o acl <nama acl> srcdomain < nama domain >
o acl <nama acl> dstdomain < nama domain >
o acl <nama acl> srcdom_regex [-i] < pattern >
o acl <nama acl> dstdom_regex [-i] < pattern >
68
o acl <nama acl> time [ hari ] [ waktu ]
o acl <nama acl> url_regex [ -i ] < pattern regex >
o acl <nama acl> urlpath_regex [ -I ] < pattern
regex >
o acl <nama acl> urllogin [ -i ] [ ^a-zA-Z0-9 ]
o acl <nama acl> port 80 22 25
o acl <nama acl> port 80 – 1024
o acl <nama acl> myport 3128 8080
o acl <nama acl> proto HTTP FTP
o acl <nama acl> method GET POST
o acl <nama acl> browser [ -i ] < pattern regex >
o acl <nama acl> referer_regex [ -i ] <pattern
regex>
o acl <nama acl> ident < nama user >
69
o acl <nama acl> ident_regex [ -i ] <pattern regex>
o acl <nama acl> src_as < nomor autonomous
system >
o acl <nama acl> dst_as < nomor autonomous
system >
o acl <nama acl> proxy_auth < nama user >
o acl <nama acl> proxy_auth_regex [ - i ] <pattern
regex>
o acl <nama acl> snmp_community [ nama
community ]
o acl <nama acl> maxconn < jumlah koneksi >
o acl <nama acl> max_user_ip [-s] < jumlah >
o acl <nama acl> req_mime_type < tipe mime >
o acl <nama acl> req_header < nama header >
70
o acl <nama acl> rep_mime_type < tipe mime >
o acl <nama acl> rep_header < nama header >
o acl <nama acl> external < nama acl >
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
71
delay_pools adalah attribut konfigurasi squid yang
berfungsi untuk membuat definisi jumlah bagian yang
akan digunakan. Contoh: delay_pools 3.
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
acl admin 192.168.1.250/32acl kantor src 192.168.1.0/24acl kepala src 192.168.1.1 192.168.1.2acl staff src 192.168.1.10 192.168.1.11
delay_pools 3
delay_class 1 1delay_parameters 1 -1/-1delay_access 1 allow admindelay_access 1 deny all
delay_class 2 1delay_parameters 2 150000/64000delay_access 2 allow kepaladelay_access 2 deny all
delay_class 3 3delay_parameters 3 256000/32000 192000/32000
delay_access 3 allow kantordelay_access 3 allow staffdelay_access 3 deny all
72
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 browsing disediakan 384
kb dan sisanya akan dialokasikan untuk
keperluan aktifitas lain.
73
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.
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
yang harus dilakukan adalah memberikan hak akses
terhadap acl tersebut dengan menggunakan
http_access allow <nama acl>.
# Konfigurasi authentikasi menggunakan PAMauth_param digest program /usr/lib/squid/pam_auth
# menggunakan daemon untuk authentikasi sebanyak 10 buahauth_param digest children 10auth_param digest realm Squid Proxy Authentication Depkominfo
# session authentikasi berlaku selama 2 jamauth_param digest credentialsttl 2 hoursauth_param digest nonce_max_duration 1 hoursacl password proxy_auth REQUIREDhttp_access allow password
74
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.
75
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,
pam_auth, ncsa_auth, passwd dan lain sebagainya.
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 dan client.
Parameter nonce_garbage_interval hanya berlaku
untuk scheme digest. Contoh : auth_param digest
nonce_garbage_interval 5 minutes.
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
76
sebuah nonce akan 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.
77
root@Gateway:~# apt-get install squidguard
Instalasi Squidguard
Untuk melakukan instalasi squidguard gunakan perintah
berikut :
Konfigurasi Squidguard
78
dbhome /var/lib/squidguard/dblogdir /var/log/squid
time jam_kerja {weekly mtwhf 08:00 - 16:00
}
src kantor {ip 192.168.1.0/255.255.255.0within jam_kerja
}
dest adult {domainlist adult/domainsurllist adult/urlsexpressionlist adult/expressionsredirect http://www.depkominfo.go.id
}
dest dilarang {domainlist dilarang/domainsurllist dilarang/urlsredirect http://www.depkominfo.go.id
}
Kemudian buat direktori /var/lib/squidguard/db/adult :
Buat file adult/domains dan edit file tersebut :
Tambahkan :
Pada file tersebut dapat ditambahkan domain-domain
situs dewasa
Kemudian buat direktori dilarang :
Buat file adult/domains dan edit file tersebut :
Tambahkan :
79
root@Gateway:~# cd /var/lib/squidguard/dbroot@Gateway:~# mkdir adult
root@Gateway:~# touch adult/domainsroot@Gateway:~# vi adult/domainsplayboy.comxxx.com
root@Gateway:~# cd /var/lib/squidguard/dbroot@Gateway:~# mkdir dilarang
root@Gateway:~# touch dilarang/domainsroot@Gateway:~# vi dilarang/domains
dowload.comnapster.com
Pada file tersebut dapat ditambahkan domain-domain
situs yang dilarang.
80
Integrasi Squid dan Squidguard
Buka file /etc/squid/squid.conf
Edit option berikut
Menjalankan Squid
Setelah keseluruhan proses konfigurasi selesai dilakukan
maka hal selanjutnya yang harus dilakukan adalah
melakukan pemeriksaan terhadap hasil konfigurasi
dengan cara menjalankan squid proxy server. Untuk
menjalankan squid, lakukan perintah seperti berikut:
root@Gateway:~# vi /etc/squid/squid.conf
redirect_program /usr/bin/squidGuard -C
/etc/squid/squidGuard.conf
root@Gateway:~# /etc/init.d/squid start
81
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
82
Intrusion Detection System
83
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.
84
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 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
85
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)
Konsep yang terdapat di balik teknik deteksi
penyalahgunaan ini adalah adanya cara untuk
memodelkan serangan dalam bentuk pola atau
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
mampu mendeteksi serangan, sedangkan pada
teknik deteksi 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
86
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.
Dalam pemakaiannya, snort dapat diaplikasikan pada
Demiliterized Zone maupun jaringan internal (LAN).
87
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.
88
Instalasi SNORT
Konfigurasi SNORT
Sebelum mengkonfigurasi SNORT, lakukan langkah-
langkah berikut :
Buat direktori /var/log/snort
Buat group snort
Buat user snort dan tambahkan ke dalam group snort
Ubah kepemilikan file /var/log/snort menjadi :
root@Gateway:~# apt-get install snort
root@Gateway:~# mkdir /var/log/snort
root@Gateway:~# groupadd snort
root@Gateway:~# useradd –g snort snort
root@Gateway:~# chown snort /var/lib/snort
89
Kemudian konfigurasi SNORT, edit file
/etc/snort/snort.conf:
Edit file tersebut dengan :
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:~# vi /etc/snort/snort.conf
var HOME_NET 192.168.1.0/24var EXTERNAL_NET !$HOME_NETvar DNS_SERVERS 192.168.1.3/32
root@Gateway:~# ./snort –vde
90
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
91
Multi Router Traffic Graph
92
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 analisis dan
kemudian melakukan manajemen jaringan dengan baik.
MRTG merupakah software yang berlisensi GNU General
Public License sehingga siapa saja dapat 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:
Menginterogasi remote host dan melakukan SNMP
query terhadap SNMP spesifik OID.
93
Menyimpannya data hasil SNMP query ke
database.
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
Konfigurasi MRTG
Pertama-tama edit file konfigurasi snmpd :
Edit isi filenya sebagai berikut :
root@Gateway:~# apt-get install mrtg snmpd
root@Gateway:~# vi /etc/snmp/snmpd.conf
94
Jalankan snmpd
Buat user mrtg
cfgmaker adalah sebuah perangkat lunak yang
disediakan oleh MRTG dan berfungsi untuk membuat
konfigurasi secara otomatis berdasarkan parameter –
parameter yang diberikan oleh user.
com2sec public default publicgroup public v1 publicgroup public v2c publicgroup public usm publicview all included .1access public “” any noauth exact all none none
root@Gateway:~# /etc/init.id/snmpd start
root@Gateway:~# adduser mrtg
Konfigurasi dengan cfgmaker
root@Gateway:~# cfgmaker –global “WorkDir: /var” \–global “Options[_]: growright,bits” \[email protected] --output /etc/mrtg.cfg
95
Edit file /etc/mrtg.cfg
Tambahkan option berikut :
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
root@Gateway:~# vi /etc/mrtg.cfg
RunAsDaemon:YesInterval:5Refresh:300
96
jaringan melalui MRTG. Satuan refresh yang digunakan
pada umumnya adalah detik.
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.
Indexmaker berfungsi untuk membuat sebuah index
laporan yang sesuai dengan konfigurasi mrtg yang telah
dibuat dengan menggunakan cfgmaker.
Jalankan Mrtg
Cron Scheduler
*/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
root@Gateway:~# indexmaker –output /var/www/mrtg/index.html \/etc/mrtg.cfg
97
REFERENSI
1. HOWTO/Tutorial MRTG Graph Setup
(Router/Switch) – SNMP Setup.
http://www.crucialp.com/resources/tutorials/
network-configuration/howto-tutorial-mrtg-graph-
setup-router-switch-snmp.php
2. SNMP and MRTG on Sarge quick start
http://www.debian-administration.org/articles/366
root@Gateway:~# env LANG=C mrtg /etc/mrtg.cfg
98
BANDWIDTH MANAGEMENT
99
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. Dengan alokasi yang tepat diharapkan mampu
menjalankan aplikasi yang delay-sensitif seperti misalnya
distance learning, video streaming, remote presentation,
video conference, dan lain-lain.
Hierarchical Token Bucket (HTB) sebagai aplikasi
manajemen bandwidth yang tersedia secara gratis dan
100
dapat dijalankan diatas platform sistem Operasi LINUX
merupakan Bandwidth Manager yang baik, diharapkan
penggunaannya yang tepat dan akurat akan membuat
jaringan yang menerapkan Bandwidth Manager ini
bekerja secara optimal.
101
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 B (192.168.1.20) mendapat koneksi
downstream 128 kbps
- komputer C (192.168.1.30) mendapat koneksi
downstream 128 kbps dengan bandwidth untuk
POP3 96 kbps dan FTP 32 kbps
Setting pada komputer gateway sebagai berikut :
102
Gambar 14 - Hirarki Pembagian Bandwidth
103
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
104
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.
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
105
REFERENSI
1. Boxman, Jason. Traffic Shaping with Linux v2.4
and HTB qdisc.
http://www.trekweb.com/~jasonb/articles/linux_tc_
minihowto.shtml
2. Devera, Martin. HTP Linux Queuing discipline
manual.
http://luxik.cdi.cz/~devik/qos/htb/manual/userg.ht
m
3. Boxman, Jason. A Practical Guide to Linux Traffic
Control.
http://trekweb.com/~jasonb/articles/traffic_shapin
g/
106
107