Pembagian Bandwidth dengan pelanggan yang berbeda

MikroTikls [dengan trade name MikroTik®] didirikan tahun 1995 bertujuan mengembangkan sistem ISP dengan wireless. MikroTikls saat ini telah mendukung sistem ISP dengan wireless untuk jalur data internet di banyak negara, antara lain Iraq, Kosovo, Sri Lanka, Ghana dan banyak negara lainnya.

Bandwidth merupakan barang yang mahal. Untuk saat ini kisaran 64 kps dihargai sekitar 1 jt perbulan. Permasalahnnya bandwith 64 kbits itu b
an nilai yang besar. Rata-rata yang didapat pelanggan adalah 64 1:2. Artinya 1 jalur 64 kbits digunakan untuk 2 pelanggan sekaligus.

Setiap ISP yang berkembang pasti memiliki pelanggan yang berbeda-beda tipe dan biasanya dapat dikategorikan dengan berapa besar uang yang harus dibayar ke ISP tiap bulannya. Dalam contoh percobaan berikut ini kita di kategorikan pelanggan corporate( bandwidth 128 Kbps) yang mana berarti pelanggan corporate akan mendapat Bandwidth maksimal sebesar 128 Kbps dalam kondisi apapun dan untuk perusahaan (Bandwidth 256 Kbps dengan 4 user) ini sama saja seperti pelanggan corporate yang sama-sama mendapat bandwidth maksimal 128 Kbps tetapi pada perusahaan ini memiliki 3 user yang mana artinya apabila 1 dari ketiga user aktif maka bandwidth maksimal yang didapat 128 Kbps dan apabila semua user aktif maka Bandwidth nya dibagi sebanyak user nya ( 256 Kbps dibagi 3 user).

Konfigurasi Jaringan :

Public --- (10.0.0.1/24) MT (192.168.1.1/24)--- Local

Skenarionya seperti ini :
Client 192.168.1.10 --- Bandwidth 512kbps 1:1 (corporate)
(512k up / 512k down)

Client 192.168.1.20, 21, 22, 23 --- Bandwidth 384kbps 1:4 (personal)
(64k up / 384k down)

Pertama-tama membuat mangle di winbox yaitu:
1. Untuk trafik upload corporate
/ip firewall mangle add chain=prerouting src-address=192.168.1.10 in-interface=Local action=mark-packet new-packet-mark=corporate-up passthrough=no
2. Untuk trafik download corporate
/ip firewall mangle add chain=forward src-address=192.168.1.10 action=mark-connection new-connection-mark=corporate-conn passthrough=yes
/ip firewall mangle add chain=forward connection-mark=corporate-conn in-interface=Public action=mark-packet new-packet-mark=corporate-down passthrough=no
3. Untuk trafik upload personal
/ip firewall mangle add chain=prerouting src-address=192.168.1.20 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
/ip firewall mangle add chain=prerouting src-address=192.168.1.21 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
/ip firewall mangle add chain=prerouting src-address=192.168.1.22 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
/ip firewall mangle add chain=prerouting src-address=192.168.1.23 in-interface=Local action=mark-packet new-packet-mark=personal-up passthrough=no
4. Untuk trafik download personal
/ip firewall mangle add chain=forward src-address=192.168.1.20 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward src-address=192.168.1.21 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward src-address=192.168.1.22 action=mark-connection new-connection-mark=personal-conn passthrough=yes
/ip firewall mangle add chain=forward src-address=192.168.1.23 action=mark-connection new-connection-mark=personal-conn passthrough=yes

/ip firewall mangle add chain=forward connection-mark=personal-conn in-interface=Public action=mark-packet new-packet-mark=personal-down passthrough=no
diperhatikan untuk mark-packet maka passthrough=no sedangkan untuk mark-connection passthrough=yes
setelah proses diatas selesai kemudian akan tampil sebuah tampilan seperti dibawah ini:

1

Setelah selesai di mangle kemudian lanjut ke pembuatan queue tree :
/queue tree add name=down parent=Local queue=default
/queue tree add name=up parent=global-in queue=default

untuk download di gunakan in-interface, dalam hal ini Local, sedangkan untuk upload kita menggunakan global-in

selanjutnya menambahkan type baru di queue :
yang harus kita tambahkan sesuai skenario diatas adalah PCQ untuk paket corporate 512kbps (1:1) dan paket personal 384kbps (1:4).
Untuk paket corporate kita langsung menetapkan angka 512kbps, sedangkan untuk personal kita tidak dapat menetapkan angka disini karena bandiwdth yang akan diterima oleh paket personal tergantung seberapa banyak user yang online.
a. jika hanya 1 orang online akan mendapatkan bandwidth penuh 256 kbps.
b. jika 2 orang online maka masing-masing akan mendapatkan 128 kbps.
c. jika 3 orang online maka masing-masing akan mendapatkan 85,4 kbps.
d. jika 4 orang online maka masing-masing akan mendapatkan 64 kbps.

Perintah dibawah ini untuk membuat type queue dengan nama 256-down dengan jenis pcq dan memiliki rate download sebesar 256 kbps
/queue type add name=256-down kind=pcq pcq-rate=256k pcq-classifier=dst-address pcq-total-limit=2000
Tampilannya seperti gambar dibawah ini.
2

/queue type add name=256-up kind=pcq rate=256k pcq-classifier=src-address pcq-total-limit=2000
Tampilan ya seperti gambar dibawah ini:
3

/queue type add name=auto-down kind=pcq pcq-rate=0 pcq-classifier=dst-address pcq-total-limit=2000
Tampilan pada gambar dibawah ini:
4

/queue type add name=auto-up kind=pcq rate=0 pcq-classifier=src-address pcq-total-limit=2000
Tampilan pada gambar dibawah ini:
5

kita menggunakan 0 pada paket personal karena Mikrotik akan menghitung berapa besar bandwidth yang tersedia pada saat client melakukan koneksi.
Setelah itu kita kembali ke queue tree dan menambahkan Paket corporate:
/queue tree add name=corp-down packet-mark=corporate-down parent=down queue=256-down
yang mana Perintah di atas digunakan untuk membuat paket download queue tree corporate dengan kapasitas rate 256kbps.
Tampilan pada gambar dibawah ini:
6

/queue tree add name=corp-up parent=up packet-mark=corporate-up queue=256-up
yang mana Perintah di atas digunakan untuk membuat paket upload queue tree corporate dengan kapasitas rate 256kbps.
Tampilan pada gambar dibawah ini:
7

Paket personal

/queue tree add name=per-down packet-mark=personal-down parent=down queue=auto-down max-limit= 256kbps
yang mana Perintah di atas digunakan untuk membuat paket download queue tree personal dengan kapasitas rate maksimum 256 kbps.
Tampilannya seperti gambar dibawah ini:
8

/queue tree add name=per-up parent=up packet-mark=personal-up queue=auto-up max-limit=64k
yang mana Perintah di atas digunakan untuk membuat paket upload queue tree personal dengan kapasitas rate maksimum 64kbps.
Tampilan pada gambar dibawah ini:
9


Pengetesan trafik

1. Melihat semua trafik
Dari pengetasan semua trafik seperti di bawah, terlihat bahwa ada 3 PC yang sedang mengakses internet yaitu PC dengan ip 192.168.1.3, 192.168.1.2, 192.168.1.10
Trafik yang terlihat adalah trafik real time jadi setiap waktu akan berubah tergantung dari host/user yang menggunakan akses internet.

10

2. Melihat trafik PC tertentu
Trafik di bawah merupakan trafik corporate yaitu PC dengan ip 192.168.1.2 melalui pemantauan trafik ini kita dapat mengetahui kemana saja host corporate mengakses internet.

11

Dan terakhir tampilan queue list Corporate dan personal

12
MANAJEMEN BANDWIDTH PADA MIKROTIK


MikroTik RouterOS™ adalah sistem operasi dan yang dapat digunakan untuk menjadikan komputer menjadi router network yang handal, mencakup berbagai fitur lengkap untuk network dan wireless.
Mikrotik sekarang ini banyak digunakan oleh ISP, provider hotspot, ataupun oleh pemilik warnet. Mikrotik OS menjadikan komputer menjadi router network yang handal yang dilengkapi dengan berbagai fitur dan tool, baik untuk jaringan kabel maupun wireless.
Dalam tutorial kali ini saya menyajikan pembahasan dan petunjuk sederhana dan simple dalam mengkonfigurasi mikrotik untuk keperluan-keperluan tertentu dan umum yang biasa dibutuhkan untuk server/router, konfirugasi tersebut misalnya, untuk NAT server.
topologinya:
Photobucket

Kendala yang sering ditemui pada sebuah jaringan adalah tidak ada pembagian bandwidth yang adil diantara client jaringan Jika salah satu dari client kita menggunakan download accelerator atau flashget, tentu saja bandwidth yang kita miliki tersebut akan habis oleh satu client saja, sementara client lain jika ingin menggunakan bandwidth menjadi terhambat, karena link yang kita sewa telah saturasi.
Untuk mengatasi itu semua maka diperlukan bandwith management, pada mikrotik ada sebuah fitur PCQ (Per Connection Queue) yaitu mekanisme antrian untuk menyamakan bandwidth yang dipakai oleh multiple client.
Cara kerja PCQ jika hanya satu client yang sedang aktif menggunakan bandwidth sementar yang lain idle, maka client tersebut dapat menggunakan maximal bandwidth yang tersedia, tetapi pada saat client ke dua aktif, maka maximal bandwith yang digunakan oleh kedua client tadi menjadi masing-masing 128kbps /2 , jika ada client lain pada saat bersamaan aktif, maka masing-masing akan mendapat jatah maximal 128kbps /3. Sehingga akan terjadi pembagian bandwidth yang adil untuk seluruh client.

Akses mirotik:
1. via console
Mikrotik router board ataupun PC dapat diakses langsung via console/ shell maupun remote akses menggunakan putty (www.putty.nl)
2. via winbox
Mikrotik bisa juga diakses/remote menggunakan software tool winbox
3. via web
Mikrotik juga dapat diakses via web/port 80 dengan menggunakan browser
Mikrotik Sebagai NAT
Network Address Translation atau yang lebih biasa disebut dengan NAT adalah suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP. Banyaknya penggunaan metode ini disebabkan karena ketersediaan alamat IP yang terbatas, kebutuhan akan keamanan (security), dan kemudahan serta fleksibilitas dalam administrasi jaringan.
Saat ini, protokol IP yang banyak digunakan adalah IP version 4 (IPv4). Dengan panjang alamat 4 bytes berarti terdapat 2 pangkat 32 = 4.294.967.296 alamat IP yang tersedia. Jumlah ini secara teoretis adalah jumlah komputer yang dapat langsung koneksi ke internet. Karena keterbatasan inilah sebagian besar ISP (Internet Service Provider) hanya akan mengalokasikan satu alamat untuk satu user dan alamat ini bersifat dinamik, dalam arti alamat IP yang diberikan akan berbeda setiap kali user melakukan koneksi ke internet. Hal ini akan menyulitkan untuk bisnis golongan menengah ke bawah. Di satu sisi mereka membutuhkan banyak komputer yang terkoneksi ke internet, akan tetapi di sisi lain hanya tersedia satu alamat IP yang berarti hanya ada satu komputer yang bisa terkoneksi ke internet. Hal ini bisa diatasi dengan metode NAT. Dengan NAT gateway yang dijalankan di salah satu komputer, satu alamat IP tersebut dapat dishare dengan beberapa komputer yang lain dan mereka bisa melakukan koneksi ke internet secara bersamaan.
NAT (Network Address Translation) berfungsi menerjemahkan atau menantranslasikan IP address Private (IP address Local Area Network) ke Public IP address. Dengan NAT, kita hanya memerlukan minimal 1 buah Public IP Address untuk digunakan bersama oleh jaringan lokal kita yang tadinya tidak mempunyai akses internet menjadi mempunyai akses ke internet tanpa memberi IP public ke setiap computer client
Setting Dasar Mikrotik
Langkah awal dari semua langkah konfigurasi mikrotik adalah setting ip. Hal ini bertujuan agar mikrotik bisa di remote dan dengan winbox dan memudahkan kita untuk melakukan berbagai macam konfigurasi
- Login sebaga admin degan default password ga usah diisi langsung enter. Gantilah dengan ip address anda dan interface yg akan digunakan untuk meremote sementara
Seting mikrotik ada 2 cara yaitu dengan TEXT dan Winbox.
Di sini akan saya terangkan seting mikrotik dengan Winbox.
Salah satu feature pada mikrotik Router OS adalah adanya winbox. Yaitu software yang berjalan pada windows untuk konfigurasi mikrotik router anda. Dengan dukungan GUI/grafik yang dapat memudahkan anda mengkonfigurasi mikrotik anda.
Instalasi Winbox
1. Setelah install Mikrotik sudah OK, selanjutnya masukkan IP yang telah di tentukan untuk remote.
Setela itu buka browser dengan alamat IP tadi, dan download Winbox
Tampilan winbox seperti Ini

Photobucket

2. Buka Winbox yang telah di download tadi
3. Setelah itu Di tampilan Winbox, pada kolom Connect To masukkan no IP tadi dengan Login : admin password : kosong. Kemudian klik tombol Connect

h

4. Setelah itu Login ke Mikrotik Via Winbox sudah berhasil dan akan tampil seperti tampilan dibawah ini

Photobucket

Dan memiliki Menu Manajemen Bandwidth pada Mikrotik yang berfungsi sebagai berikut:
• Menu Interface
Menu interface merupakan gerbang trafik keluar atau masuk ke mikrotik. Secara default mikrotik hanya mengenali interface yang secar fisik memang ada.
• Menu IP
Menu IP adalah menu utama dengan berbagai pilihan yang berhubungan dengan konfigurasi Internet Protocol. Dalam mengkonfigurasi manajemen bandwidth sub menu yang sering digunakan yaitu addresses, routes, firewall

1. Sub Menu Address
Sub menu address adalah bagian utama yang digunakan untuk membuat router bekerja.
2. Sub Menu Routes
Sub menu routers menampilkan kondisi tabel routing baik aktif maupun yang cadangan.
3. Sub Menu Firewall
Sub Menu Firewall ini berisi konfigurasi packet filter dan fitur mengatur fungsi keamanan untuk mengatur arus data dari dan ke router.
4.Sub Menu DNS
Sub menu DNS digunakan untuk mengurangi trafik DNS ke internet dan mempercepat waktu yang reselove dapat digunakan fungsi DNS cache.
• Menu Tools
Menu ini berisi beberapa submenu tool yang digunakan untuk menguji jaringan maupun merekam kondisi suatu jaringan
1. Sub Menu Packet Sniffer
Digunakan untuk melekukan ”sniff” paket yang sampai interface ke router dan menampilkan dengan menggunakan software yang tersedia.
2. Sub Menu Torch
Realtime traffic monitoring (torch) digunakan untuk memonitor traffic yang melewati interface berdasarkan protocol, sumber, dan tujuan serta port. Torch menampilkan traffic protokol dan kecepatan saat diterima dan dikirim
• Menu Queues
Queuing digunakan saat trafik meninggalkan router menuju interfase fisik atau menuju ke interface virtual(global-in, global-out, dan global-total). Masing-masing virtual interface tersebut berfungsi sebagai berikut:
1. Global–in merupakan informasi semua trafik yang diterima semua interface router sebelum melelui paket filter. Global-in queuing dieksekusi setelah mangle dan dst-nat.

2. Global-out merupakan informasi semua trafik yang keluar dari interface router. Queue yang dipasang disini akan mengatur trafik sebelum meninggalkan router.

3. Global-total merupakan informasi semua trafik yang keluar dan masuk interface router. Jika queuing dipasang maka akan membatasi total kecepatan pada kedua arah. QoS dapat beroperasi dengan cara drop paket, data tidak akan berpengaruh pada paket TCP karena setiap paket yang didrop akan dikirimkan ulang.

4. Queuing disipline(qdisc) merupakan algoritma yang digunakan untuk mengatur paket didalam queue dan membuang paket tersebut jika tidak ada tempat di dalam queue.

5. CIR (Committed Information Rate) kecepatan access yang digaransi. Traffic yang tidak melewati nilai CIR akan selau dikirim.

6. MIR(Maximal Information Rate) kecepatan alir data maksimum yang disediakan.

7. Priority adalah urutan prioritas paket untuk diproses. Prioritas yang lebih tinggi diproses lebih dahulu

8. Contention Ratio merupakan rasio kecepatan data yang dibagi kepada pemakai Pengaturan queueing default bisa dilihat di /queue interface, sedang untuk virtual interface secara default tidak tersedia. Jika tidak ada pengaturan queue atau tidak ada kriteria yang terpenuhi maka paket yang melewati interface tersebut mendapatkan kecepatan dan prioritas yang tertinggi. Mikrotik mempunyai jenis pengaturan queueing berdasarkan pengaruh aliranpaket.

9. Scheduler adalah pengaturan queue cara ini menggunakan algoritma reschedul dan mendrop paket yang tidak muat didalam queue. Cara yang digunakan dalam mode ini adalah PFIFO, BFIFO, SFQ, PCQ, RED.

10. Shaper merupakan pengaturan yang bertujuan membatasi kecepatan akses seperti PCQ dan HTB.


5. Klik IP —> ADDRESS

Photobucket

6. Kemudian masukkan IP public (dari ISP) dan setelah itu daftar IP pada 2 ethernet dan Setting Gateway, IP —> Routes.
7. Masukkan IP GATEWAY (dari ISP), Masukkan Primary DNS dan Secondary DNS (dari ISP) dan Kemudian klik Apply dan OK
8. Setting MASQUERADE

Photobucket

9. Setelah itu Klik IP —> Firewall,Kemudian pilih NAT Pada tab General. dan kemudian akan ditampilkan seperti tampilan dibawah ini:

Photobucket

10. pada tab Action pilih masquerade Kemudian klik Apply dan OK.
Tampilan nya seperti dibawah ini

Photobucket

11. Setelah itu Pada tab General pada Chain pilih srcnat pada Out. dan akan di tampilkan seperti tampilan dibawah ini.

Photobucket

12. Pada new simple queue Pilih advanced setelah itu memberikan kapasitas target upload dan target download. Setelah itu klik OK dan akan di tunjukkan seperti tampilan dibawah ini.

Photobucket

13. Pada new simple queue pilih general kemudian tandai pada target upload dan target download setelah itu OK. Tampilannya seperti tampilan dibawah ini Kita dapat menentukkan batas maksimal bandwidth yang dapat digunakan oleh computer yang dikenakan limitasi.

Photobucket

14. Setelah itu pada queue list akan tampil yang telah kita buat tadi. Untuk lebih jelas dapat dilihat pada tampilan dibawah ini.

Photobucket

Berwarna kuning maksud nya adalah kapasitasnya setengah yang terpakai
Stelah itu kita melakukan Konfigurasi BW PC 10.10.10.3/4/5 (PC_A) yang mana pada simple queue name diisi dengan PC_A dan memasukkan target address (10.10.10.3/4/5 )nya.tampilannya akan seperti tampilan dibawah ini

Photobucket

Setelah itu dilakukan konfigurasi PC_B dengan name PC_B dan dengan target addressnya 10.10.10.6 dan 10.10.10.7.
Tampilan nya seperti dibawah ini.

Photobucket

Dan queue list nya akan di tunjukkan seperti tampilan dibawah ini

Photobucket

Terlihat pada tampilan diatas ada yang warna hijau berarti kapasitasnya masih free
Dan pada saat warna merah maksudnya adlah bandwith yang ada sudah pada kapasitas tertingginya

Langkah terakhir adalah mengetes NAT dari menu tool lakukan tracert

Photobucket

Setelah itu kita mencoba proses pengepingan

Photobucket

Shaping Bandwidth
Kehandalan ISP dalam melakukan manajemen bandwidth saat ini menjadi salah satu indikator sebuah ISP memberikan fleksibilitas layanan bagi pelanggan. Dan seperti gayung bersambut banyak pelanggan yang merasa nyaman dengan tipe ISP seperti ini sehingga pelanggan sangat setia untuk tetap menggunakan akses internet dari ISP tersebut.
Di Mikrotik kemampuan menejemen bandwidth dapat dilakukan di menu Queue. Bagian yang agak sulit dan perlu percobaan berulang-ulang adalah pemahaman tentang max-limit, burst-limit, burst-threshold, dan burst-time, sehingga berdampak pada bandwidth yang diberikan ke klien atau pelanggan.
Max-limit merupakan batas maksimal bandwidth yang dapat dikonsumsi oleh computer yang dikenakan limitasi.
Burst-limit merupakan batasan maksimal bandwidth yang dapat dikonsumsi dalam waktu yang singkat yang ditentukan dengan burst-time.
burst-limit itu berfungsi jika user kita masih sedikit kita bisa set lebih dari Maksimal yang kita berikan diatas 80Kbps disini saya set mencapai 64 Kbps.
Pencapaian BW pada 64 Kbps jika BW user nya sudah mencapai 78Kbps harus di bawah Bandwith Maksimal anda 80 Kbps.Perintah ini ada pada burst-threshold.Bandwirth yang di hasilkan 64 kbps tersebut kita set dengan waktu hanya 2 menit dengan perintah burst-time=2m.
Burst-Thres merupakan pemicu atau trigger atau titik pembalik atau batasan bandwidth riil yang diterima sebagai pembatas burst-limit.
Konfigurasi burst limit di menu queue dengan name PC A dan dengan target address 10.10.10.4 dengan max limit 32 kbps dan Burst threshold 64 kbps.

hihi

Hasil burst limitnya adalah seperti yang dtunjukkan pada tampilan dibawah ini

hoho

Pada tampilan terdapat warna kuning maksudnya itu adalah kapasitasnya setengah yang terpakai
Saat warna hijau berarti kapasitasnya masih free
Dan pada saat warna merah maksudnya adlah bandwith yang ada sudah pada kapasitas tertingginya
Selanjutnya adalah proses monitoring traffic.
Tools =Torch, yaitu tools untuk monitoring trafik dalam jaringan tertentu secara realtime

Dengan menggunakan Torch dapat dilakukan proses monitoring terhadap client atau user. misalkan kita dapat mengetahui pc dengan ip 10.10.10.6 sedang browsing ke alamat ip 199.80.53.121 dengan besarnya trafik outgoing 144 kbps dan besarnya trafik incoming 2.3 kbps lalu banyaknya paket yang keluar adalah 9 item dan banyaknya paket yang masuk adalah 6 item.
hasil trafik maksimalnya

Photobucket

Hasil traffic minimalnya

Photobucket
MEMBUAT WEB SERVER, VIRTUAL HOSTING dan HTTPS PADA UBUNTU 9.10

HTML berupa kode-kode tag yang menginstruksikan penjelajah web untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan penjelajah web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka surel ataupun dari PDA dan perangkat lunak lain yang memiliki kemampuan browser. Dengan menggunakan perintah-perintah HTML memungkinkan pengguna untuk melakukan tugas-tugas berikut:
1. Menentukan ukuran dan alur tulisan.
2. Mengintegerasikan gambar dengan tulisan.
3. Membuat Pranala.
4. Mengintegerasikan berkas suara dan rekaman gambar hidup.
5. Membuat form interaktif.
HTML dokumen tersebut mirip dengan dokumen tulisan biasa, hanya dalam dokumen ini sebuah tulisan bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan TAG tertentu. Sebagai contoh jika ingin membuat tulisan ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya dilakukan dengan cara: TAMPIL TEBAL. Tanda digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh tulisan yang ingin ditebalkan, dan diakhiri dengan tanda untuk menonaktifkan cetak tebal tersebut. HTML lebih menekankan pada penggambaran komponen-komponen struktur dan formating di dalam halaman web daripada menentukan penampilannya.Sedangkan penjelajah web digunakan untuk menginterpretasikan susunan halaman ke gaya built-in penjelajah web dengan menggunakan jenis tulisan, tab, warna, garis, dan perataan text yang dikehendaki ke komputer yang menampilkan halaman web. Salah satu hal Penting tentang eksistensi HTML adalah tersedianya Lingua franca (bahasa Komunikasi) antar komputer dengan kemampuan berbeda. Pengguna Macintosh tidak dapat melihat tampilan yang sama sebagaimana tampilan yang terlihat dalam pc berbasis Windows. Pengguna Microsoft Windows pun tidak akan dapat melihat tampilan yang sama sebagaimana tampilan yang terlihat pada pengguna yang menggunakan Produk-produk Sun Microsystems. namun demikian pengguna-pengguna tersebut dapat melihat semua halaman web yang telah diformat dan berisi Grafika dan Pranala.
HTML memungkinkan kita untuk menyunting tampilan atau format berkas yang akan kita kirimkan melalui media daring. Beberapa hal yang dapat dilakukan dalam menentukan format berkas adalah :
1. Kita dapat menampilkan suatu kelompok kata dalam beberapa ukuran yang dapat digunakan untuk judul, heading dan sebagainya.
2. Kita dapat menampilkan tulisan dalam bentuk cetakan tebal
3. Kita dapat menampilkan sekelompok kata dalam bentuk miring
4. Kita dapat menampilkan naskah dalam bentuk huruf yang mirip dengan hasil ketikan mesin ketik
5. Kita dapat mengubah-ubah ukuran tulisan untuk suatu karakter tertentu.
Secara garis besar, terdapat 4 jenis elemen dari HTML:
6. structural. tanda yang menentukan level atau tingkatan dari sebuah tulisan (contoh, (h1)Golf(/h2) akan memerintahkan browser untuk menampilkan "Golf" sebagai tulisan tebal besar yang menunjukkan sebagai Heading 1
7. presentational. tanda yang menentukan tampilan dari sebuah tulisan tidak peduli dengan level dari tulisan tersebut (contoh, boldface akan menampilkan bold. Tanda presentational saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan tulisan,
8. hypertext. tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala ke dokumen lain (contoh, Wikipedia akan menampilkan Wikipedia sebagai sebuah hyperlink ke URL tertentu),

Ada tiga macam link yang dapat kita gunakan :
1. Link menuju bagian lain dari page
2. Link menuju page lain dalam satu web site
3. Link menuju resource atau web site yang berbeda.
Selain markup presentational , markup yang lain tidak menentukan bagaimana tampilan dari sebuah tulisan. Namun untuk saat ini, penggunaan tag HTML untuk menentukan tampilan telah dianjurkan untuk mulai ditinggalkan, dan sebagai gantinya digunakan Cascading Style Sheets.
HTML tidak membedakan penggunaan huruf besar ataupun huruf kecil dari suatu elemen. Suatu elemen HTML terdiri dari tag-tag beserta teks yang ada dalam tag-tag tersebut. Tag ini dinyatakan dengan tanda lebih kecil (<) dan tanda lebih besar (>). Tag biasanya merupakan suatu pasangan yang disebut dengan : 1. Tag awal, dinyatakan dalam bentuk 2. Tag akhir, dinyatakan dalam bentuk
Format : teks yang ditampilkan Contoh : untuk menampilkan teks dalam format teks miring Teks ini terlihat miring di browser anda.
Bagian BODY, yang dinyatakan dengan tag …, merupakan tubuh atau isi dari dokumen HTML dimana anda meletakan informasi yang akan ditampilkan pada browser.

Web Server

Web server adalah software yang menjadi tulang belakang dari world wide web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Modzilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (standar general markup language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja. Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai protokol sendiri, yaitu HTTP (hypertext transfer protocol).
Dengan protokol ini, komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, format data pada world wide web adalah SGML. Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML (hypertext markup language) karena penggunaannya lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun.
Web Server juga disebut Suatu program (dan juga mesin yang menjalankan program) yang mengerti protokol HTTP dan dapat menanggapi permintaan-permintaan dari web browser yang menggunakan protokol tersebut. sedangkan WEB itu sendiri adalah Suatu sistem di internet yang memungkinkan siapapun agar bisa menyediakan informasi:information
Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.
Instalasi Web server yang dibahas kali ini adalah Apache Web server – the HTTP web server
Web Server Apache
Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali didesain untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT. Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang cukup lengkap bagi penggunanya. Beberapa dukungan Apache :
1. Kontrol Akses.
Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP
2. CGI (Common Gateway Interface)
Yang paling terkenal untuk digunakan adalah perl (Practical Extraction and Report Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)
3. PHP (Personal Home Page/PHP Hypertext Processor);
Program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik
4. SSI (Server Side Includes)
Web server Apache mempunyai kelebihan dari beberapa pertimbangan di atas :
a. Apache termasuk dalam kategori freeware.
b. Apache mudah sekali proses instalasinya jika dibanding web server lainnya seperti NCSA, IIS, dan lain-lain
c. Mampu beroperasi pada berbagai platform sistem operasi.
d. Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file konfigurasi.
e. Mudah dalam menambahkan peripheral lainnya ke dalam platform web servernya.
Fasilitas atau ciri khas dari web server Apache adalah :
1) Dapat dijadikan pengganti bagi NCSA web server.
2) Perbaikan terhadap kerusakan dan error pada NCSA 1.3 dan 1.4.
3) Apache merespon web client sangat cepat jauh melebihi NCSA.
4) Mampu di kompilasi sesuai dengan spesifikasi HTTP yang sekarang.
5) Apache menyediakan feature untuk multihomed dan virtual server.
6) Kita dapat menetapkan respon error yang akan dikirim web server dengan menggunakan file atau skrip.
7) Server apache dapat otomatis berkomunikasi dengan client browsernya untuk menampilkan tampilan terbaik pada client browsernya. Web server Apache secara otomatis menjalankan file index.html, halaman utamanya, untuk ditampilkan secara otomatis pada clientnya.
8) Web server Apache mempunyai level-level pengamanan.
9) Apache mempunyai komponen dasar terbanyak di antara web server lain.
10) Ditinjau dari segi sejarah perkembangan dan prospeknya, Apache web server mempunyai prospek yang cerah. Apache berasal dari web server NCSA yang kemudian dikembangkan karena NCSA masih mempunyai kekurangan di bidang kompatibilitasnya dengan sistim operasi lain. Sampai saat ini, web server Apache terus dikembangkan oleh tim dari apache.org.
11) Performasi dan konsumsi sumber daya dari web server Apache tidak terlalu banyak, hanya sekitar 20 MB untuk file-file dasarnya dan setiap daemonnya hanya memerlukan sekitar 950 KB memory per child.
12) Mendukung transaksi yang aman (secure transaction) menggunakan SSL (secure socket layer).
13) Mempunyai dukungan teknis melalui web.
14) Mempunyai kompatibilitas platform yang tinggi.
15) Mendukung third party berupa modul-modul tambahan.
HTTP SERVER Singkatan dari Hypertext Transfer Protocol, yang mana adalah suatu protokol yang digunakan oleh World Wide Web. HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. Sebagai contoh, ketika Anda mengetikkan suatu alamat atau URL pada internet browser Anda, maka sebenarnya web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser (misalnya akses ke database, file, e-mail dan lain sebagainya). Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada pengguna.
Instalasi web server
Sebelum membuat web server pastikan bahwa DNS Server kita telah aktif. Setelah dipastikan DNS kita aktif, maka dapat kemudian diakses dengan menggunakan protocol http. Contohnya adalah http://www.ria.com

Tampilan yang akan muncul pada halaman pertama web adalah “ IT WORKS”. Isi dari halaman pertama ini dapat kita ganti/edit sesuai dengan keinginan kita dengan cara mengubah isi dari file html-nya. Caranya sebagai berikut:
# sudo su
# nano/var/ww/index.html
tampilannya akan seperti tampilan dibawah ini.
web2

(center) fungsi nya adalah supaya tulisan yang telah dibuat berada/posisi nya di tengah-tengah
Setelah itu untuk menampilkan hasilnya yaitu menggunakan browser he http://www.ria.com/
Dan hasil tampilannya akan seperti tampilan dibawah ini.

web3

Setelah itu kita membuat web server yang mana apa bila kita menginginkan cara cepat untuk menuju web yang kita inginkan.
Contohnya kita membuat web dengan nama coba.
Cara nya sama saja seperti membuat veb server biodata diatas yaitu:
# mkdir /var/www/coba
fungsi perintah ini adalah cara untuk membuat file coba didalam folder /var/www.
# nano /var/www/coba/index.html
fungsi perintah diatas adalah untuk mengubah atau membuat isi file coba yg akan dibuat
Setelah itu akan keluar tampilan seperti dibawah ini

web4

Setelah itu di save dan untuk melihat hasilnya dapat di browser he http://www.ria.com/coba/

web5

Dan pada percobaan web server yang terakhir adalah membuat web server yang lebih mudah digunakan fungsinya kita dapat 1 kali browser saja maksudnya adalah apabila kita membrowser ke http://www.ria.com/ kita dapat langsung melihat tampilan biodata seperti tampilan diatas dan kita juga dapat membuka web server coba kita tadi. Selain itu kita juga bias membuka blog kita.
Cara nya sama saja yaitu:
# nano /var/www/coba/index.html
Dan akan tampil tampilan seperti dibawah ini.

web6

Fungsi (a href =”/coba) adalah apabila kita ingin cara cepat ke web server tinggal meng klik tulisan untuk pergi ke folder ini coba klik ini.
Seperti yang ditunjukkan pada tampilan di bawah ini setelah kita membrows ke http://www.ria.com/

web7

Setelah kita klik maka akan tampil seperti tampilan di bawah ini dan hasil tampilannya sama saja seperti tampilan pada percobaan web server tadi.

web8

Fungsi (a href =http:”http//rhewel.blogspot.com) adalah cara cepat untuk masuk/login ke blog rhewel.blogspot.com tinggal mengklik pada tampilan yg bertulisan untuk situs blog. Seperti yang ditunjukkan pada tampilan di bawah ini setelah kita membrows ke http://www.ria.com/

web9

Dan setelah kita meng klik untuk situs blog maka akan langsung masuk/ login ke blog kita.
Yang mana tampilannya seperti dibawah ini.

we10

Virtual Hosting
Virtual server web hosting adalah salah satu web hosting yang paling populer layanan yang tersedia kepada pelanggan dan pemilik bisnis saat ini. Virtual hosting lebih disukai oleh kebanyakan orang sangat efisien karena biaya, rendah dan solusi perawatan yang rendah. Dalam tipe hosting, sumber daya yang tidak dibagi dengan situs-situs lain. Mereka diberi jumlah yang tetap sumber daya dengan sistem operasi mereka sendiri pada server virtual hosting, baik dengan bagian terisolasi ruang disk atau hard drive tertentu pada server. Setiap masalah teknis yang dihadapi oleh situs lain pada server host tidak akan menimbulkan perbedaan dengan situs Anda. Dengan sistem ini pemilik dapat menginstal sistem operasi pilihannya dan bahkan menyesuaikan halaman web.

Mengapa virtual hosting adalah pilihan yang tepat untuk sebagian besar perusahaan:
Harga Terjangkau: Virtual hosting memberikan semua keuntungan dari sebuah dedicated server di sebagian kecil dari biaya dedicated server. Dengan ini Anda memiliki fleksibilitas hosting domain unlimited dengan server virtual pribadi Anda.
Virtual Host merupakan cara untuk mengatur banyak website atau URL di dalam satu mesin atau satu IP. Misalkan kita mempunyai banyak domain tapi hanya mempunyai 1 IP public atau 1 server. Cara untuk mengatasi masalah itu adalah dengan cara membuat virtualhost yang ada di settingan apachenya. Virtual Host bisa anda gunakan setelah anda menginstall package-package apache dan sudah pasti web server anda sudah berjalan dengan baik.

web11

Lebih kuat: Dengan server virtual hosting Anda availing layanan dari dedicated server dibagi menjadi beberapa server. Anda memiliki server yang lebih bandwidth dan kontrol yang lebih besar dibandingkan dengan shared hosting. Setiap partisi memiliki sistem operasi sendiri dan sumber daya perangkat keras.

Unlimited akses root: Virtual private server seperti dedicated server memberikan Anda akses root tak terbatas yang memungkinkan Anda untuk mengkonfigurasi dan mengubah situs Web Anda tanpa mempengaruhi situs-situs lain. Hal ini mengurangi risiko downtime karena kesalahan yang dilakukan oleh orang lain diciptakan. Karena mereka tidak terlihat oleh orang lain, situs web menikmati keuntungan isolasi lengkap.

keamanan Total: Sejak server virtual tidak berbagi ruang mereka dengan pelanggan lain, mereka menikmati total keamanan seperti dedicated server.

INSTALASI VIRTUAL HOSTING PADA UBUNTU 9.10

Saya akan membuat virtual host yang ada sebelumnya atau yang sering kita kenal dengan nama localhost. sebelum kita membuat virtual host pastikan dahulu bahwa apache sudah terinstall di komputer kita sendiri, Setelah sudah dipastikan terinstall apache-nya kemudian cara selanjutnya adalah:
1. Membuat dahulu sebuah directory baru di /var/www dengan cara :
# sudo su
# mkdir /var/www/rhewel
2. kedua kita copy file yang berada di /etc/apache2/sites-available/default /etc/apache2/sites-available/ria dengan cara :
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ria
(ganti nama ria dengan nama virtual host yang akan dibuat)
3. Edit file ria dengan cara:
# nano /etc/apache2/sites-available/ria
web12
edit file yang dibawah ini saja

ServerAdmin webmaster@localhost
ServerName jartel.ria.com
DocumentRoot /home/jartel10/
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Kemudian di save dengan cara tekan ctr+x lalu tekan y dan tekan enter.
4. Untuk mengaktifkannya dapat dengan cara
# a2ensite ria
(Perlu di ingat dhika adalah nama file konfigurasi virtual host yang kita copy bukan nama folder yang kita buat di /var/www/)
5. Dan tahap selanjutnya dengan me-restart service apache itu dengan cara :
# /etc/init.d/apache2 restart
6. Jadi secara simple adalah VirtualHost itu adalah belokan dimana directory masing2 domain tersebut.
Jika anda mempunya 1 domain atau 2 masih bisa dibilang belum memusingkan untuk configurasi file http.conf-nya. Tetapi jika anda sudah mempunya banyak domain diarahkan ke 1 server, misal anda mempunya 10 domain hayoooo gimana? saya juga pernah mengalami hal serupa, file di http.conf itu banyak sekali nama domain dan hampir serupa bentuknya, bisa lelah mata kita melihatnya. Untuk masalah seperti itu anda sebaiknya membuat file configuration yang baru. Coba anda membuat directory dimana file konfigurasi domain tersebut berada.
7. Sekarang tahap terakhir untuk memastikan bahwa virtual host yang kita buat dapat berjalan dengan baik dengan cara mengedit file hosts dengan cara :
# nano /etc/hosts
tambahkan baris berikut :
127.0.0.1 ria.com
menyimpan file konfigrasi dan kita dapat menjalankan konfigurasi virtual engan cara membuka browser dan akan tampil seperti pada tampilan dibawah ini:
web13
Simpan file konfigurasi dan anda bisa menjalankan virtual host dengan cara membuka browser anda dan ketikkan alamat http://ria.com

8. Bila ingin terlihat buatlah file bernama index.html sendiri dan simpan di directory ria (folder yang anda buat di /var/www/rhewel).
untuk mengubah isi dari halaman virtual hosting kita yaitu dengan cara:

# nano /index.html
Index html di tunjukkan pada tampilan dibawah ini.

web14

Dan hasil nya pada saat di browser ke http://jartel.ria.com/

web15

HTTPS

https adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris.
Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443.
Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual.
Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’ bukan dengan ‘http://’
Kesalah pahaman yang sering terjadi pada pengguna kartu kredit di web ialah dengan menganggap HTTPS “sepenuhnya” melindungi transaksi mereka. Sedangkan pada kenyataannya, HTTPS hanya melakukan enkripsi informasi dari kartu mereka antara browser mereka dengan web server yang menerima informasi. Pada web server, informasi kartu mereke secara tipikal tersimpan di database server (terkadang tidak langsung dikirimkan ke pemroses kartu kredit), dan server database inilah yang paling sering menjadi sasaran penyerangan oleh pihak-pihak yang tidak berkepentingan
Membuka sebuah koneksi HTTPS mirip dengan membuka koneksi HTTP. Satu – satunya perbedaan antara HTTP dengan HTTPS adalah URL yang diberikan pada Connector.open() dan meng-castingnya sebagai Https Connection class variable.

sebuah CertificateException akan terjadi bila terdapat kegagalan dalam verifikasi terhadap certificate

A. SSL dan TLS
Secure Socket Layer (SSL) dan Transport Layer Security (TLS), merupakan kelanjutan dari protokol kriptografi yang menyediakan komunikasi yang aman di Internet
Protocol SSL dan TLS berjalan pada layer dibawah application protocol seperti HTTP, SMTP and NNTP dan di atas layer TCP transport protocol, yang juga merupakan bagian dari TCP/IP protocol. Selama SSL dan TLS dapat menambahkan keamanan ke protocol apa saja yang menggunakan TCP, keduanya terdapat paling sering pada metode akses HTTPS. HTTPS menyediakan keamanan web-pages untuk aplikasi seperti pada Electronic commerce. Protocol SSL dan TLS menggunakan cryptography public-key dan sertifikat publik key untuk memastikan identitas dari pihak yang dimaksud. Sejalan dengan peningkatan jumlah client dan server yang dapat mendukung TLS atau SSL alami, dan beberapa masih belum mendukung. Dalam hal ini, pengguna dari server atau client dapat menggunakan produk standalone-SSL seperti halnya Stunnel untuk menyediakan enkripsi SSL.
Sejarah dan pengembangan: Dikembangkan oleh Netscape, SSL versi 3.0 dirilis pada tahun 1996, yang pada akhirnya menjadi dasar pengembangan Transport Layer Security, sebagai protocol standart IETF. Definisi awal dari TLS muncul pada RFC,2246 : “The TLS Protocol Version 1.0″. Visa, MaterCard, American Express dan banyak lagi institusi finansial terkemuka yang memanfaatkan TLS untuk dukungan commerce melalui internet. Seprti halnya SSL, protocol TLS beroperasi dalam tata-cara modular. TLS didesain untuk berkembang, dengan mendukung kemampuan meningkat dan kembali ke kondisi semula dan negosiasi antar ujung.

B. Jaminan HTTPS
Bayangkan bila suatu saat anda menelpon Call Center suatu bank untuk melakukan transaksi. Sangat penting bagi bank untuk memastikan dulu siapa anda, sebelum melakukan transaksi seperti yang anda minta. Karena melalui telepon, bank hanya bisa mendengar suara anda, mungkin saja ada orang lain yang berpura-pura menjadi anda dan menguras habis rekening anda.
Begitu pula di internet, ketika anda mengakses suatu website, anda harus benar-benar yakin bahwa anda sedang mengakses server yang benar, bukan situs palsu yang berminat untuk mencuri data rahasia anda. Sangat berbahaya akibatnya bila anda terjebak mengakses situs palsu, sebab itu artinya anda memberikan data rahasia anda pada orang yang salah.
Inilah yang disebut dengan Authentication, yaitu memastikan identitas, siapa anda. Ketika anda berkomunikasi dengan orang lain, anda harus tahu betul dengan siapa anda berbicara.
Selain memastikan anda berbicara dengan orang yang benar, sangat penting pula bahwa hubungan telpon antara anda dan bank tidak didengarkan oleh orang lain, karena anda akan membicarakan hal yang sensitif dan rahasia seperti PIN. Inilah yang disebut dengan Confidentiality, yaitu kerahasiaan data, memastikan tidak ada kebocoran data di tengah jalan.
Ketika anda mengakses internet, paket data yang anda kirim akan berkelana dari satu server ke server lain sebelum mencapai server tujuan. Sangat mudah bagi orang lain untuk melakukan sniffing, mengintip data anda yang lewat karena internet adalah jaringan umum yang bebas dipakai siapa saja.
Itulah dua hal utama yang dijamin oleh HTTPS, yaitu Authentication (who are you speaking with?) dan Confidentiality (is someone listening to your conversation?). Authentication dan Confidentiality dalam https dijamin dengan perpaduan penggunaan kriptografi simetris dan asimetris.

C. Public Key/Asymmetric Cryptography (PKC) and Symmetric Cryptography
Setiap enkripsi dan dekripsi pasti memerlukan kunci rahasia (enkripsi/dekripsi tanpa kunci rahasia, itu namanya encoding/decoding). Bila enkripsi dan dekripsi dilakukan hanya dengan satu kunci yang sama, ini adalah jenis enkripsi simetris. Keunggulannya adalah kecepatannya tinggi karena tidak enkripsi simetris tidak membutuhkan komputasi yang rumit. Namun kelemahannya adalah kesulitan dalam melakukan pertukaran kunci.
Bayangkan bila Alice ingin berkomunikasi dengan Bob dengan kriptografi simetris. Sebelum bisa berhubungan, keduanya harus menyepakati bersama kunci yang akan dipakai. Bagaimana cara menegosiasikan kunci ini? Apakah dikirim melalui sms, email atau telpon? Bukankah sms, email dan telpon bisa disadap?

hh

PKC datang membawa solusi (jadi seperti kampanye), yaitu dengan penggunaan dua macam kunci, yaitu publik dan private. Jadi Alice dan Bob masing-masing harus sudah mempunyai kunci public dan private. Kunci public untuk diberikan pada orang lain (bukan kunci rahasia), dan kunci private harus dirahasiakan. Bila Alice ingin mengirim pesan ke Bob, maka Alice harus meng-enkrip pesannya dengan kunci publik milik Bob. Untuk membaca pesan Alice, Bob bisa men-dekripnya dengan kunci private Bob sendiri. Jadi ingat, bahwa kunci untuk enkripsi dan dekripsi selalu berlawanan. Lawan dari kunci publik adalah kunci private, lawan dari kunci private adalah kunci publik.
• Bila pesan di-enkrip dengan kunci publik, maka dekrip-nya dengan kunci private: Artinya hanya bisa dibuka oleh pemilik kunci private.
• Bila pesan di-enkrip dengan kunci private, maka dekrip-nya dengan kunci public: Artinya semua orang bisa men-dekrip.
Apa perlunya meng-enkrip pesan dengan kunci private? Karena semua orang bisa membacanya. Kalau enkripsi dengan kunci publik tujuannya untuk kerahasiaan (Confidentiality), maka enkripsi dengan kunci private tujuannya untuk Authentication: Memastikan siapa pembuat pesan.

D. Man-in-the-Middle (MITM) Problem
PKC ternyata juga tidak terbebas dari masalah. Bayangkan bila Alice ingin mengirim pesan ke Bob. Charlie sebagai orang ke-3 ingin mendengarkan pesan dari Alice ke Bob. Berikut skenario tipu muslihat Charlie:
1. Sebelum bisa mengirim pesan rahasia. Alice meminta Bob untuk mengirimkan kunci publiknya.
2. Bob mengirim kunci publiknya ke Alice.
3. Sebelum tiba di Alice, kunci publik Bob dicatat Charlie dan diganti dengan kunci publiknya sendiri, lalu diteruskan ke Alice.
4. Alice tertipu, mengira kunci publik yang diterimanya adalah kunci publik Bob, padahal itu milik Charlie.
5. Alice mengenkrip pesannya dengan kunci publik Charlie (bukannya Bob), dan mengirimkannya ke Bob.
6. Sebelum tiba di Bob, pesan Alice di-dekrip oleh Charlie dengan kunci private Charlie (karena enkripnya dengan kunci publik Charlie).
7. Agar Bob tidak curiga, pesan yang telah di-dekrip itu, dienkrip lagi dengan kunci publik Bob yang sebelumnya sudah dicatat lalu dikirim ke Bob.
8. Bob men-dekrip pesan itu dengan kunci private-nya, dan pesan itu dibaca oleh Bob seperti tidak terjadi apa-apa.
Dalam skenario tersebut, Charlie telah sukses berperan sebagai Man-in-the-Middle yang menyadap pesan dari Alice ke Bob tanpa disadari keduanya.

vv

Jadi mirip ayam dan telur juga kan? Untuk mendapatkan kunci publik harus memastikan identitas pembuat pesan, sedangkan untuk memastikan identitas pembuat pesan harus tahu kunci publik.

E. Solusi Mendapatkan Kunci Publik
Kita sudah melihat bahwa PKC juga memiliki kelemahan terhadap serangan mitm. Agar serangan mitm tidak terjadi dibutuhkan mekanisme untuk mendapatkan publik key yang benar.
Untuk memecahkan masalah ayam dan telur dalam PKC, dibutuhkan bantuan pihak ke-3 sebagai pihak penjamin yang kunci publiknya telah dikenal sebelumnya.
Mari kita buat ilustrasinya pengembangan dari kasus mitm oleh Charlie sebelumnya, anggaplah pihak penjamin itu adalah Dedy dengan kunci publik yang telah dikenal sebelumnya oleh Alice.
1. Ketika Alice ingin mengetahui kunci publik Bob, maka Bob sebelumnya harus meminta Dedy untuk membuat surat jaminan yang berisi kunci publik Bob dan pernyataan bahwa Bob adalah orang baik dan rajin menabung.
2. Kemudian surat itu di-enkrip dengan kunci private Dedy untuk memastikan bahwa surat itu benar dibuat oleh Dedy.
3. Bila Alice bertanya pada Bob, “Hey Bob tolong kirim kunci publikmu, aku ada pesan rahasia untukmu”. Maka Bob akan mengirimkan surat jaminan dari Dedy pada Alice.
4. Ketika surat jaminan yang dikirim Bob tiba di Alice. Alice bisa menguji identitas pembuat surat itu dengan cara men-dekrip dengan kunci publik Dedy yang sudah dikenalnya.
5. Bila berhasil di-dekrip, maka surat jaminan itu benar dibuat oleh Dedy. Di dalam surat jaminan itu tertera juga kunci publik Bob. Kini Alice siap mengirim pesan rahasia pada Bob.
Bagaimana dengan Charlie? Bila Charlie nekat mengganti surat jaminan Dedy dengan surat jaminan yang dibuatnya sendiri lalu mengirimnya ke Alice. Maka Alice dengan mudah mengetahui bahwa surat ini palsu, karena tidak bisa didekrip dengan kunci publik Dedy, artinya surat jaminan ini bukan dibuat oleh Dedy.
Why We Need Authentication
Mungkin ada yang bingung sebenarnya untuk apa sih otentikasi server itu? Bukankah kalau kita buka yahoo.com, pasti yang menjawab adalah servernya yahoo, bukan servernya google. Kan tidak mungkin bisa tertukar begitu. Benarkah tidak mungkin tertukar?
Ketika kita mengakses situs, yang kita tulis di address bar browser biasanya adalah domain name, misalkan yahoo.com. Selanjutnya browser akan meminta DNS untuk menerjemahkan yahoo.com menjadi IP address. Baru kemudian browser bisa berkomunikasi dengan server.
Nah, proses pengubahan dari domain name ke IP address ini yang menjadi celah yang memungkinkan seseorang tersesat ke server yang salah. Dengan teknik ARP poisoning, DNS cache poisoning, atau proses routing yang sengaja disesatkan, seseorang bisa saja bukan mengakses server yang benar.
Untuk itulah kita perlu Authentication.

Authentication: Who are you speaking with.
Mari kita bahas bagaimana https menjamin authentication. Sebelum berkomunikasi dengan server, browser mensyaratkan server untuk meng-otentikasi dirinya, menunjukkan bukti identitasnya. Bukti identitas ini berbentu sertifikat yang ditanda-tangani (digital signature) oleh penjamin yang disebut Certificate Authority, mirip dengan ilustrasi Dedy sebagai penjamin Bob di atas. Dalam sertifikat tersebut tertera antara lain: nama perusahaan, alamat web, dan kunci publik.
Ketika browse menghubungi server, untuk menunjukkan identitas dan memberikan kunci publiknya, server akan mengirimkan sertifikatnya. Kemudian browser akan memverifikasi apakah sertifikat itu ditanda-tangani oleh penjamin (CA) yang trusted (browser memiliki daftar trusted CA). Jika tanda tangan digital CA pada sertifikat itu valid, maka dijamin sertifikat itu benar dibuat oleh CA. Selain itu browse juga akan memeriksa tanggal expired sertifikatnya dan membandingkan alamat web yang ada di sertifikat dengan server yang sedang dihubungi. Jika semuanya valid, browser akan mengambil kunci publik server yang tertera pada sertifikat.
Dengan kunci publik server di tangan, browser akan mencoba melakukan komunikasi dengan mengirimkan pesan ter-enkripsi. Bila server bisa menjawab pesan ini, maka server itu pasti punya kunci private, dengan kata lain serve itu pasti benar-benar pemilik kunci publik yang tertera di sertifikat.
Dengan cara ini browser akan yakin sedang terhubung dengan server yang benar.

qq

Sebenarnya https bukanlah satu protokol, tapi kumpulan protokol (dalam hal ini saja banyak yang salah paham) yang diberi nama HTTPS. Kumpulan protokol yang membentuk https adalah http yang ditumpangkan di atas SSL (Secure Socket Layer) atau TLS (Transport Layer Security). Jadi kalau dalam layer posisinya dari bawah ke atas adalah TCP -> SSL/TLS -> HTTP. SSL dan TLS adalah protokol yang secure dalam artian seluruh data yang dikirim dan diterima dalam keadaan ter-enkrip. Sedangkan http adalah protokol yang tidak secure karena datanya telanjang. Perkawinan antara http dan (SSL atau TLS) menghasilkan keturunan yang lebih unggul dari kedua orang tuanya, yang disebut https.
Mari kita lihat interaksi yang terjadi antar protokol tersebut. Bayangkan anda sedang membuka halaman https, dan browser anda sudah terhubung dengan web server dalam mode secure (biasanya muncul tanda gembok di status bar). Ketika anda meng-klik sebuah link, yang terjadi adalah browser mengirimkan request GET dalam protokol HTTP (tidak ter-enkrip). Request GET ini diserahkan pada layer SSL/TLS untuk di-enkrip. Hasil enkripsi request GET ini kemudian diserahkan pada layer TCP untuk dikirim ke tujuan (server web).

F. Kombinasi Symmetric dan Asymmetric Cryptography
Dalam https komunikasi yang terjadi semua ter-enkripsi. Seperti yang sudah saya jelaskan di awal, masing-masing jenis enkripsi memiliki keunggulan dan kelemahan. Keunggulan kriptografi simetris adalah kecepatannya yang tinggi. Sedangkan keunggulan kriptografi asimetris adalah kemudahan dalam pertukaran kunci.
Oleh karena itu https memadukan kedua jenis enkripsi ini. Pada tahap awal komunikasi, client dan server berkomunikasi dengan menggunakan kriptografi asimetris. Enkripsi ini hanya ditujukan untuk menyepakati dan saling bertukar kunci rahasia yang akan dipakai dengan kriptografi simetris. Jadi pertukaran kunci rahasia dilakukan dalam keadaan ter-enkrip dengan kriptografi asimetris.
Setelah kedua pihak memegang kunci rahasia yang sama, komunikasi selanjutnya dilakukan dengan kriptografi simetris karena lebih murah dan cepat.

G. Yang Tidak Dijamin HTTPS
SSL hanya menjamin authentication dan confidentiality saja. Padahal masih banyak attack yang mengancam aplikasi web, antara lain SQL Injection, XSS, CSRF, Denial of Service, Brute-Force-Attack. Ya benar, semua serangan terhadap aplikasi web selain sniffing dan mitm bisa dilakukan tanpa hambatan.
Selain itu kerahasiaan data hanya berlaku di perjalanan antara client hingga server. Sedangkan di dalam komputer client atau server itu sendiri, data memungkinkan untuk disadap dengan penyadapan di level sistem operasi.
Hebatnya lagi, karena komunikasi antara client dan server ter-enkrip, maka IDS (Intrusion Detection System) tidak berguna. IDS bekerja dengan cara meng-inspeksi paket yang masuk (persis seperti sniffer). Bila paket mengandung pattern yang mencurigakan, maka IDS akan membunyikan alarm. Bila komunikasi antara client dan server ter-enkrip, maka IDS tidak bisa melihat isi paket, apakah mengandung pattern yang berbahaya atau tidak.

Ketika request GET yang ter-enkrip ini sampai di tempat tujuan (server web). Pertama paket akan di-handle oleh layer TCP. Kemudian paket itu diserahkan pada layer SSL/TLS untuk di-dekrip. Hasilnya adalah paket dalam format HTTP tidak ter-enkrip. Baru kemudian paket HTTP ini diserahkan pada yang berhak, yaitu server web (misal:Apache). Setelah Apache selesai menjawab, dia akan mengirimkan balasan request GET tersebut dalam bentuk paket HTTP. Paket ini akan di-enkrip dulu oleh layer SSL/TLS sebelum diserahkan pada layer TCP dan dikirim ke client (browser yang mengirimkan request GET semula).
SSL menjamin kerahasiaan komunikasi end-to-end, artinya mulai dari ujung server hingga ujung client. Tidak ada satu pun server atau komputer yang menjadi perantara antara client hingga server bisa membaca isinya.

Pada percobaan ini saya akan menggunakan SSL untuk www.ria.com saya. dalam tutorial ini ria.com adalah domain saya sendiri ,ini akan menghasilkan peringatan browser saat Anda akses https: / / www.ria.com dan bagaimana untuk mendapatkan sertifikat dari otoritas sertifikat terpercaya (CA) seperti Verisign, Thawte, Comodo, dll - dengan sertifikat dari CA yang terpercaya, pengunjung Anda tidak akan melihat peringatan apapun browser, seperti halnya dengan diri menandatangani sertifikat.

Hal ini penting untuk mengetahui bahwa Anda dapat memiliki hanya satu SSL per alamat IP - jika Anda ingin meng-host beberapa vhost SSL, Anda perlu beberapa alamat IP!
Langkah pertama adalah mengaktifkan SSL dengan cara memastikan login sebagai root di ubuntu.

# sudo su

Untuk mengaktifkan modul apache SSL digunakan:

# a2enmod ssl

Setelah itu merestart engan cara

# /etc/init.d/apache2 restart

Setelah di restart apache harus mengetahui pada port 443 yang bias digunakan untuk konfigurasi HTTPS seperti langkah dibawah:

# netstat -tap | grep https

root@server1:~# netstat -tap | grep https
tcp6 0 0 [::]:https [::]:* LISTEN 1238/apache2
root@server1:~#

Kemudian menSetting Up The Virtual host dengan cara untuk menciptakan www.ria.com virtual host dengan dokumen root / var / www / www.ria.com. :
# mkdir /var/www/www.ria.com
Apache dilengkapi dengan virtual host default SSL konfigurasi di dalam file / etc/apache2/sites-available/default-ssl. Saya menggunakan file tersebut sebagai template untuk virtual host www.ria.com
# cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/www.ria.com-ssl
Dan kemudian membuka template /etc/apache2/sites-available/www.ria.com-ssl dengan cara:
# vi /etc/apache2/sites-available/www.ria.com-ssl
Pastikan Anda menggunakan alamat IP yang benar pada baris xxx.xxx.xxx.xxx:443>
Seperti yang Anda lihat, Vhost default SSL ini menggunakan sertifikat snakeoil.
ServerAdmin webmaster@ria.com
ServerName www.ria.com:443
DocumentRoot /var/www/www.ria.com
Options FollowSymLinks
AllowOverride None



Seperti yang kita lihat, virtual host default ini menggunakan sertifikat snakeoil yang ditandatangani dengan Ubuntu:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Setelah itu Sekarang menonaktifkan virtual host default SSL (jika diaktifkan), mengaktifkan virtual host www.ria.com dan reload apache seperti langkah-langkah dibawah ini:
# a2dissite default-ssl
# a2ensite www.ria.com-ssl
# /etc/init.d/apache2 reload
Langkah terakhir adalah membuka browser dan pergi ke virtual host baru SSL anda ( https: / / www.ria.com dalam kasus ini). Karena kita menggunakan sertifikat default Ubuntu yang ditandatangani, kita harus mendapatkan peringatan bahwa sambungan untrusted (untuk menggunakan situs web saja, klik pada Saya Memahami Risiko dan ikuti petunjuk pada browser Anda) maka akan tampil halaman HTTPS seperti yang dibawah ini:

https



Referensi :
1. http://id.wikipedia.org/wiki/Hypertext_markup_language
2. http://www.ittelkom.ac.id/library/index.php?view=article&catid=10%3Ajaringan&id=406%3A-web-server-&option=com_content&Itemid=15
3. http://aminudin.net/?p=243
4. http://kubaat.wordpress.com/2009/10/18/membuat-virtual-hosting-di-ubuntu/
5. http://www.howtoforge.com/how-to-set-up-an-ssl-vhost-under-apache2-on-ubuntu 9.10-debian-lenny
6. http://id.wikipedia.org/wiki/Transport_Layer_Security
7. http://www.ilmuhacking.com/cryptography/understanding-https/