Firewall di Linux

Pendahuluan

Mengapa diberi nama firewall? Mungkin itu pertanyaan yang pertama kali muncul ketika membaca artikel tentang keamanan, baik di Win, Linux maupun sistem operasi apa saja. Menurut istilah konstruksi bangunan, firewall adalah sebuah struktur yang dibuat untuk mencegah penyebaran api. Hampir senada dengan istilah awalnya, Firewall bertujuan menjaga LAN dari ”api” akses yang tidak diinginkan dari Internet. Disamping agar pengguna LAN tidak sembarangan mengeluarkan ”api” aksesnya ke Internet. Dengan kata lain firewall dibuat untuk membatasi antara dua dunia (LAN dan Internet).

Firewall yang pertama kali dibuat adalah sebuah mesin Unix yang menjadi perantara antara sebuah LAN dengan Internet. Jika seorang user ingin mengakses Internet maka ia harus login terlebih dahulu ke mesin Unix untuk kemudian mengakses dari situ. Begitu pula ketika seorang user ingin mendownload data dari Internet maka ia harus download terlebih dahulu pada mesin Unix, baru dipindah pada workstation user.

Firewall sendiri terbagi menjadi dua jenis yakni :

1. Filtering Firewalls – yang akan memblok dan melewatkan paket-paket tertentu

2. Proxy Servers – berfung sebagai perantara koneksi

Packet Filtering Firewalls

Packet filter adalah sebuah software yang memeriksa header dari paket ketika paket tersebut lewat, dan memutuskan tindakan apa yang dilakukan terhadap paket tersebut. Apakah paket tersebut di-DROP (misal dengan menghapus paket tersebut), ACCEPT(misal, paket tersebut diteruskan ke tujuannya), atau hal lain yang lebih kompleks.

Pada Linux, packet filtering ditanamkan pada kernel ( sebagai modul kernel, atau digabungkan ke dalam kernel). Penerapan packet filtering sudah cukup lama sejak kernel 1.1. Versi pertamanya, masih banyak mencontoh cara kerja ipfw milik BSD (Sistem Operasi buatan University California atBerkeley), dibuat oleh Alan Cox pada akhir 1994. Berkembang menjadi ipfwadm pada kernel 2.0, ipchains pada kernel 2.2 dan terakhir iptables sejak kernel 2.4.

Packet Filtering Firewalls dengan Iptables

Iptables merupakan paket program yang disertakan secara default oleh banyak distro bersama dengan kernel versi 2.4. Pada iptables nantinya kita akan banyak berhubungan dengan aturanaturan(rules) yang menentukan tindakan apa yang akan dilakukan terhadap sebuah paket. Aturan-aturan ini dimasukan dan dihapus pada tabel packet filtering yang terdapat pada kernel. Sekedar mengingatkan kernel adalah ”jantung” sistem operasi yang terus berada pada memori sejak computer booting hingga komputer dimatikan. Sehingga aturan apapun yang kita tentukan akan hilang pada saat terjadi rebooting, namun demikian terdapat beberapa cara agar aturan-aturan yang telah kita buat dapat di kembalikan pada saat Linux booting, yaitu :

1. Menggunakan perintah iptables-save, untuk menyimpan aturan-aturan yang telah ditentukan dalam sebuah file, dan iptables-restore, untuk memanggil file aturan yang telah dibuat.

2. Meletakannya pada sebuah skrip yang akan berjalan pada saat inisialisasi Linux.

Perjalanan Paket Melintasi Filter

Terdapat tiga daftar aturan pada tabel filter. Daftar-daftar ini disebut ”firewall chains” atau ”chains”. Ketiga chains tersebut adalah INPUT, OUTPUT dan FORWARD. Chains tersebut tersusun kurang lebih sebagai berikut :

Ketika paket melewati salah satu chains (INPUT, OUTPUT atau FORWARD), maka chain akan dilihat untuk menentukan ”takdir” dari paket tersebut. Jika menurut chain paket tersebut harus di DROP maka paket akan dihapus, begitu juga sebaliknya jika menurut chain paket tersebut di- ACCEPT maka paket tersebut akan melanjutkan perjalanannya. Jadi chain sebenarnya merupakan daftar aturan-aturan. Tiap aturan mengatur tindakan apa yang akan dilakukan terhadap sebuah paket berdasarkan header dari paketnya. Jika aturan pertama tidak cocok dengan header paket maka akan dilanjutkan dengan aturan berikutnya, begiru seterusnya. Hingga apabila tidak ada lagi aturan yang sesuai dengan header paket maka kernel akan melihat pada chain policy, yang berisi aturan umum tentang tindakan terhadap suatu paket. Pada kebanyakan sistem, chain policy biasanya akan men-DROP paket tersebut.

Menggunakan iptables

Seperti sudah disebutkan sebelumnya, terdapat tiga chain dasar yaitu:

INPUT

OUTPUT

FORWARD

Untuk memanipulasi chain terdapat beberapa option sebagai berikut :

1. Membuat chain baru (-N)

2. Menghapus chain yang kososng (-X)

3. Mengganti policy untuk chain built-in (-P)

4. Melihat aturan-aturan dari sebuah chain (-L)

5. Menghapus seluruh aturan dari sebuah chain (-F)

6. Mengosongkan paket dan mengeset nol semua aturan pada sebuah chain (-Z)

Terdapat beberapa hal yang dapat kita lakukan sehubungan dengan aturan(rules), yaitu :

1. Menambah aturan baru pada sebuah chain (-A)

2. Memasukkan aturan baru pada posisi tertentu dalam sebuah chain (-I)

3. Mengganti sebuah aturan pada posisi tertentu dalam sebuah chain (-R)

4. Menghapus sebuah aturan pada posisi tertentu, atau aturan pertama yang cocok (-D)

Juga terdapat beberapa parameter berikut, beserta contoh penggunaannya :

Memilih tindakan (-j atau –jump)

Secara garis besar terdapat 3 tindakan terhada suatu paket yaitu, ACCEPT (paket boleh lewat), DROP (paket berhenti / diblok) dan REJECT ( mirip dengan DROP bedanya akan diberitahukan ke alamat IP asal/sumber paket bahwa paket ditolak). Contoh :

# iptables -A INPUT -j DROP

Perintah diatas akan menambahkan aturan ke dalam chain INPUT, dimana semua paket yang ditujukan ke IyaNet akan di-DROP. Untuk menghapus aturan diatas digunakan perintah

# iptables -D INPUT -j DROP

Hasil yang sama juga akan didapatkan dengan perintah

# iptables -D INPUT 1

jika aturan yang dimaksud merupakan aturan pertama.

Memilih peralatan input (-i atau –in-interface) dan memilih peralatan output (-o atau–out-interface)

Parameter ini sangat berguna bila kita memiliki beberapa peralatan masukan dan/atau keluaran, misal kita memiliki 2 kartu jaringan (eth0 dan eth1). Perlu diingat bahwa chain INPUT hanya memiliki peralatan input. Sehingga jika kita menambah parameter -o pada chain INPUT, tidak akan match!. Begitu juga sebaliknya untuk chain OUTPUT. Hanya chain FORWARD saja yang dapat menggunakan kedua parameter.

Contoh :

# iptables -A INPUT -i eth0 -j DROP

Perintah diatas akan men-DROP semua paket yang berasal dari eth0. Contoh penerapan pada chain FORWARD adalah sebagai berikut :

# iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Perintah tersebut akan meng-ACCEPT semua paket yang masuk dari eth0 dan akan keluar menuju eth1.

Memilih jenis protokol (-p atau –proto)

Jenis protokol yang sering digunakan diantaranya adalah TCP, UDP dan ICMP.

# iptables -A INPUT -p icmp -j DROP

Dengan perintah diatas maka akan menambahkan aturan ke dalam chain INPUT dimana untuk setiap paket yang datang dan berjenis protokol icmp (contoh : ping), maka paket tersebut akan di-DROP

Memilih sumber/asal paket (-s atau –source) dan memilih tujuan paket (-d atau – destination)

Ada empat cara pendeklarasian sumber atau tujuan paket yaitu :

1. dengan nama domain, misal http://www.yahoo.com

2. dengan alamat IP, misal 192.168.1.23

3. dengan range alamat berdasarkan most significant bit, misal 212.99.221.0/24

4. dengan range alamat berdasarkan subnet mask, misal 212.99.221.0/255.255.255.0, dimana

hasilnya akan sama dengan no.3.

Contoh :

# iptables -A INPUT -s http://www.hackers.net -j DROP

Perintah diatas akan menambahkan sebuah aturan ke dalam chain input, dimana semua paket yang berasal dari http://www.hackers.net akan di-DROP.

Packet Filtering Firewalls dengan Iptables 39

Kebalikan dari (!)

Parameter inversi ini dapat digabungkan dengan parameter sebelumnya, sebagai contoh :

# iptables -A INPUT -s ! http://www.hackers.net -j ACCEPT

Perintah diatas akan memberikan hasil yang sama dengan contoh perintah sebelumnya, dimana semua nama domain selain http://www.hackers.net akan di-ACCEPT. Dibawah ini beberapa contoh penggunaan gabungan parameter tersebut diatas

Contoh 1

# iptables -A INPUT -s 178.191.122.45 -p tcp –dport telnet -j DROP

Maksud perintah diatas adalah menambah aturan ke dalam chain INPUT, dimana paket yang berasal dari alamat IP 178.191.122.45 dan berjenis protokol tcp serta memiliki port tujuan (destination port) telnet akan di-DROP. Penggunaan –dport dan –sport (source port atau port tujuan) merupakan perluasan dari penggunaan parameter-p tcp.

Contoh 2

# iptables -A OUTPUT -p tcp –dport telnet -i eth1 -j DROP

Perintah diatas akan menambah aturan ke dalam chain OUTPUT, dimana semua paket yang menggunakan protokol tcp, memiliki port tujuan telnet dan keluar melalui peralatan eth1 akan di-DROP

Contoh 3

# iptables -A INPUT -i eth0 -p tcp –dport ! 80 -j DROP

Aturan diatas berarti semua paket yang datang melalui eth0, menggunakan protokol tcp, dengan alamat tujuan selain port 80 akan di-DROP. Untuk mengetahui nama-nama port beserta nomornya anda dapat melihat file /etc/services.

Panduan Teknis Instalasi WLAN

Peralatan

1. Kompas dan peta topografi

2. Penggaris dan busur derajat

3. Pensil, penghapus, alat tulis

4. GPS, altimeter, klinometer

5. Kaca pantul dan teropong

6. Radio komunikasi (HT)

7. Orinoco PC Card, pigtail dan PCI / ISA adapter

8. Multimeter, SWR, cable tester, solder, timah, tang potong kabel

9. Peralatan panjat, harness, carabiner, webbing, cows tail, pulley

10. Kunci pas, kunci ring, kunci inggris, tang (potong, buaya, jepit), obeng set, tie rap, isolator gel, TBA, unibell

11. Kabel power roll, kabel UTP straight dan cross, crimping tools, konektor RJ45

12. Software AP Manager, Orinoco Client, driver dan AP Utility Planet, firmware dan operating system (NT, W2K, W98 / ME, Linux, FreeBSD + utilitynya).

Survey Lokasi / Site Survey

1. Tentukan koordinat letak kedudukan station, jarak udara terhadap BTS dengan GPS dan kompas pada peta

2. Perhatikan dan tandai titik potensial penghalang (obstructure) sepanjang path

3. Hitung SOM, path dan acessories loss, EIRP, freznel zone, ketinggian antena

4. Perhatikan posisi terhadap station lain, kemungkinan potensi hidden station, over shoot dan test noise serta interferensi

5. Tentukan posisi ideal tower, elevasi, panjang kabel dan alternatif seandainya ada kesulitan dalam instalasi

6. Rencanakan sejumlah alternatif metode instalasi, pemindahan posisi dan alat

Pemasangan Konektor

1. Kuliti kabel coaxial dengan penampang melintang, spesifikasi kabel minimum adalah RG 8 9913 dengan perhitungan losses 10 db setiap 30 m

2. Jangan sampai terjadi goresan berlebihan karena perambatan gelombang mikro adalah pada permukaan kabel

3. Pasang konektor dengan cermat dan memperhatikan penuh masalah kerapian

4. Solder pin ujung konektor dengan cermat dan rapi, pastikan tidak terjadi short

5. Perhatikan urutan pemasangan pin dan kuncian sehingga dudukan kabel dan konektor tidak mudah bergeser

6. Tutup permukaan konektor dengan aluminium foil untuk mencegah kebocoran dan interferensi, posisi harus menempel pada permukaan konektor

7. Lapisi konektor dengan aluminium foil dan lapisi seluruh permukaan sambungan konektor dengan isolator TBA (biasa untuk pemasangan pipa saluran air atau kabel listrik instalasi rumah)

8. Terakhir, tutup seluruh permukaan dengan isolator karet untuk mencegah air

9. Untuk perawatan, ganti semua lapisan pelindung setiap 6 bulan sekali

10. Konektor terbaik adalah model hexa tanpa solderan dan drat sehingga sedikit melukai permukaan kabel, yang dipasang dengan menggunakan crimping tools, disertai karet bakar sebagai pelindung pengganti isolator karet

Pembuatan POE

1. Power over ethernet diperlukan untuk melakukan injeksi catu daya ke perangkat Wireless In A Box yang dipasang di atas tower, POE bermanfaat mengurangi kerugian power (losses) akibat penggunaan kabel dan konektor

2. POE menggunakan 2 pair kabel UTP yang tidak terpakai, 1 pair untuk injeksi + (positif) power dan 1 pair untuk injeksi – (negatif) power, digunakan kabel pair (sepasang) untuk menghindari penurunan daya karena kabel loss

3. Perhatikan bahwa permasalahan paling krusial dalam pembuatan POE adalah bagaimana cara mencegah terjadinya short, karena kabel dan konektor power penampangnya kecil dan mudah bergeser atau tertarik, tetesi dengan lilin atau isolator gel agar setiap titik sambungan terlindung dari short

4. Sebelum digunakan uji terlebih dahulu semua sambungan dengan multimeter

Instalasi Antena

1. Pasang pipa dengan metode stack minimum sampai ketinggian 1st freznel zone terlewati terhadap obstructure terdekat

2. Perhatikan stabilitas dudukan pipa dan kawat strenght, pasang dudukan kaki untuk memanjat dan anker cows tail

3. Cek semua sambungan kabel dan konektor termasuk penangkal petir bila ada

4. Pasang antena dengan rapi dan benar, arahkan dengan menggunakan kompas dan GPS sesuai tempat kedudukan BTS di peta

5. Pasang kabel dan rapikan sementara, jangan sampai berat kabel menjadi beban sambungan konektor dan mengganggu gerak pointing serta kedudukan antena

6. Perhatikan dalam memasang kabel di tower / pipa, jangan ada posisi menekuk yang potensial menjadi akumulasi air hujan, bentuk sedemikian rupa sehingga air hujan bebas jatuh ke bawah

Instalasi Perangkat Radio

1. Instal PC Card dan Orinoco dengan benar sampai dikenali oleh OS tanpa konflik dan pastikan semua driver serta utility dapat bekerja sempurna

2. Instalasi pada OS W2K memerlukan driver terbaru dari web site dan ada di CD utility kopian, tidak diperlukan driver PCMCIA meskipun PNP W2K melakukannya justru deteksi ini menimbulkan konflik, hapus dirver ini dari Device Manager

3. Instalasi pada NT memerlukan kecermatan alokasi alamat IO, IRQ dan DMA, pada BIOS lebih baik matikan semua device (COM, LPT dll.) dan peripheral (sound card, mpeg dll.) yang tidak diperlukan

4. Semua prosedur ini bisa diselesaikan dalam waktu kurang dari 30 menit tidak termasuk instalasi OS, lebih dari waktu ini segera jalankan prosedur selanjutnya

5. Apabila terus menerus terjadi kesulitan instalasi, untuk sementara demi efisiensi lakukan instalasi dibawah OS Win98 / ME yang lebih mudah dan sedikit masalah

6. Pada instalasi perangkat radio jenis Wireless In A Box (Mtech, Planet, Micronet dlll.), terlebih dahulu lakukan update firmware dan utility

7. Kemudian uji coba semua fungsi yang ada (AP, Inter Building, SAI Client, SAA2, SAA Ad Hoc dll.) termasuk bridging dan IP Addressing dengan menggunakan antena helical, pastikan semua fungsi berjalan baik dan stabil

8. Pastikan bahwa perangkat Power Over Ethernet (POE) berjalan sempurna

Pengujian Noise

1. Bila semua telah berjalan normal, install semua utility yang diperlukan dan mulai lakukan pengujian noise / interferensi, pergunakan setting default

2. Tanpa antena perhatikan apakah ada signal strenght yang tertangkap dari station lain disekitarnya, bila ada dan mencapai good (sekitar 40 % – 60 %) atau bahkan lebih, maka dipastikan station tersebut beroperasi melebihi EIRP dan potensial menimbulkan gangguan bagi station yang sedang kita bangun, pertimbangkan untuk berunding dengan operator BTS / station eksisting tersebut

3. Perhatikan berapa tingkat noise, bila mencapai lebih dari tingkat sensitifitas radio (biasanya adalah sekitar – 83 dbm, baca spesifikasi radio), misalnya – 100 dbm maka di titik station tersebut interferensinya cukup tinggi, tinggal apakah signal strenght yang diterima bisa melebihi noise

4. Perhitungan standar signal strenght adalah 0 % – 40 % poor, 40 % – 60 % good, 60 % – 100 % excellent, apabila signal strenght yang diterima adalah 60 % akan tetapi noisenya mencapai 20 % maka kondisinya adalah poor connection (60 % – 20 % – 40 % poor), maka sedapat mungkin signal strenght harus mencapai 80 %

5. Koneksi poor biasanya akan menghasilkan PER (packet error rate – bisa dilihat dari persentasi jumlah RTO dalam continous ping) diatas 3 % – 7 % (dilihat dari utility Planet maupun Wave Rider), good berkisar antara 1 % – 3 % dan excellent dibawah 1 %, PER antara BTS dan station client harus seimbang

6. Perhitungan yang sama bisa dipergunakan untuk memperhatikan station lawan atau BTS kita, pada prinsipnya signal strenght, tingkat noise, PER harus imbang untuk mendapatkan stabilitas koneksi yang diharapkan

7. Pertimbangkan alternatif skenario lain bila sejumlah permasalahan di atas tidak bisa diatasi, misalkan dengan memindahkan station ke tempat lain, memutar arah pointing ke BTS terdekat lainnya atau dengan metode 3 titik (repeater) dll.

Perakitan Antena

1. Antena microwave jenis grid parabolic dan loop serta yagi perlu dirakit karena terdiri dari sejumlah komponen, berbeda dengan jenis patch panel, panel sector maupun omni directional

2. Rakit antena sesuai petunjuk (manual) dan gambar konstruksi yang disertakan

3. Kencangkan semua mur dan baut termasuk konektor dan terutama reflektor

4. Perhatikan bahwa antena microwave sangat peka terhadap perubahan fokus, maka pada saat perakitan antena perhatikan sebaik-baiknya fokus reflektor terhadap horn (driven antena), sedikit perubahan fokus akan berakibat luas seperti misalnya perubahan gain (db) antena

5. Beberapa tipe antena grid parabolic memiliki batang extender yang bisa merubah letak fokus reflektor terhadap horn sehingga bisa diset gain yang diperlukan

Pointing Antena

1. Secara umum antena dipasang dengan polarisasi horizontal

2. Arahkan antena sesuai arah yang ditunjukkan kompas dan GPS, arah ini kita anggap titik tengah arah (center beam)

3. Geser antena dengan arah yang tetap ke kanan maupun ke kiri center beam, satu per satu pada setiap tahap dengan perhitungan tidak melebihi ½ spesifikasi beam width antena untuk setiap sisi (kiri atau kanan), misalkan antena 24 db, biasanya memiliki beam width 12 derajat maka, maksimum pergeseran ke arah kiri maupun kanan center beam adalah 6 derajat

4. Beri tanda pada setiap perubahan arah dan tentukan skornya, penentuan arah terbaik dilakukan dengan cara mencari nilai average yang terbaik, parameter utama yang harus diperhatikan adalah signal strenght, noise dan stabilitas

5. Karena kebanyakan perangkat radio Wireless In A Box tidak memiliki utility grafis untuk merepresentasikan signal strenght, noise dsb (kecuali statistik dan PER) maka agar lebih praktis, untuk pointing gunakan perangkat radio standar 802.11b yang memiliki utility grafis seperti Orinoco atau gunakan Wave Rider

6. Selanjutnya bila diperlukan lakukan penyesuaian elevasi antena dengan klino meter sesuai sudut antena pada station lawan, hitung berdasarkan perhitungan kelengkungan bumi dan bandingkan dengan kontur pada peta topografi

7. Ketika arah dan elevasi terbaik yang diperkirakan telah tercapai maka apabila diperlukan dapat dilakukan pembalikan polarisasi antena dari horizontal ke vertical untuk mempersempit beam width dan meningkatkan fokus transmisi, syaratnya kedua titik mempergunakan antena yang sama (grid parabolic) dan di kedua titik polarisasi antena harus sama (artinya di sisi lawan polarisasi antena juga harus dibalik menjadi vertical)

Pengujian Koneksi Radio

1. Lakukan pengujian signal, mirip dengan pengujian noise, hanya saja pada saat ini antena dan kabel (termasuk POE) sudah dihubungkan ke perangkat radio

2. Sesuaikan channel dan nama SSID (Network Name) dengan identitas BTS / AP tujuan, demikian juga enkripsinya, apabila dipergunakan otentikasi MAC Address maka di AP harus didefinisikan terlebih dahulu MAC Address station tersebut

3. Bila menggunakan otentikasi Radius, pastikan setting telah sesuai dan cobalah terlebih dahulu mekanismenya sebelum dipasang

4. Perhatikan bahwa kebanyakan perangkat radio adalah berfungsi sebagai bridge dan bekerja berdasarkan pengenalan MAC Address, sehingga IP Address yang didefinisikan berfungsi sebagai interface utility berdasarkan protokol SNMP saja, sehingga tidak perlu dimasukkan ke dalam tabel routing

5. Tabel routing didefinisikan pada (PC) router dimana perangkat radio terpasang, untuk Wireless In A Box yang perangkatnya terpisah dari (PC) router, maka pada device yang menghadap ke perangkat radio masukkan pula 1 IP Address yang satu subnet dengan IP Address yang telah didefinisikan pada perangkat radio, agar utility yang dipasang di router dapat mengenali radio

6. Lakukan continuos ping untuk menguji stabilitas koneksi dan mengetahui PER

7. Bila telah stabil dan signal strenght minimum good (setelah diperhitungkan noise) maka lakukan uji troughput dengan melakukan koneksi FTP (dengan software FTP client) ke FTP server terdekat (idealnya di titik server BTS tujuan), pada kondisi ideal average troughput akan seimbang baik saat download maupun up load, maksimum troughput pada koneksi radio 1 mbps adalah sekitar 600 kbps dan per TCP connection dengan MTU maksimum 1500 bisa dicapai 40 kbps

8. Selanjutnya gunakan software mass download manager yang mendukung TCP connection secara simultan (concurrent), lakukan koneksi ke FTP server terdekat dengan harapan maksimum troughput 5 kbps per TCP connection, maka dapat diaktifkan sekitar 120 session simultan (concurrent), asumsinya 5 x 120 = 600

9. Atau dengan cara yang lebih sederhana, digunakan skala yang lebih kecil, 12 concurrent connection dengan trouhput per session 5 kbps, apa total troughput bisa mencapai 60 kbps (average) ? bila tercapai maka stabilitas koneksi sudah dapat dijamin berada pada level maksimum

10. Pada setiap tingkat pembebanan yang dilakukan bertahap, perhatikan apakah RRT ping meningkat, angka mendekati sekitar 100 ms masih dianggap wajar.

PENGENALAN SERVER LOAD BALANCING

Server Load Balancing (SLB) disini diartikan sebagai sebuah proses dan teknologi yang mendistribusikan trafik pada beberapa server dengan menggunakan perangkat-perangkat networking. Perangkat tersebut menerima sebuah trafik dari tempat tertentu kemudian trafik tersebut diarahkan ke beberapa server lainnya. Gambar berikut ini menunjukkan bagaimana terjadinya SLB :

Server Load Balancing berfungsi sebagai berikut :

  1. menerima trafik dari sebuah network misalnya web traffic dan mengarahkannya ke site tertentu.
  2. melakukan split trafik menjadi individual request dan menentukan server mana yang akan menerima individual request tersebut.
  3. memantau server dengan menyakinkan bahwa server tersebut bertanggung jawab terhadap traffik.
  4. memberikan redudansi dengan mengaktifkan server lebih dari satu unit melalui mekanisme fail-over.
  5. menawarkan distribusi content seperti pembacaan URL, interconnecting cookies, dan XML parsing.

Awal Pemakaian

Internet awalnya digunakan sebagian besar oleh para akademisi dan sangat sedikit digunakan oleh orang umum. Ketika terjadi booming internet di tahun 1995 menjadikan sebuah server tunggal tidak akan mampu mengatasi dan memproses keinginan pengguna setiap harinya apalagi sejak internet digunakan dalam dunia perdagangan dengan e-commerce dan applikasi multimedia lainnya. Disaat seperti inilah orang mulai mencari cara untuk mengatasi redudansi kinerja server terhadap traffik yang terus meningkat.

Perkembangan

Jika sebuah server telah bekerja pada batas limitnya maka seorang administrator biasanya melakukan penambahan RAM atau melakukan upgrading processor untuk mendapatkan hasil yang lebih baik. Namun hal seperti itu tidak dapat terlalu membantu. Ada saatnya walaupun kita telah melakukan setting optimal terhadap hardware dan sistem operasi yang digunakan kegagalan server mesih sering terjadi.

DNS Load Balancing

Sebelum kita mengenal teknologi SLB, seorang server administrator terlebih dahulu harus menerapkan proses Load Balancing yang dikenal dengan DNS round robin. DNS roun robin menggunakan fungsi DNS untuk menggunakan satu IP address digunakan bersama pada sebuah hostname. Setiap entry DNS diketahui sebagai record yang memetakan sebuah hostname (misalnya www.nengnong.net) ke sebuah IP Address misalnya adalah 208.185.43.202. Biasanya hanya satu IP Addresss yang diberikan untuk satu hostname. Dengan ISO DNS server, BIND 8, maka DNS entri untuk www.nengnong.net bisa dilihat seperti berikut :

www.nengnong.net IN 208.185.43.202

Dengan DNS round robin maka dimungkinkan multiple IP address digunakna pada sebuah hostname yang dapat digunakan untuk mendistribusikan trafik sehingga tidak terlalu sibuk seperti halnya hanya menggunakan satu IP Address. Singkatnya disini kita bisa melihat tiga IP Address untuk sebuah web server yakni 208.185.43.202, 208.185.43.203, dan 208.185.43.204 yang di sharing dan di gunakan oleh www.nengnong.net. Konfigurasi DNS server untuk ketiga IP Address tersebut adalah seperti berikut :

www.nengnong.net IN A 202.185.43.202

IN A 202.185.43.203

IN A 202.185.43.204

Kita bisa cek effek dari penggunaan DNS dengan nslookup, seperti berikut :

[n3]# nslookup http://www.nengnong.net

Server: ns1.nengnong.net

Address: 198.143.25.15

Name: http://www.nengnong.net

Addresses: 208.185.43.202, 208.185.43.203, 208.185.43.204

Dengan demikian distribusi trafik untuk www.nengnong.net terbagi menjadi tiga seperti pada gambar berikut :

Terlihat bahwa distribusi dengan DNS round robin sederhana, namun menggapa mesti menggunakan SLB? Alasannya adalah DNS round robin masih memiliki keterbatasan, distribusi trafik yang tidak dapat diprediksi, caching isue, dan pengukuran kesalahan yang sulit dilakukan.

DNS 101

DNS berasosiasi dengan IP address dengan sebuah hostname sehingga kita tidak perlu mengingat angka-angka yang rumit. Setiap komputer yang terhubung ke Internet harus memiliki IP Address. Ketika user mengetikan URL sebuah hostname pada Browser, maka sistem operasi akan mengirimkan queri untuk melakukan konfigurasi DNS Server terhadap hostname tersebut. DNS server tersebut biasanya tidak memberikan informasi (kecuali di cached) sehingga domain name server mencari nama domain dengan root server. Root server juga tidak memiliki informasi IP Address tapi mengetahui siapa yang memiliki kemudian memberikan laporan kepada DNS server user. Detail prosesnya dijelaskan seperti berikut :

  1. User mengetikan URL ke dalam browser
  2. Operating System melakukan DNS request untuk mengkonfigurasi DNS server.
  3. DNS server melihat apakah ada IP Address yang di cached. Jika tidak maka melakukan query pada Root Server untuk mencari informasi DNS server yang dimaksudkan.
  4. Root server kemudian membalas dengan authoritative DNS Server terhadap request dari hostname.
  5. DNS server melakukan query terhadap auhoritative DNS server dan menerima respon.

Caching

Salah satu keterbatasan pada DNS round robin adalah DNS caching. Untuk mengindari DNS Server dari banyaknya request yang sama dan menjaga utilisasi bandtwith maka DNS Server melakukan DNS caching. Selama informasi pada DNS mengalami perubahan yang tidak berarti maka akan berfungsi seperti biasa. Namun jika DNS server memberikan masukan baru pada DNS maka sistem akan mencaching entri tersebut sampai entri tersebut expired.

Distribusi Trafik

Distribusi trafik juga merupakan salah satu masalah pada DNS round robin. DNS round robin akan mendistribusikan trafik pada IP Address yang telah diberikan pada sebuah hostname. Jika ada tiga IP Address yang diberikan maka trafik akan di distribusikan ke masing-masing ketiga IP tersebut. Jika ada empat IP address yang diberikan maka trafik akan didistribusikan pada keempat IP tersebut. Namun permasalahannya distribusi trafik sangat signifikan dan tidak selalu stabil. Gambar berikut menunjukan scenario failure pada DNS berbasis load balancing.

Evolusi

Sangat jelas bahwa SLB digunakan untuk mengatasi masalah redudansi, skalabiliti, dan manajemen yang diinginkan. Web Sites saat ini terus tumbuh semakin banyak. Saat ini downtime adalah asosiasi dengan sebuah ukuran rupiah. Beberapa situs kehilangan jutaan rupiah setiap menitnya hanya karena server mengalami down. SLB dibutuhkan untuk mengatasi hal ini. Load Balancing bekerja dengan trafik yang diarahkan pada situs. Satu URL, satu IP Address, dan load lancing digunakan untuk mendistribusikannya dengan baik. SLB memiliki beberapa keuntungan diantaranya adalah :

Fleksibel

dengan SLB kita dapat menambah atau mengurangi jumlah server pada site kita setiap saat. Keuntungan dari sistem ini adalah perawatan pada mesin dapat dilakukan dengan benar. SLB juga dapat mengarahkan trafik pada cookies, URL parsing, algoritma statik dan dinamis dan masih banyak lagi.

Availability Tinggi

SLB dapat melakukan pengecekan status available sebuah server, mengontrol server yang tidak merespon rotasi dan mengembalikannya pada rotasi sehingga berfungsi kembali. Dilakukan secara otomatis tanpa memerlukan intervensi dari administrator.

Load balancer dimulai dari perangkat berbasis PC, tapi sekarang fungsi loadbalancing juga dapat dilakukan pada switch atau router.

Teknologi Lainnya

SLB bekerja dengan melakukan manipulasi tujuan paket jaringan untuk server. Ada beberapa teknologi lain yang dapat digunakan sama dengan SLB diantaranya adalah sebagai berikut :

Firewall Load Balancing (FWLB)

Firewall Load Balancing (FWLB) dikembangkan untuk mengatasi beberapa keterbatasan pada teknologi Firewall. Sebagian besar Firewall adalah berbasis CPU seperti mesin SPARC atau mesin x86 based. Karena prosesor memiliki keterbatasan, throughput firewall pun menjadi terbatas.Kecepatan prosesor, konfigurasi, dan beberapa metric menjadi factor kinerja firewall. Seperti pada SLB, FWLB memungkinkan implementasi beberaa firewall di sharing dan di load sama halnya seperti SLB. Namun karena trafik yang berbeda maka konfigurasi dan teknologinya pun sedikit berbeda. Konfigurasi umumnya adalah seperti berikut :

Global Server Load Balancing

Global Server Load Balancing (GSLB) juga memiliki konsep yang sama dengan SLB hanya saja digunakan untuk distribusi pada lokasi yang lebih luas. SLB bekerja pada LAN (Local Area Network), sedangkan GSLB bekerja pada Wide Area Network (WAN). Ada beberapa cara untuk mengimplemetasikan GSLB seperti DNS based dan BGP based (Border Gateway Protocol). Berikut ini adalah contoh konfigurasi dasar GSLB :

Clustering

Clustering memberikan yang sama seperti halnya pada SLB yakni memberikan availability yang tinggi dan skalabiliti dengan sedikit perbedaan. Clustering melibatkan software protocol (proprietary dari masing-masing vendor) yang berjalan pada beberapa server dengan tujuan untuk melakukan sharing load (seperti pada gambar dibawah). Cluster berada didepan beberapa server kemudian melakukan manipulasi paket pada network device dan menerima trafik kemudian membaginya pada server lainnya. Ada integrasi yang kuat dengan software server.

Referensi : Tony Bourke, Server Load Balancing, O’Rielly, 2001

Konsep Sistem Client-Server

Pendahuluan

Diawal perkembangannya perangkat komputer adalah barang yang mahal dan mewah. Pengembangan dan pengoperasiannya rumit dan terpusat. Namun seiring dengan berjalannya waktu yang tadinya proses tersentralisasi dikembangakan menjadi proses terdistribusi sampai pada end user. Hal ini sangat dipengaruhi oleh adanya perkembangan teknologi LAN (Local Area Network) di pertengahan tahun 1980 an. Dengan LAN sebuah PC dapat melakukan komunikasi satu dengan lainnya dan dapat saling berbagi resource baik perangkat keras ataupun database. LAN mampu memberikan interkonektivitas yang tidak pernah ada sebelumnya. Untuk dapat melakukan hal tersebut dibutuhkan sebuah komputer pemproses yang memfasilitasi dan melayani proses sharing semua resource yang ada. Perangkat ini disebut dengan Server. Untuk melakukan Sharing File biasanya dibutuhkan sebuah File Server begitu juga untuk sharing Printer dibutuhkan sebuah Printer Server. Namun ternyata hal seperti ini belumlah cukup. Jumlah PC yang bertambah dengan sangat cepat seiring dengan berkembangnya sebuah organisasi. Jumlah end user dan client juga bertambah banyak. Kebutuhan akan perangkat menjadi bertambah pula, tidak hanya membutuhkan sebuah printer server, juga dibutuhkan server-server lainnya seperti server pengolahan gambar, server pengolahan suara, dan lainnya. Server-server ini dengan database dan applikasinya harus dapat diakses oleh beberapa PC, ataupun diakses oleh sebuah komputer mainframe melalui sebuah LAN. Sistem seperti ini disebut Sistem Client Server seperti digambarkan pada Gambar 1 dibawah ini.

Gambar 1. Skema Sistem Client-Server

Komponen dan Fungsi Sistem Client Server

Gambaran umum konfigurasi Client Server diperlihatkan pada gambar 2. Dengan pendekatan Client Server setiap PC dapat melakukan secara independen sebuah pemrosesan lokal dan mensharing perangkat enterprise melalui LAN. Untuk kasus yang lebih luas kemampuan akses dapat dilakukan melalui MAN (Metropolita Area Network) atau WAN (Wide Area Network). Sebuah database dan program applikasi enterprise misalnya diletakan pada sebuah server dimana setiap end user dapat melakukan akses melalui Client Processor, LAN dan Server seperti pada gambar 3.

Gambar-2 Host Sistem dan Sistem Client Server

User

User disini adalah end user yang mengakses client untuk mendapatkan sebuah layanan. End user bisa saja seorang manager perusahaan, professional, karyawan di sebuah perusahaan, atau pelanggan. Ada timbul sedikit kerancuan. Pelanggan dalam sebuah bisnis atau perdagangan disebut dengan client, tapi client ini adalah manusia, jangan dibingungkan dengan istilah client pada pemrosesan komputer. Dapat kita katakan sebuah user atau end user adalah ketika melakukan proses akhir menggunakan sistem client server.

Gambar 3. Komponen Sistem Client Server

Client

Client dapat berupa sebuah pemproses yang powerful atau dapat juga berupa terminal tua dengan kemampuan proses yang terbatas. Secara mendasar client adalah sebuah PC dengan sistem operasinya sendiri. Sebagian besar pemrosesan banyak dilakukan di sebuah server dimana bagian-bagian dalam lingkup pekerjaannya ditentukan oleh program komputer, inilah yang menyebabkan sistem client server berbeda dengan sistem transaksi tradisional. Sistem client server memungkinkan sebuah teknologi dan applikasinya digunakan bersamaan. Applikasi disini termasuk didalamnya adalah pemroses pesan seperti e-mail, pemproses file lokal seperti DBMS untuk browsing dan penghitungan, atau sharing resource seperti sistem image processing, sistem optical character, sistem advance grafic processing, plotter warna, atau sebuah printer. Perangkat-perangkat ini bisa saja berasal dari berbagai vendor yang ada. Untuk memfasilitasi query pemprosesan dari client, sebagian besar sistem client server menggunkaan Structured Query Language (SQL) yang merupakan struktur bahasa tingkat tinggi. SQL dengan database relationalnya adalah standar de facto untuk hampir sebagian besar sistem client server. Salah satu komponen terpenting sistem client server adalah User Interface (UI), yang digunakan user untuk berkomunikasi. Bagi user yang seorang programmer, UI tidak mesti user friendly, tapi untuk end user yang bukan programmer sangat dibutuhkan UI yang user friendly. Dibutuhkan Graphical User Interface (GUI) untuk end user karena GUI menampilkan grafis untuk melakukan akses dengan icon-icon tanpa perlu memasukan perintah pemrograman. Kedepannya GUI tidak hanya digunakan untuk menggantikan akses perintah pemprograman tapi juga digunakan untuk grafik, voice, video, animasi, untuk selanjutnya menjadi sebuah teminal multimedia.

Network dan Transmisi

Server dan client dapat terkoneksi dengan sebuah media transmisi. Media transmisi ini dapat berupa kabel, wireless, atau fiber. Dengan media ini memungkinkan sebuah perusahaan untuk melakukan enterprice network lebih besar dalam sebuah workgroup atau departemen. Untuk itu dibutuhkan interoperability sebagai contoh operasi dan pertukaran informasi yang heterogen melalui berbagai perangkat software dalam jaringan. Esensinya adalah keterbukaan dalam melakukan pertukaran baik komponen dan software yang berasal dari vendor yang berbeda-beda. Dengan interoperability baik vendor dan customer akan mendapatkan keuntungan.

Interoperability memberikan dampak pada arsitektur jaringan. Awal sebuah arsitektur jaringan adalah SNA namun arsitektur ini bersifar proprietary dan tidak terbuka dengan vendor lainnya. Kemudian sebagian besar orang beralih ke OSI yang di standarkan oleh ISO (International Standards Organization). OSI banyak di gunakan di Eropa namun kurang berkembang di Amerika Serikat. Di Amerika Serikat muncul TCP/IP yang kemudian di dukung oleh Unix User Group.

Servers

Konektivitas adalah hal yang terpenting namun bukan satu-satunya faktor untuk mendapatkan efisiensi dan efektivitas sharing resource yang dimiliki. Dibutuhkan sebuah perangkat yang memiliki kemampuan mengontrol software, menjalankan program applikasi, dan mengakses database dengan mudah dan cepat. Untuk itulah diperlukan sebuah Server. Sebuah Server harus mendukung spesifikasi yang mendukung resource sharing seperti Network Server Operating System, Multiple User Interface, GUI (Graphic User Interface), dialog oriented cleint – server languange seperti SQL dan database arsitektur. Saat ini resuorce bisa tersebar secara spasial tidak hanya berada dalam batasan sebuah negara namun sudah antar negara yang membutuhkan interkoneksi yang tinggi.

Beberapa software dapat diperoleh dari vendor atau software house. Software tersebut bisa bersifat mainframe centric (sentral) atau PC server centric. Namun selain semua hal yang tersedia pada paket software tersebut tetap dibutuhkan in house sofware development. Juga perlu untuk mengintegrasikan sistem client server dengan sistem informasi yang telah ada dan menggunakan sistem tersebut tidak hanya sebagai end user tapi juga bekerja diantara group end user.

Server melakukan pemprosesan mirip dengan pemrosesan yang ada disisi client. Namun ada sedikit perbedaan, biasanya sebuah server tidak mempunyai User Interface karena didesain untuk networking, memproses database dan memproses applikasi. Pembeda antara pemrosesan client dan server ada pada tanggungjawab dan fungsi dari pemrosesan yang dilakukan. Sebagai contoh sebuah server dapat bertindak sebagai repository dan penyimpanan informasi dalam kasus pada file server. Tipe dari Server tergantung pada kebutuhan dan tujuan sistem. Dalam beberapa kasus sebuah server harus mampu melakukan multitaskting (membentuk multi fungsi secara simultan), menggunakan multiple operating system, lebih portable, memiliki skalabilitas, dan memiliki waktu respon yang cepat untuk melakukan teleprosesing. Dengan kapabilitas seperti itu menjadikan server memiliki harga yang relatif mahal. Penyebab mahalnya harga server adalah :

  1. Network Management

  2. Gateway function termasuk akses keluar dan e-mail publik

  3. Penyimpanan

  4. File Sharing

  5. Batch processing

  6. Bulletin Board access

  7. Facsimile transmission

Pemrosesan Database

Beberapa prinsip pemrosesan data pada server termasuk didalamnya adalah integritas, sekuriti, dan recovery data. Enterprise data yang dibutuhkan oleh sebuah perusahaan membutuhkan sebuah integrasi, pengaksesan data yang di kendalikan dan kelola dengan securiti yang baik, dan recovery data dapat dilakukan jika terjadi kegagalan sistem.

Beberapa data management dilakukan secara otomatis. Biasanya dilakukan oleh DBMS yang berada di Server yang mengontrol akses diantara pemprosesan multiple sistem dan mengintegrasikan akses data melalui network management.

Pemrosesan Applikasi

Data digunakan oleh program applikasi yang mana sebagian besarnya berada di server. Ada beberapa applikasi client server yang disediakan oleh vendor. Tools applikasi ini menjadikan pengembangan sistem client-server menjadi lebih kompetitif. Pengembangan applikasi client-server dapat dilakukan dengan beberapa cara yakni :

  1. Fungsi pemprosesan didistribusikan diantara client dan server. Porsi dari client dijalankan oleh end user dengan menggunakan bahasa pemrograman database seperti SQL yang memberikan semacam request data dan kemudian mengekstrak data tersebut dari lokasinya dimana semua proses tersebut dikontrol oleh sistem operasi.

  2. UI dan GUI menjadi lebih sering digunakan karena tingkat kemudahan penggunaan menjadi lebih penting.

  3. Digunakannya Advance networking seperti LAN

  4. Code generator juga digunakan, Metodelogi Objeck Oriented akan menambah tingkat penggunan.

  5. Tools pengembangan seperti SQL Server, FLOWMARK, Progress, ObjectView, Oracle menjadi sangat diperlukan

Ketika sebuah applikasi diproses dan permintaan akan data dilakukan oleh client, maka hasilnya dikirimkan melalui LAN. Hasil dari applikasi tersebut dapat saja dilakukan perubahan bentuk untuk mendapatkan tampilan yang lebih baik. Semuanya ini dilakukan di sisi client oleh end user melalui UI (User Interface). Diagram skematik pendekatan client server ditunjukan pada gambar 4.

Gambar 4- Applikasi Sistem Client Server

Keuntungan Sistem Client Server

  1. Mengurangi tanggung jawab dan biaya overhead

  2. Kontrol biaya operasional dan pengembangan yang lebih mudah

  3. Waktu respon yang lebih baik dalam pemrosesan.

  4. Akses data yang lebih besar bagi perusahaan. Sistem Client server mengamankan transaksi data dan menyimpannya pada server untuk kemudian dapat di sharing, dimanipulasi, dianalisa secara lokal.

  5. Memungkinkan pendistribusian proses dari tersentralisasi menjadi desktop computing

  6. Menawarkan kooperatif prosesing antara individu dan group antar departemen, geografis dan zona waktu.

  7. Rewriting software pada sistem client server memberikan keuntungan untuk mendapatkan sistem yang terintegrasi dan memberikan efisiensi.

  8. Menawarkan friendlu interface pada end user khususnya pada knowledge worker dan customer.

  9. Keterlibatan yang lebih untuk end user pada implementasi IT.

  10. Arsitektur terbuka dan sistem terbuka memberikan fleksibilitas dalam memilih konfigurasi hardware yang berbeda, network, dan DBMS dari berbagai vendor.

Hambatan Implementasi Sistem Client Server

Organisasi

  1. Skill personel yang kurang memadai untuk implementasi sistem client server.

  2. Anti perubahan terhadap teknologi baru.

  3. Biaya konversi

  4. Membutuhkan koordinasi dan kontrol yang lebih pada end user.

Teknologi

  1. Membutuhkan infrastruktur LAN dan WAN

  2. Skill dan peralatan yang belum memadai

  3. Belum adanya pemahaman dan pengalaman dalam merencanakan sistem client server

  4. Tidak tersedianya produk dan tools pengembangan sistem client server

  5. Sedikitnya applikasi client server

  6. Sedikitnya standar nasional dan internasional untuk sistem client server.

Artikel ini Disadur dari : The Client Server Paradigm, Bill Foy, Vice President of Micro Systems, 1998

Hati-hati dengan Password Default

Kelalaian kita sewaktu melakukan instalasi biasanya tidak ‘sempat‘ mengubah hal-hal yang default. Settingan default ini ternyata bisa membawa malapetaka bagi kita kalo di manfaatkan oleh orang-orang yang tidak bertanggung jawab. Contoh Windows XP misalnya saya yakin software ini adalah SO yang paling banyak digunakan saat ini. Untuk menjebolnya sangat sederhana tinggal tekan Ctrl + Alt + Del bersamaan, kemudian masuk ke menu login ketikan usernamenya administrator dan paswordnya kosongkan saja tinggal enter. Kalo berhasil maka kita sudah menjadi hacker level PlayGroup yang memanfaatkan kesalahan atau keteledoran saat instalasi. Contoh lain adalah menguasai Modem ADSL Speedy misalnya. Caranya mudah tinggal scan IP nya dengan IP Scan software kemudian gunakan browser dan coba username dan password default dari modem bawaan Speedy. Saya akan coba scan Network di wilayah saya dengan Nmap. ini contoh hasilnya :

nmap

Perintah untuk scan alamat IP Address yang Aktive

nmap2

List alamat IP Address yang aktive

Setelah kita mendapatkan list IP yang Aktive pada buka browser kemudian masukan salah satu IP Addressnya. Coba gunakan username dan password default modem speedynya. Untuk mengetahui usernamedan password default Modem ADSL beberapa pabrikan bisa klik disini. Kalo berhasil masuk maka langkah selanjutnya terserah anda.

Jadi tujuan tulisan ini adalah mengingatkan sesama terutama yang pake Speedy supaya jangan biasakan pake username dan password default dari pabrikannya. Karena bisa fatal akibatnya. Bukan mengajak untuk menjadi Hacker.