Kelakuan Internet Provider Indonesia dan HTTPS

Coba sebutkan beberapa Internet Service Provider di Indonesia yang anda kenal. Tentu kita mengenal provider besar nasional seperti Telkom beserta anaknya : Telkomsel, ada XL, Indosat, 3, dan lain sebagainya. Disamping provider nasional, ada juga provider-provider di daerah masing-masing. Dari sekian banyak, mana yang pernah anda pakai, dan bahkan masih aktif dipakai sebagai pilihan utama? Lantas pernahkah anda benar-benar cek validasi data yang masuk ke dalam browser anda saat browsing?

Dalam catatan saya, ternyata sebagian besar provider nasional berbasis seluler, plus Telkom, benar-benar memaksimalkan untuk keuntungan mereka hingga level data. Sebagai contoh adalah Speedy. Telkom Speedy sengaja melakukan inject script dalam data yang dikirim antara server web ke browser.
Apa efeknya? Efek yang muncul adalah : kadang halaman menjadi rusak, karena beberapa elemen script tertimpa oleh script tambahan Telkom.
Apa gunanya? Gunanya adalah keperluan statistiknya Telkom plus potensi memata-matai data yang diakses oleh tiap user. Gambar berikut adalah contohnya:
script_inject_telkom

Script yang diapit tag “script” tersebut adalah sebuah bukti bahwa halaman kita diinjeksi oleh pihak Telkom untuk keperluan mereka.

Sah? Karena tidak ada kesepakatan khusus, ya sah saja, sekalipun hal ini memang sangat tidak etis. Tapi sepertinya bisnis provider tidak perlu berpikir etis atau tidak :D

Hal demikian juga muncul pada halaman yang dibuka dengan operator seluler lainnya. Tercatat Telkomsel dan Indosat yang saya gunakan juga melakukan hal yang sama. Indosat lebih parah, menampilkan iklan pada halaman google yang saya buka. Terang-terangan. Sayangnya saya belum sempat capture. Akan saya update pada kesempatan lain.

Bagaimana dengan telkomsel? Berikut capturenya

http_telkomsel1

Ini adalah kasus ketika saya membuka halaman Google, berarti google sebagai webserver, dan saya sebagai client. Dari halaman ini terlihat jelas bahwa seluruh halaman google akan diperlakukan sebagai iframe dari halaman telkomsel itu sendiri. Kecurigaan ini muncul karena saya melihat dua scrollbar di sisi kanan.

Akibat lain dari injeksi script ini, tentu selain halaman bertambah besar karena diisi script, ternyata Telkomsel juga membongkar kompresi data yang dibuat oleh server (google). Dibongkar kompresinya, diberikan tambahan script sesuka Telkomsel, kemudian diberikan kepada client dalam kondisi tidak lagi terkompresi. Tak ada risiko buat Telkomsel. Yang ada ya untung besar.

Berikut capture lain terkait size dan header info yang ada pada halaman browser.
http_telkomsel

Gambar diatas jelas sekali bahwa pada header tidak memuat kondisi gzip atau deflate pada Content Encoding di Response Header yang seharusnya ada untuk memperingan / memperkecil transfer rate data di jaringan.

Lantas, perhatikan pada gambar ini :

http_telkomsel2

Hasil ini dianalisa dengan menggunakan tools Google Chrome inspect element. Dari sini terlihat jelas besaran data yang didownload oleh browser kita untuk halaman tersebut.

Beberapa forum saya dapatkan telah berusaha membuat cara menanggulangi hal ini. Namun sepertinya hal ini tidak efektif. Lantas adakah cara yang terbaik untuk menangkal hal ini? Ada. Salah satu cara adalah menggunakan HTTPS. Berikut beberapa hal tentang HTTPS.

  1. HTTPS adalah singkatan dari HTTP Secure
  2. Dikatakan secure karena data transfer antara server ke browser dilakukan secara terenkripsi, sehingga mampu mencegah para maling membajak data dan menginjeksi sesuatu dalam halaman web.
  3. HTTPS adalah layanan yang diberikan oleh server. Sehingga server harus menyediakan layanan tersebut. (Lho kok bimosaurus.com belum? Iya iya, besok saya buat)
  4. Transfer data bank, dan data-data transaksional lainnya menggunakan HTTPS sebagai langkah aman.
  5. HTTPS membutuhkan SSL Secure Socket Layer sebagai langkah enkripsinya. SSL sebagian besar berbayar, namun banyak juga yang bersifat community
  6. Dengan HTTPS, diharapkan provider tidak lagi membongkar gzip dan deflate yang membuat transaksi data menjadi boros quota.

Berikut beberapa perbandingan antara gambar-gambar di atas yang menggunakan HTTP, dengan HTTPS.
https_telkomsel1

Perhatikan gambar di atas, bahwa script ads telkomsel telah tidak lagi ada.

https_telkomsel

Perhatikan gambar di atas, bahwa gzip dan deflate sudah muncul, sehingga dapat dipastikan konten gzip aman tidak dibongkar. (Content Encoding pada response header)

https_telkomsel

Yes, selisihnya adalah 0.1 MB untuk halaman ini. Dari 3.99 menjadi 3.89.

Lantas bagaimana cara membentuk HTTPS? Pada umumnya situs-situs besar seperti google, yahoo, apalagi yang email, internet banking, pasti sudah memanfaatkan fitur ini, dan mengarahkan halaman web untuk mengakses https ketimbang http. Untuk tutorial HTTPS server, tunggu saja artikel selanjutnya.

Sekian ulasan ini.. Saya mau tidur

[WebServer] Mengaktifkan Fitur Kompresi Webserver

nginx
Salah satu bentuk dukungan pemilik web terhadap para pengaksesnya adalah : mempermudah proses pembukaan web. Mempermudah itu dapat berarti banyak hal:

  1. Mengaktifkan tampilan yang responsif terhadap lebar layar dan jenis media
  2. Memperingan load web, selain cepat diakses juga mengurangi pemborosan quota selular pengakses

Continue reading “[WebServer] Mengaktifkan Fitur Kompresi Webserver”

[FlashBackBlog] Menggunakan nGinX sebagai Reverse Proxy

Nginx, adalah sebuah webserver opensources yang dikembangkan dari keturunan Apache. Nginx, seperti apache, memiliki fungsi melakukan publikasi dokumen dalam sistem, ke sisi publik, melalui protokol HTTP atau port default 80. Nginx, adalah singkatan dari Engine-X. nGinX. Memiliki tingkat keringanan eksekusi dokumen yang lebih kencang daripada Apache. Namun tentu saja beberapa kekurangannya adalah kelengkapan modul yang diperlukan oleh web, kalah oleh Apache. Namun demikian untuk web-web biasa, atau sistem informasi biasa, tidak terlalu membutuhkan modul-modul terlalu lengkap.
Continue reading “[FlashBackBlog] Menggunakan nGinX sebagai Reverse Proxy”

[Flash Back] VirtualHost Apache dan Nginx

virtualhost-block

Webserver, entah apache atau nginx dan lain sebagainya akan mengenal istilah ServerName atau nama panggil. Sebuah server yang dipanggil dengan nama tertentu, misal namaserver.com, akan terjadi proses pengambilan dokumen di dalam webserver. Lokasi dokumen tersebut dinamakan DocumentRoot. Oleh karena itu dalam server apache, akan muncul sintaks konfigurasi seperti berikut:

Continue reading “[Flash Back] VirtualHost Apache dan Nginx”

Disable Handler PHP pada Uploadable Directory Apache

Penggunaan CMS memang memudahkan seseorang membuat web. CMS membantu sekali para wirausahawan muda dalam membuat usaha di bidang web. CMS digunakan oleh para pengembang mulai dari profesional hingga kelas pemula sekalipun. Hanya saja, kadang jika tidak dilengkapi dengan kehati-hatian penggunaan CMS dan plugins, CMS dapat menjadi bumerang bagi pemilik web.

Para cracker pemula, bersenjatakan dork yang dipublish pada situs-situs vulnerability publish, mencari bug-bug CMS dan plugins, selanjutnya melakukan cracking web, dan melakukan ritual vandalisme di sana. Plugins, memang memudahkan seseorang dalam melakukan custom webnya. Namun plugins juga menjadi celah besar kalau tidak malah masalah yang sesungguhnya. Salah satu celah tersebut dapat dimanfaatkan oleh para cracker.
Continue reading “Disable Handler PHP pada Uploadable Directory Apache”

Meminjam IP Publik Lain Network untuk Web Server Lokal dengan SSH


Masih seputar SSH seperti pada posting sebelumnya di http://bimosaurus.com/2014/06/13/back-connect-dengan-menggunakan-reverse-ssh/

 

backconnect

 
Continue reading “Meminjam IP Publik Lain Network untuk Web Server Lokal dengan SSH”

[Tips] Membuat Multi Subdomain dan Memetakan dalam Database

Kita tentu sering menggunakan fasilitas blog dengan support subdomain, seperti wordpress.com, atau blogger.com dengan layanan blogspot.com dan lain sejenisnya. Ketika mendaftarkan sebuah blog, maka kita akan diberikan sebuah blog dengan subdomain seperti yang kita daftarkan, seperti contoh: http://bimosaurus.wordpress.com. Sedangkan kita tahu bahwa biasanya proses pembuatan subdomain atau domain saja memerlukan waktu propagasi yang cukup lama, namun dalam pembuatan blog, bisa langsung. Kok bisa?

 

DNS

Untuk masalah DNS kuncinya adalah pada DNS pointernya. Selama DNS Server kita mendukung penggunaan wilcard DNS, maka tidak akan masalah. Setiap subdomain akan langsung diarahkan ke web kita tersebut. Wilcard DNS akan ditandai dengan tanda *. Untuk anda pengguna linux console dapat melakukan pointing wilcard seperti demikian

dns

Disana artinya bahwa untuk seluruh subdomain dari domain anuanucoba.com akan diarahkan ke IP Address 111.111.222.222. Artinya segala akses semua subdomain akan diarahkan pada IP Address tersebut. Bisa juga IP tersebut adalah komputer yang digunakan untuk DNS itu sendiri. Selanjutnya, setelah data tersebut terarah ke IP Address itu, segala request web akan dilayani oleh Webserver (Apache, LightHTTPD, HTTPD dsb). Setelah membentuk wilcard DNS, proses propagasi hanya untuk propagasi wilcardnya. Sehingga setelah proses propagasi (penyebaran domain ke server server DNS) itu selesai, seluruh subdomain akan dianggap sama dengan wilcard DNS. Untuk yang biasa dengan setting WordPressMU tentu telah terbiasa cara ini.

 
Continue reading “[Tips] Membuat Multi Subdomain dan Memetakan dalam Database”