Administrasi Firewall dan Bandwidth Management dengan Shorewall

Written By IT Bandung Community on Sunday, October 30, 2011 | Sunday, October 30, 2011

Free Website Hosting


I. Pendahuluan
Kernel linux mememiliki banyak subsistem diantaranya adalah subsistem networking. Dalam susbsistem networking terdapat banyak komponen yang berkaitan dengan networking, diantaranya komponen yang berkaitan dengan paket filtering dan komponen yang mengatur transmisi paket data melalui atau dari suatu network interface. Dengan kalimat sederhananya kernel linux memiliki banyak fungsifungsi yang berkaitan dengan masalahmasalah networking, seperti kemampuan linux untuk dapat dijadikan sebagai firewall dan bandwidth managament (traffic control), serta yang lainnya.
Firewall adalah suatu mekanisme untuk melakukan paket filtering dan NAT (Network Address
Translation), yang umumnya diimplementasikan untuk keperluan mengisolasi suatu segmen jaringan seperti LAN dari segmen jaringan lainnya seperti internet. Dengan firewall Anda dapat mengatur apa saja service yang ada pada jaringan luar seperti internet yang dapat diakses oleh jaringan lokal Anda, dan sebalikya. Harapannya dari firewall ini adalah Anda dapat melakukan pengamanan tingkat pertama dari jaringan lokal Anda.
Bandwidth managament adalah suatu mekanisme untuk dapat mengatur rate dan prioritas traffic data yang dikirimkan melalui/dari suatu network interface ke jaringan. Istilah bandwidth managament ini sering disebut juga dengan traffic control. Pengaturan ini sangat penting dalam menjamin kualitas layanan jaringan, kita bisa membayangkan bila dalam jaringan ada sebuah komputer yang melakukan download data dari internet dengan ukuran file yang didownload cukup besar maka bandwidth penggunaan akses internet tersebut bisa jadi tidak tersedia lagi bagi komputer lainnya, atau dengan kata lain layanan jaringan tidak tersedia secara baik, karena pengaturan traffic data yang tidak 'fair'.
Untuk itu kita memerlukan suatu sistem yang mampu mengatur secara fair agar konsumsi bandwidth dalam jaringan tidak dimonopoli oleh satu atau beberapa komputer saja (hal ini penting buat sebuah warung internet). Solusi untuk kejadian seperti itu adalah kita membeli sebuah device khusus yang dapat mengatur traffic atau bandwidth tersebut yang dipasang diantara modem dan jaringan LAN.
Biasanya solusi tersebut memerlukan cost yang cukup besar. Solusi murah yaitu dengan
menggunakan sistem Linux, karena kernel linux sudah memiliki dukungan untuk melakukan traffic control.
Dalam artikel ini penulis akan membahas secara singkat bagaimana memanfaatkan sistem Linux
untuk dijadikan sebagai Firewall dan Bandwidth Management. Teoriteori dan konsep secara detil tentang firewall dan bandwidth management tidak akan dibahas dalam tulisan ini.

Untuk kebutuhan software dan utilitas dalam tulisan ini penulis menggunakan utilitas seperti iptables dan iproute2. Dan untuk memudahkan dalam konfigurasi serta administrasi firewall dan bandwidth management penulis menggunakan software Shorewall. Dalam tulisan ini penulis menggunakan sistem operasi linux distribusi Fedora Core 6.

II. Shorewall
Shoreline Firewall atau lebih dikenalnya dengan istilah shorewall adalah suatu utilitas yang dapat
digunakan untuk konfigurasi netfilter/iptables (firewall). Dengan shorewall Anda dapat sekaligus
mengimplementasikan firewall dan Bandwidth management (traffic control). Untuk medapatkan
software shorewall Anda dapat mengakases http://www.shorewall.net/download.htm. Jika Anda menggunakan distro seperti RedHat, CentOS, dan Fedora Anda juga dapat memperoleh paket shorewall dalam kemasan binary rpm melalui http://www.invoca.ch/pub/packages/shorewall/4.0/, atau Anda dapat mencarinya melalui repository paket rpm di http://rpm.pbone.net.

III. Skenario
Dengan asumsi Anda telah menginstal shorewall maka setelah itu Anda dapat langsung
mengkonfigurasi shorewall. Konfigurasi pertama yang akan kita lakukan adalah konfigurasi
shorewall sebagai Firewall dan konfigurasi berikutnya adalah konfigurasi shorewall untuk
implementasi bandwidth managament. Namun untuk dapat membayangkan seperti apa kebijakan firewall serta bandwidth managament yang akan kita bangun ini maka kita akan buat skenarionya.
Berikut ini skenarionya:
● Komputer linux yang akan kita jadikan sebagai firewall dan bandwidth managament ini
dipasang diantara modem/router dan jaringan LAN (lihat gambar 1). Dimana komputer
tersebut memiliki dua buah network interface yaitu eth0 (terhubung ke modem/router) dan
eth1 (terhubung ke LAN). IP address eth0 adalah 192.168.0.2, dan eth1 192.168.1.1.
● Modem/router memiliki IP LAN 192.168.0.1 , sudah disetup untuk internet sharing.
● Kebijakan firewall hanya akan mengijinkan akses dari jaringan LAN ke internet dan firewall
untuk service service seperti http dan https (port 80 dan 443), ssh (22), ftp (20,21), pop3(110), imap(143) dan DNS (53). Akses dari Internet ke LAN dan ke firewall diblok.
● Sedangkan untuk skenario bandwidth management kita hanya akan mengatur bandwidth yang akan ditransmisikan ke jaringan LAN (traffic downlink), dengan klasifikasi dan kriteria
sebagai berikut:
● Maximum bandwidth incoming dan outgoing traffic diset sebesar 256kbit
● Traffic control diterapkan untuk outgoing traffic pada eth1 (yaitu traffic yangkeluar dari komputer firewall ke jaringan LAN)
● Skenario class dan rate masingmasing class tampak pada gambar 2. Kriteria
filternya adalah sebagai berikut;
■ Komputerkomputerl pada LAN 192.168.1.0/24 untuk download file
melalui layanan http memperoleh rate 128kbit dan ceil 256kbit, prioritas 0
■ Komputerkomputerl pada LAN 192.168.1.0/24 untuk download file melalui layanan SSH/SCP memperoleh rate 48kbit dan ceil 256kbit, prioritas 1
■ Koneksi selain http dan ssh/scp memperoleh rate default yaitu 80kbit, prioritas 2

Diagram jaringan


Diagram class

IV. Konfigurasi Shorewall Firewall
Konfigurasi pertama yang akan kita lakukan adalah mengkonfigurasi shorewall sebagai firewall
sesuai skenario yang telah dipaparkan sebelumnya. Untuk itu ikuti langkah-langkah
berikut ini:
● Pastikan agar shorewall dapat diaktifkan dengan mendefinisikan parameter
STARTUP_ENABLED=Yes, kemudian pastikan juga agar shorewall menerapkan internal
traffic control. Untuk memastikannya coba Anda cek file /etc/shorewall/shorewall.conf , lau
pastikan nilai dari parameter TC_ENABLED adalah Internal .
● Mendefinisikan zone network dengan cara mengedit file /etc/shorewall/zones, sehingga isi file
tersebut seperti berikut ini:
############################################################################
###
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
lan ipv4
net ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
● Mendefinisikan interface untuk tiap zone yang telah didefinisikan dengan cara mengedit file
/etc/shorewall/interfaces, sehingga isi file tersebut seperti berikut ini:
############################################################################
###
#ZONE INTERFACE BROADCAST OPTIONS
net eth0
lan eth1
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
● Mendefinisikan default policy, dengan cara mengedit file /etc/shorewall/policy, sehingga isi
file tersebut seperti berikut ini:
############################################################################
###
#SOURCE DEST POLICY LOG LIMIT:BURST
# LEVEL
fw lan ACCEPT
fw net ACCEPT
lan fw DROP info
lan net DROP info
net fw DROP info
net lan DROP info
all all DROP
#LAST LINE -- DO NOT REMOVE

● Mendefinisikan rule masquerade agar dapat menjadi internet sharing, dengan cara mengedit
file /etc/shorewall/masq :
#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth0 eth1
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
● Langkah berikutnya, mendefinisikan rule firewall , dengan mengeditlah file
/etc/shorewall/rules :
SECTION NEW
ACCEPT lan fw tcp 20,21,22,53,80,110,143,443
ACCEPT lan fw udp 20,21,22,53,80,110,143,443
ACCEPT lan net tcp 20,21,22,53,80,110,143,443
ACCEPT lan net udp 20,21,22,53,80,110,143,443
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
● Selanjutnya aktifkan shorewall, atau jika sebelumnya sudah aktif maka restart shorewall agar
membaca konfigurasi yang telah dibuat, seperti berikut ini:
[root@labtop1 ~]# shorewall start
atau
[root@labtop1 ~]# shorewall restart
V. Konfigurasi Shorewall – Bandwidth managament
Setelah melakukan konfigurasi firewall maka berikutnya melakukan konfigurasi shorewall untuk
implementasi bandwidth managament. Untuk itu ikuti langkahlangkah
berikut ini:
● Mendefinisikan root qdisc dan parent class, dengan mengedit file /etc/shorewall/tcdevices :
############################################################################
###
#INTERFACE IN-BANDWITH OUT-BANDWIDTH
eth1 256kbit 256kbit
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
● Mendefinisikan child class, dengan cara mengedit file /etc/shorewall/tcclasses:
############################################################################
###
#INTERFACE MARK RATE CEIL PRIORITY OPTIONS
eth1 1 128kbit 256kbit 0
eth1 2 48kbit 256kbit 1
eth1 3 80kbit 256kbit 2 default
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

● Mendefinisikan rule/filter, dengan cara mengedit file /etc/shorewall/tcrules :
############################################################################
###
#MARK SOURCE DEST PROTO DEST SOURCE USER TEST
LENGTH TOS
# PORT(S) PORT(S)
# 2 baris berikut ini mengatur traffic http, ssh/scp dari firewall ke LAN
# dengan cara memasukkan masing 2x traffic ke class 1:11 dan 1:12
1 $FW 192.168.1.0/24 tcp - 80
2 $FW 192.168.1.0/24 tcp - 22
# 2 baris berikut ini mengatur traffic http,ssh/scp dari internet ke LAN
# dengan cara memasukkan masing 2x traffic ke class 1:11 dan 1:12
1:F 0.0.0.0/0.0.0.0 192.168.1.0/24 tcp - 80
2:F 0.0.0.0/0.0.0.0 192.168.1.0/24 tcp - 22
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Setelah konfigurasi restart shorewall dengan perintah berikut ini:
[root@labtop1 ~]# shorewall restart
Untuk melihat daftar class yang sudah dibuat sebagai berikut:
[root@labtop1 ~]# shorewall show tc
Agar shorewall diaktifkan saat proses boot lakukan perintah berikut ini:
[root@labtop1 ~]# chkconfig shorewall on
Untuk mengujinya coba Anda lakukan mendownload file via http atau scp dari internet ke LAN.

0 comments:

 
berita unik