Sabtu, 30 Oktober 2010

Jagostu - Mau Tak Mau (With Chord)

F
apa yang bisa aku lakukan
Em
jika ia memilih untuk rak ringgal
Dm Am
dan semua trus berjalan

F
getirnya harus tetap kutelan
Em
dan aku sakit harus tetap bertahan
Dm Am
dan semua trus berjalan

Interlude : F Dm Am 2x

Am F
mau tak mau ku harus
G C Em
melanjutkan yang tersisa
Am D7
meski semua telah berbeda
F G C
dan tak akan pernah ada yang sama

Interlude : F Dm Am 2x

F
aku bisa memeluknya
Em
tetapi tidak hatinya
Dm Am
hooo… menyakitkan

F
semua telah dengar
Em
segenap hati ku merindunya
Dm Am
tapi hatinya telah pergi dan telah lama mati

Am F
mau tak mau ku harus
G C Em
melanjutkan yang tersisa
Am D7
meski semua telah berbeda
F G C
dan tak akan pernah ada yang sama

Am F
semoga angin berhembus
G C Em
membawakan mimpi baru
Am D7
meski ku tahu takkan pernah ada
F G C
yang sanggup mengganti keindahannya

Slipknot - Snuff (With Chord)

intro:F#m,C#m,D

Verse:
F#m C#m D **
Bury all your secrets in my skin
F#m C#m D
Come away with innocence, and leave me with my sins
F#m C#m D
The air around me still feels like a cage
F#m C#m D
And love is just a camouflage for what resembles rage again

Pre Chorus: F#m,C#m, D

Chorus:
E F#m
So if you love me, let me go. And run away before I know.
E F#m
My heart is just too dark to care. I can't destroy what isn't there.
E F#m
Deliver me into my Fate - If I'm alone I cannot hate
E
I don't deserve to have you
D F#m
My smile was taken long ago / If I can change I hope I never know

Pre Verse: F#m,C#m,F
F#m C#m D
I still press your letters to my lips
F#m C#m D
And cherish them in parts of me that savor every kiss
F#m C#m D
I couldn't face a life without your light
F#m C#m D
But all of that was ripped apart when you refused to fight

Chorus:
E F#m
So save your breath, I will not hear. I think I made it very clear.
E F#m
You couldn't hate enough to love. Is that supposed to be enough?
E F#m
I only wish you weren't my friend. Then I could hurt you in the end.
E
I never claimed to be a Saint
D F#m
My own was banished long ago / It took the Death of Hope to let you go

Solo: F#m.C#m,D

Chorus:
E
So Break Yourself Against My Stones
F#m
And Spit Your Pity In My Soul
E
You Never Needed Any Help
F#m
You Sold Me Out To Save Yourself
E
And I Won't Listen To Your Shame
F#m
You Ran Away - You're All The Same
E
Angels Lie To Keep Control
D
My Love Was Punished Long Ago
F#5,G#5,A5,C#5,D5
If You Still Care, Don't Ever Let Me Know
F#m,C#m,D(twice),ends in F#m
If you still care, don't ever let me know

Minggu, 24 Oktober 2010

Pengamanan Web System

Semua yang akan saya tulis di bawah ini merupakan kumpulan dari beberapa tulisan para webmaster-webmaster yang memang memiliki kapabilitas dalam bidang keamanan web, yang saya ringkas kemudian saya bahasakan dan susun sedemikian rupa sehingga lebih tertata dan mudah dipahami.

A. Faktor-Faktor Timbulnya Serangan

1. Scripting

Kesalahan dalam scripting pembuatan web adalah hal terbanyak yang dimanfaatkan oleh para attacker, sehingga rata-rata web yang berhasil diserang melalui lubang ini. Kelemahan-kelemahan scripting yang ditemukan pada proses vulnerabilities scanning misalnya, XSS, SQL Injection, PHP Injection, HTML Injection, dan lain sebagainya.

Begitu pula pada CMS semisal Mambo, Joomla, WordPress, dan lainnya. CMS tersebut memiliki banyak komponen pendukung di internet yang bisa kita download, install dan konfigurasi. Sehingga sangat memungkinkan sekali terdapat bug pada scriptingnya. Langkah terbaik tentunya melakukan pembedahan (oprek) terhadap script serta melakukan pengujian sebelum komponen tersebut kita gunakan pada web yang sebenarnya. Pengujian bisa dilakukan melalui localhost pada komputer dengan menginstall PHP, apache, dan mySQL, atau menginstall software semisal WAMP ataupun XAMPP yang merupakan paket all in one.

Untuk mengatasi hal tersebut sebaiknya kita harus mulai belajar dan memahami scripting-scripting secara bertahap, baik HTML, PHP, javascript, dan sebagainya.

CMS tersebut sebenarnya cukup aman, namun komponen tambahan yang tidak dibuat dengan baik, tentu saja bisa menimbulkan masalah besar bagi sistem secara keseluruhan.

2. Lubang pada Situs Tetangga

Ini merupakan salah satu faktor yang jarang mendapat perhatian. Sebagian webmaster kadang tidak begitu peduli ketika web lain yang satu hosting dihacked. Mereka berpikiran, “Ah, toh bukan web saya yang kena.” Padahal justru di sinilah letak kesalahannya.

Logikanya, misal web kita ditempatkan pada perusahaan hosting A. itu artinya web kita bertetangga dengan web milik orang lain yang berada dalam 1 hosting. Jika web tetangga tersebut memiliki celah fatal, sehingga attacker bisa menanam program yang dijadikan backdoor. Dengan backdoor inilah attacker bisa masuk ke dalam web kita bahkan web lainnya. Bukan itu saja, tidak mustahil attacker melakukkan defacing massal, termasuk web kita tentunya.

3. Tempat Hosting yang Bermasalah

Pada beberapa kasus justru tempat hosting yang bermasalah menjadi sebab dihackednya banyak situs yang berada di bawah pengelolaannya. Pernah terjadi situs milik sebuah perusahaan dideface. Kemudia setelah diperbaiki, dideface lagi. Kemudian lapor ke admin perusahaan hosting, justru balik menyalahkan pemilik situs dengan alasan yang nggak masuk akal.

Kenyataannya, justru web hosting itu yang nggak pernah di administrasi dengan baik, jarang diupdate, dan jarang dipatch, sehingga mudah terkena serangan. Dengan model pengelolaan yang seperti ini jangan berharap web kita akan aman. Karena itu, pastikan tempat hosting yang digunakan benar-benar memperhatikan tingkat keamanan bagi pelanggannya.

B. Macam-Macam Tindakan Hacking

Dari kelemahan-kelemahan tersebut di atas, maka terjadilah beberapa tindakan hacking terhadap web yang kita miliki. Apa saja tindakan-tindakan hacking tersebut? Berikut beberapa di antaranya :

1. Memodifikasi Validasi Input

Biasanya para attacker mencoba menguji validasi-validasi input yang diterapkan pada form dan parameter buangan pada address bar dalam melakukan proses attacking.

Penanganan yang harus diperhatikan adalah memperhatikan validasi yang terdapat pada form, baik itu validasi angka maupun validasi string, batasi jumlah karakter yang bida dimasukkan, batasi jumlah karakter yang bisa dimasukkan, batasi kegiatan-kegiatan injeksi dengan : strip_tags(), htmlspecialchars(), gunakan variable global sebagaimana mestinya dan gunakan wordfilter untuk memfilter berbagai inputan yang berbahaya.

2. Cross-Site Scripting (XSS)

Salah satu vulnerabilities dalam website adalah Cross-Site Scripting (XSS). Ada 2 jenis aksi yang biasa dilakukan dalam XSS, yaitu

- Direct Action, merupakan injeksi kode yang dilakukan oleh attacker, tetapi hasil injeksinya hanya ditampilkan pada komputer user bersangkutan.

- Stored Action, merupakan injeksi kode yang dilakukan oleh attacker dan hasil injeksinya bisa dinikmati oleh banyak pengunjung.

Bagaimana mengatasi hal ini? Usahakan semua kode-kode spesial yang mempunyai arti dalam scripting HTML seperti < (kurang dari), > (lebih dari), & (ampersand), “ (kutip dua) dan ‘ (kutip satu) tidak dieksekusi sebagai karakter spesial. Semua karakter spesial tersebut harus diubah. Semua karakter spesial tersebut harus diubah dan dikonversi ke entitas HTML.

3. SQL Injection

Kegiatan attacking yang banyak dilakukan akhir-akhir ini adalah SQL Injection, karena SQL Injection merupakan teknik hacking yang sudah tersebar luas dan relatif mudah dipahami. Attacker melakukan proses attacking dengan menyisipkan perintah-perintah SQL pada form ataupun pada address bar.

Untuk mengatasi hal ini, sebaiknya kita membatasi inputan dengan : htmlspecialchars(), mysql_escape_string() dan hubungi administrator hosting kita untuk merubah : magic_quotes_gpc=on.

4. PHP Injection

web yang kita miliki bisa dideface, didirect dan dikuasai orang lain? Ya, ada teknik PHP Injection. Attacker mempergunakan sploit yang sudah ditanam di remote server miliknya dan hanya dengan mengeksekusi sript sploit tersebut melalui address bar dan melakukan connect back, maka terkuasailah web kita.

Untuk mengatasi hal ini, pastikan penggunaan file direct dengan include () harus dikurangi dan sering-seringlah melakukan update terhadap aplikasi yang kita gunakan. Jika kita memakai CMS, sering-seringlah melakuakn update CMSnya, begitu pula dengan komponen yang digunakan.

C. Dasar-Dasar Pengamanan

Setelah sedikit mengetahui hal-hal di atas, maka sekarang kita membahas tentang strategi dasar pengamanan web. Pada dasarnya, strategi pengamanan web yang dapat kita lakukan di antaranya sebagai berikut :

1. Pemilihan Sistem Operasi (OS), Setting Server, dan Desain Aplikasi

Salah satu hal penting yang harus dicermati adalah pemilihan sistem operasi (OS). Seberapa besar pengamanan yang dibutuhkan sangat berhubungan dengan sistem operasi. Sebagai ilustrasi, meskipun sistem operasi semisal Windows 9x bisa dijadikan sebagai server web dengan keterbatasannya melalui Personal Web Service (PWS), sistem ini tidak cukup apabila pengamanan merupakan faktor penting. Salah satu kelemahannya Windows 9x tidak dapat menyediakan NTFS yang sangat penting untuk kontrol akses.

Setting konfigurasi pada server yang tidak memadai dan hanya mengandalkan default merupakan faktor utama penyebab server yang dibangun tidak terjamin keamanannya. Penentuan kebijakan dalam menerapkan sistem pengamanan ini merupakan kunci utama yang harus diperhatikan untuk diterapkan pertama kali. Ironisnya justru hal ini merupakan hal yang paling sering diabaikan.

2. Instalasi Patch

Idealnya, software yang kita pakai mestinya sudah sempurna sejak awal. Namun kenyataannya tidak pernah ada software yang benar-benar 100% bugs free. Ada saja bagian program yang rawan keamanan. Pada saat kerawanan tersebut ditemukan biasanya perusahaan pembuat software akan mengeluarkan aplikasi baru untuk memperbaiki kesalahan software terdahulu. Aplikasi inilah yang dikenal dengan nama patch. Meskipun penggunaan istilah ini sekarang juga digunakan bagi para cracker untuk membajak sebuah software resmi.

Penerapan patch ini harus dilakukan pada sistem operasi, server web, add on, maupun file-file komponen lain yang terintegrasi dengan web kita. Kemalasan, ketidaktahuan, serta kesibukan admin server membuat mereka tidak konsisten menerapkan patch ini. Sangat ironis jika dibandingkan dengan kemudahan dalam instalasi patch tersebut.

3. Kontrol Akses

Penentuan siapa yang dapat mengakses server harus dilakukan dengan menggunakan kontrol akses, baik dengan autentikasi maupun otorisasi. Autentikasi adalah proses validasi identitas yang dilakukan dengan membandingkan data user yang dikirim dengan data yang terdapat dalam database. Setelah melakukan autentikasi, langkah selanjutnya yaitu melakukan otorisasi yang merupakan proses untuk menentukan apakah pengguna memiliki ijin untuk melakukan tindakan yang diminta.

Ada dua tipe dasar autentikasi, yaitu berbasiskan akses direktori dan autentikasi berbasiskan form. Khusus untuk Windows ada tipe autentikasi lain yaitu autentikasi passport. Sedangkan otorisasi terbagi dua bentuk, yaitu ACL (Access Control Listi) dan hostname.

4. Audit dan Log File

Audit diperlukan untuk menunjang cara-cara pengamanan yang telah dijelaskan di atas. Proses monitoring aktivitas tertentu seperti usaha login (berhasil atau gagal), dan kemudian menuliskannya ke dalam log ini merupakan proses audit. Sebagai contoh, kita dapat menganalisa dengan mengaudit kegagalan usaha login dalam log, memungkinkan kita menentukan saat seseorang berusaha menyerang server.

..

Untuk mengaktifkan sistem audit dan log sangat bergantung pada sistem operasi, aplikasi server yang dijalankan, database yang digunakan, dll. Pada sistem Posix (*nix: unix dan variannya (linux, FreeBSD)), log defaultnya berada di /var/log yang pengaktifannya bergantung pada aplikasi atau proses apa yang ingin diaudit. Log server web yang kita jalankan dikonfigurasikan di file konfigurasi server apache (defaultnya httpd.conf)

5. Menerapkan Kriptografi

Selanjutnya, juga perlu diketahui bagaimana proses pengiriman lewat protokol http, baik permintaan layanan maupun respon berupa teks biasa (plaintext). Kemungkinan attacker untuk melakukan tindakan kriminal dengan mencuri data sensitif seperti password, e-mail atau nomor kartu kredit sangat besar kemungkinannya.

Untuk menjaga informasi semacam ini tetap aman, diperlukan enkripsi yang membuat plaintext menjadi ciphertext (teks yang tidak terbaca akibat proses enkripsi). Proses kebalikan dari enkripsi yaitu deskripsi. Ilmu yang mempelajari tentang keamanan informasi inilah yang disebut kriptografi.

Pada level sistem operasi, penerapan yang dilakukan untuk mengamankan server web adalah dengan menggunakan SSL. Secara default komunikasi SSL terjadi pada port 443 dengan prefiks https:// untuk url yang menggunakan SSL. Untuk mengaktifkan SSL pada server diperlukan sertifikat server. Pembuatan server ini dapat diajukan kepada pemegang sertifikat pihak ketiga yang sudah terkenal seperti Verisign atau bahkan bisa juga dengan membuat sendiri. Secara default konfigurasi SSL pada apache terletak pada direktori httpd di mana server apache diinstall.

D. Penerapan Dasar-Dasar Pengamanan

Dari dasar-dasar pengamanan di atas, kita dapat menerapkan ke dalam 3 level keamanan sebagai berikut :

1. Level Sistem Operasi (OS) dan Hardware

Cakupan level akses ini menjangkau hadware server, network, dan sistem operasi yang digunakan. Jika web kita pengelolaannya dilakukan oleh perusahaan hosting, maka tanggung jawab ini ada pada admin sistem perusahaan hosting tersebut. Oleh karena itu kita harus tahu dengan yakin apakah perusahaan hosting tempat web kita berada cukup terpercaya dan dapat diandalkan. Terutama jika web kita dinilai memang cukup berharga.

Namun sebaliknya, jika pengelolaan web kita pegang sendiri, atau dengan kata lain kitalah yang menjadi adminnya, ada baiknya jika melakukan hal-hal sebagai berikut :

- Back up full dan differential secara periodik dan otomatis

- Mengaktifkan firewall

- Mengaktifkan sistem loging yang baik dan efektif untuk keperluan audit dan monitoring

- Untuk OS *nix, mengaktifkan Intrusion Detection atau akan lebih baik jika menggunakan IPS

- Untuk OS *nix, mengaktifkan detektor malicious code seperti Tripwire atau dengan membuat sendiri

- Untuk OS *nix, mengaktifkan detektor scan, SATAN, seperti courtney, icmpinfo, klaxon, snort, atau dengan membuat script sendiri

- Menerapkan otorisasi ACL dengan melakukan restriksi pada user, direktori, dan file dengan akses paling terbatas. Semua akses –rwx group, sebaiknya di nonaktifkan dan akses untuk other sebaiknya tidak bisa melakukan write

- Untuk OS *nix, sebaiknya menggunakan perintah chown dan chmod

- Untuk OS Windows, menggunakan properti file atau direktori dan menyetting user serta hak aksesnya

- Selalu melakukan patching atau upgrade dengan versi yang lebih baru atau stabil

- Tidak memperbolehkan user menggunakan program remote seperti telnet. Jika terpaksa, lebih baik diganti dengan menggunakan service yang lebih aman seperti SSH dan mengubah port defaultnya (port 22) menjadi port lain.

- Menonaktifkan semua service yang tidak diperlukan

- Jika perlu menggunakan SSL

2. Level Akses Host

Level berikutnya untuk memperkuat keamanan web yaitu mengaktifkan restriksi akses level host. Dengan kata lain, implementasi otorisasi host dilakukan di sini.

Pertama, kita harus menentukan dahulu IP/host atau ID network mana saja yang boleh mengakses web kita. Atau bahkan bisa juga untuk memblokir IP/host yang tidak diharapkan.

Untuk mengaktifkannya, kita harus menambahkan perintah seperti berikut :

Order deny,allow

Deny from all

Allow from .situskita.com

Allow from 123.123.123.123

Yang dapat disisipkan dikonfigurasi daemon http (defaultnya httpd.conf) maupun di file .htaccess. Atau jika menggunakan fasilitas CPanel, dapat melakukan konfigurasi pada menu yang tersedia.

3. Level Akses Direktori dan File

Level Akses Direktori

Lakukan proteksi pada direktori yang dianggap penting dan bukan untuk konsumsi umum, seperti direktori administrator, login, dll. Keamanan direktori tersebut yang umumnya hanya 1 level keamanan, bisa ditingkatkan menjadi 2 level keamanan dengan menambah 1 level akses keamanan lagi, yaitu autentikasi akses direktori. Sehingga ketika akan melakukan login, sebelum masuk ke menu login administrator, akan muncul terlebih dahulu jendela autentikasi yang berisi user dan password. Di mana sebaiknya user dan passwordnya berbeda dengan user dan password untuk login pada direktori web.

Cara mengatifkannya cukup dengan melakukan konfigurasi autentikasi user dan password pada Cpanel web kita, jika kendali web ada pada kita.

Level Akses File

- Selalu melakukan back up secara berkala (full dan differential)

- Menghapus file instalasi dan direktorinya

- Aktif di forum yang membahas tentang keamanan website

- Mengganti user admin menjadi nama yang tidak menunjukkan account admin

- Jika menggunakan CMS sebaiknya tidak menginstall komponen yang masih versi beta, kecuali kita yakin tidak ada bugs yang berkaitan dengan keamanan atau kita sendiri yang telah melakukan modifikasi.

- Tidak mengaktifkan komponen yang tidak diperlukan. Bahkan lebih baik lagi jika di uninstall atau dihapus

- Jika menggunakan fasilitas registrasi member pada forum atau semacamnya, sebaiknya tidak memberikan akses registrasi user, kecuali jika memberlakukan sistem registrasi yang ketat. Misalnya dengan mengaktifkan e-mail activation pada user yang melakukan registrasi.

- Tambahkan perintah : Disallow: /administrator/ atau Disallow: /[nama_direktori]/ pada file robots.txt

[nama_direktori] adalah direktori yang tidak ingin ditampilkan pada search engine

- Setelah selesai melakukan development, jangan lupa melakuakn restriksi attribut untuk semua file dan direktori. Semua akses –rwx group, sebaiknya di nonaktifkan dan akses untuk other sebaiknya tidak bisa melakukan write, kecuali untuk direktori cache ataupun direktori upload dan semacamnya yang memang diperlukan oleh server web

- Jika situs kita memberikan fasilitas kepada pengunjung untuk mengupload file, pastikan bahwa fasilitas tersebut tidak dapat digunakan untuk mengupload file script seperti php, cgi, pl, sh, dll.

- Mengaktifkan sef dan alias manager

- Mengubah nama direktori administrator menjadi nama direktori yang tidak mencerminkan direktori admin. Nama direktori administrator dapat saja tetap dipertahankan untuk membuat suatu fake atau decoy seolah-olah direktori tersebut yaitu direktori admin. Dan untuk lebih meyakinkan, dapat kita proteksi juga direktori fake ini dengan .htaccess

- Jika menggunakan CMS dan berniat membuat komponen sendiri, pastikan selalu menambahkan perintah :

defined( ‘_VALID_MOS ) or die( ‘Direct Access to this location is not allowed.’ ), di awal baris setiap file PHPnya

- Jika memungkinkan, pindahkan direktori administrator sedemikian rupa sehingga direktori tersebut sejajar dengan direktori root file inti web kita secara fisik. Gunakan alias untuk membuat direktori pada konfigurasi server apache kita agar direktori ini dapat diakses.

Apa yang telah saya tulis di atas, bukanlah suatu hal yang mutlak harus dilakukan keseluruhannya. Namun lebih kepada kebutuhan kita sendiri. Mungkin memang sedikit terkesan phobia dan berlebihan. Tapi bagi web yang memiliki tingkat bisnis dan reputasi tinggi, mempertahankan keamanannya adalah suatu hal yang mutlak.

Kamis, 21 Oktober 2010

Power Metal - Serigala Malam Lirik

Lagu ini menemaniku saat aku melancarkan aksi "Hitam"ku. Cekidot . . .

====================

Angkuh kuberdiri, ditengah malam buta.
Wajahku merah, menatap tajam kesunyian.

Jalanku kelam, kulalui limbah hitam,
Teriak ku lantang, memecah keheningan malam

Aku serigala malam, lahirku dari jiwa yang persetan
Aku serigala malam, tangguh rajam segala yang menghadang

reff :
Jangan kau tanya apakah yang dibenakku.
Janganlah coba kau mengahalangi langkahku
Jangan kau tanya apakah yang dibenakku.
Janganlah coba kau mengahalangi langkahku

Kupantang untuk mengalah, Kupantang untuk menyerah


Jalanku kelam, kulalui limbah hitam,
Teriak ku lantang, memecah keheningan malam

Aku serigala malam, lahirku dari jiwa yang persetan
Aku serigala malam, tangguh rajam segala yang menghadang

reff :
Jangan kau tanya apakah yang dibenakku.
Janganlah coba kau mengahalangi langkahku
Jangan kau tanya apakah yang dibenakku.
Janganlah coba kau mengahalangi langkahku

Slipknot - Vermillion

Lagu ini benar benar menemani hidupku saat terluka . Cekidot . .

Slipknot - Vermillion

She seems dressed in all the rings
Of past fatalities
So fragile yet so devious
She continues to see it
Climatic hands that press
Her temples and my chest
Enter the night that she came home
Forever

Oh (She's the only one that makes me sad)

She is everything and more
The solemn hypnotic
My Dahlia bathed in possession
She is home to me

I get nervous, perverse, when I see her it's worse
But the stress is astounding
It's now or never she's coming home
Forever

Oh (She's the only one that makes me sad)

Hard to say what caught my attention
Fixed And crazy, Aphid Attraction
Carve my name in my face, to recognize
Such a pheromone cult to terrorize

I won't let this build up inside of me
I won't let this build up inside of me
I won't let this build up inside of me
I won't let this build up inside of me

(Yeah!)

I'm a slave, and I am a master
No restraints and, unchecked collectors
I exist through my need, to self oblige
She is something in me, that I despise

I won't let this build up inside of me
I won't let this build up inside of me
I won't let this build up inside of me
I won't let this build up inside of me

I won't let this build up inside of me
I won't let this build up inside of me
I won't let this build up inside of me
I won't let this build up inside of me

SHE ISN'T REAL!
I CAN'T MAKE HER REAL!
SHE ISN'T REAL!
I CAN'T MAKE HER REAL!

(She isn't real, I can't make her real)
(She isn't real, I can't make her real)

6 Pertanyaan Untuk Kita Renungkan

Suatu hari Seorang Guru berkumpul dengan murid-muridnya. ..
Lalu beliau mengajukan enam pertanyaan.. ..

Pertama...
"Apa yang paling dekat dengan diri kita di dunia ini...???"
Murid-muridnya ada yang menjawab.... "orang tua", "guru", "teman", dan "kerabatnya" ..
Sang Guru menjelaskan semua jawaban itu benar...
Tetapi yang paling dekat dengan kita adalah "kematian".. ..
Sebab kematian adalah PASTI adanya....


Lalu Sang Guru meneruskan pertanyaan kedua...
"Apa yang paling jauh dari diri kita di dunia ini...???"
Murid-muridnya ada yang menjawab... "negara Cina", "bulan", "matahari", dan "bintang-bintang" ...
Lalu Sang Guru menjelaskan bahwa semua jawaban yang diberikan adalah benar...
Tapi yang paling benar adalah "masa lalu"...
Siapa pun kita... bagaimana pun kita...dan betapa kayanya kita... tetap kita
TIDAK bisa kembali ke masa lalu...
Sebab itu kita harus menjaga hari ini... dan hari-hari yang akan datang..


Sang Guru meneruskan dengan pertanyaan yang ketiga...
"Apa yang paling besar di dunia ini...???"
Murid-muridnya ada yang menjawab "gunung", "bumi", dan "matahari".. ..
Semua jawaban itu benar kata Sang Guru ...
Tapi yang paling besar dari yang ada di dunia ini adalah "nafsu"...
Banyak manusia menjadi celaka karena memperturutkan hawa nafsunya...
Segala cara dihalalkan demi mewujudkan impian nafsu duniawi ...
Karena itu, kita harus hati-hati dengan hawa nafsu ini... jangan sampai
nafsu membawa kita ke neraka (atau kesengsaraan dunia dan akhirat)...


Pertanyaan keempat adalah...
"Apa yang paling berat di dunia ini...???"
Di antara muridnya ada yang menjawab... "baja", "besi", dan "gajah"...
"Semua jawaban hampir benar...", kata Sang Guru ..
tapi yang paling berat adalah "memegang amanah"...


Pertanyaan yang kelima adalah... "Apa yang paling ringan di dunia ini...???"
Ada yang menjawab "kapas", "angin", "debu", dan "daun-daunan" ...
"Semua itu benar...", kata Sang Guru...
tapi yang paling ringan di dunia ini adalah "meninggalkan ibadah"...


Lalu pertanyaan keenam adalah...
"Apakah yang paling tajam di dunia ini...???"
Murid-muridnya menjawab dengan serentak... "PEDANG...!! !"
"(hampir) Benar...", kata Sang Guru
tetapi yang paling tajam adalah "lidah manusia"...
Karena melalui lidah, manusia dengan mudahnya menyakiti hati... dan
melukai perasaan saudaranya sendiri...


Sudahkah kita menjadi insan yang selalu ingat akan KEMATIAN...
senantiasa belajar dari MASA LALU...
dan tidak memperturutkan NAFSU...???
Sudahkah kita mampu MENGEMBAN AMANAH sekecil apapun...
dengan tidak MENINGGALKAN IBADAH....
serta senantiasa MENJAGA LIDAH kita...???

From : google

Minggu, 05 September 2010

Menghitung Subnetting IP

Penghitungan subnetting bisa dilakukan dengan dua cara, cara binary yang relatif lambat dan cara khusus yang lebih cepat. Pada hakekatnya semua pertanyaan tentang subnetting akan berkisar di empat masalah: Jumlah Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host- Broadcast.

Penulisan IP address umumnya adalah dengan 192.168.1.2. Namun adakalanya ditulis dengan 192.168.1.2/24, apa ini artinya? Artinya bahwa IP address 192.168.1.2 dengan subnet mask 255.255.255.0. Lho kok bisa seperti itu? Ya, /24 diambil dari penghitungan bahwa 24 bit subnet mask diselubung dengan binari 1. Atau dengan kata lain, subnet masknya adalah: 11111111.11111111.11111111.00000000 (255.255.255.0). Konsep ini yang disebut dengan CIDR (Classless Inter-Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT.

Pertanyaan berikutnya adalah Subnet Mask berapa saja yang bisa digunakan untuk melakukan subnetting? Ini terjawab dengan tabel di bawah:
Subnet Mask Nilai CIDR
255.128.0.0 /9
255.192.0.0 /10
255.224.0.0 /11
255.240.0.0 /12
255.248.0.0 /13
255.252.0.0 /14
255.254.0.0 /15
255.255.0.0 /16
255.255.128.0 /17
255.255.192.0 /18
255.255.224.0 /19

Subnet Mask Nilai CIDR
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30

SUBNETTING PADA IP ADDRESS CLASS C

Ok, sekarang mari langsung latihan saja. Subnetting seperti apa yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ?

Analisa: 192.168.1.0 berarti kelas C dengan Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192).

Penghitungan: Seperti sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan berpusat di 4 hal, jumlah subnet, jumlah host per subnet, blok subnet, alamat host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu:

1. Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet
2. Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah 26 – 2 = 62 host
3. Blok Subnet = 256 – 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
4. Bagaimana dengan alamat host dan broadcast yang valid? Kita langsung buat tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.
Subnet 192.168.1.0 192.168.1.64 192.168.1.128 192.168.1.192

Host Pertama 192.168.1.1 192.168.1.65 192.168.1.129 192.168.1.193

Host Terakhir 192.168.1.62 192.168.1.126 192.168.1.190 192.168.1.254

Broadcast 192.168.1.63 192.168.1.127 192.168.1.191 192.168.1.255

Kita sudah selesaikan subnetting untuk IP address Class C. Dan kita bisa melanjutkan lagi untuk subnet mask yang lain, dengan konsep dan teknik yang sama. Subnet mask yang bisa digunakan untuk subnetting class C adalah seperti di bawah. Silakan anda coba menghitung seperti cara diatas untuk subnetmask lainnya.
Subnet Mask Nilai CIDR
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30

SUBNETTING PADA IP ADDRESS CLASS B

Berikutnya kita akan mencoba melakukan subnetting untuk IP address class B. Pertama, subnet mask yang bisa digunakan untuk subnetting class B adalah seperti dibawah. Sengaja saya pisahkan jadi dua, blok sebelah kiri dan kanan karena masing-masing berbeda teknik terutama untuk oktet yang “dimainkan” berdasarkan blok subnetnya. CIDR /17 sampai /24 caranya sama persis dengan subnetting Class C, hanya blok subnetnya kita masukkan langsung ke oktet ketiga, bukan seperti Class C yang “dimainkan” di oktet keempat. Sedangkan CIDR /25 sampai /30 (kelipatan) blok subnet kita “mainkan” di oktet keempat, tapi setelah selesai oktet ketiga berjalan maju (coeunter) dari 0, 1, 2, 3, dst.
Subnet Mask Nilai CIDR
255.255.128.0 /17
255.255.192.0 /18
255.255.224.0 /19
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24

Subnet Mask Nilai CIDR
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30

Ok, kita coba dua soal untuk kedua teknik subnetting untuk Class B. Kita mulai dari yang menggunakan subnetmask dengan CIDR /17 sampai /24. Contoh network address 172.16.0.0/18.

Analisa: 172.16.0.0 berarti kelas B, dengan Subnet Mask /18 berarti 11111111.11111111.11000000.00000000 (255.255.192.0).

Penghitungan:

1. Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada 2 oktet terakhir. Jadi Jumlah Subnet adalah 22 = 4 subnet
2. Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada 2 oktet terakhir. Jadi jumlah host per subnet adalah 214 – 2 = 16.382 host
3. Blok Subnet = 256 – 192 = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
4. Alamat host dan broadcast yang valid?

Subnet 172.16.0.0 172.16.64.0 172.16.128.0 172.16.192.0
Host Pertama 172.16.0.1 172.16.64.1 172.16.128.1 172.16.192.1
Host Terakhir 172.16.63.254 172.16.127.254 172.16.191.254 172.16.255.254
Broadcast 172.16.63.255 172.16.127.255 172.16.191.255 172.16..255.255

Berikutnya kita coba satu lagi untuk Class B khususnya untuk yang menggunakan subnetmask CIDR /25 sampai /30. Contoh network address 172.16.0.0/25.

Analisa: 172.16.0.0 berarti kelas B, dengan Subnet Mask /25 berarti 11111111.11111111.11111111.10000000 (255.255.255.128).

Penghitungan:

1. Jumlah Subnet = 29 = 512 subnet
2. Jumlah Host per Subnet = 27 – 2 = 126 host
3. Blok Subnet = 256 – 128 = 128. Jadi lengkapnya adalah (0, 128)
4. Alamat host dan broadcast yang valid?

Subnet 172.16.0.0 172.16.0.128 172.16.1.0 … 172.16.255.128
Host Pertama 172.16.0.1 172.16.0.129 172.16.1.1 … 172.16.255.129
Host Terakhir 172.16.0.126 172.16.0.254 172.16.1.126 … 172.16.255.254
Broadcast 172.16.0.127 172.16.0.255 172.16.1.127 … 172.16.255.255

Masih bingung juga? Ok sebelum masuk ke Class A, coba ulangi lagi dari Class C, dan baca pelan-pelan ;)

SUBNETTING PADA IP ADDRESS CLASS A

Kalau sudah mantab dan paham, kita lanjut ke Class A. Konsepnya semua sama saja. Perbedaannya adalah di OKTET mana kita mainkan blok subnet. Kalau Class C di oktet ke 4 (terakhir), kelas B di Oktet 3 dan 4 (2 oktet terakhir), kalau Class A di oktet 2, 3 dan 4 (3 oktet terakhir). Kemudian subnet mask yang bisa digunakan untuk subnetting class A adalah semua subnet mask dari CIDR /8 sampai /30.

Kita coba latihan untuk network address 10.0.0.0/16.

Analisa: 10.0.0.0 berarti kelas A, dengan Subnet Mask /16 berarti 11111111.11111111.00000000.00000000 (255.255.0.0).

Penghitungan:

1. Jumlah Subnet = 28 = 256 subnet
2. Jumlah Host per Subnet = 216 – 2 = 65534 host
3. Blok Subnet = 256 – 255 = 1. Jadi subnet lengkapnya: 0,1,2,3,4, etc.
4. Alamat host dan broadcast yang valid?

Subnet
10.0.0.0 10.1.0.0 … 10.254.0.0 10.255.0.0
Host Pertama 10.0.0.1 10.1.0.1 … 10.254.0.1 10.255.0.1
Host Terakhir 10.0.255.254 10.1.255.254 … 10.254.255.254 10.255.255.254
Broadcast 10.0.255.255 10.1.255.255 … 10.254.255.255 10.255.255.255

Mudah-mudahan sudah setelah anda membaca paragraf terakhir ini, anda sudah memahami penghitungan subnetting dengan baik. Kalaupun belum paham juga, anda ulangi terus artikel ini pelan-pelan dari atas. Untuk teknik hapalan subnetting yang lebih cepat, tunggu di artikel berikutnya ;)

Catatan: Semua penghitungan subnet diatas berasumsikan bahwa IP Subnet-Zeroes (dan IP Subnet-Ones) dihitung secara default. Buku versi terbaru Todd Lamle dan juga CCNA setelah 2005 sudah mengakomodasi masalah IP Subnet-Zeroes (dan IP Subnet-Ones) ini. CCNA pre-2005 tidak memasukkannya secara default (meskipun di kenyataan kita bisa mengaktifkannya dengan command ip subnet-zeroes), sehingga mungkin dalam beberapa buku tentang CCNA serta soal-soal test CNAP, anda masih menemukan rumus penghitungan Jumlah Subnet = 2x – 2

Tahap berikutnya adalah silakan download dan kerjakan soal latihan subnetting. Jangan lupa mengikuti artikel tentang Teknik Mengerjakan Soal Subnetting untuk memperkuat pemahaman anda dan meningkatkan kemampuan dalam mengerjakan soal dalam waktu terbatas.

Source Mas Rommy.

REFERENSI

1. Todd Lamle, CCNA Study Guide 5th Edition, Sybex, 2005.
2. Module CCNA 1 Chapter 9-10, Cisco Networking Academy Program (CNAP), Cisco Systems.
3. Hendra Wijaya, Cisco Router, Elex Media Komputindo, 2004.

Berikut soal latihan, tentukan :
a) Alamat Subnet Mask,
b) Alamat Subnet,
c) Alamat Broadcast,
d) Jumlah Host yang dapat digunakan,
e) serta Alamat Subnet ke-3

dari alamat sebagai berikut:
1. 198.53.67.0/30
2. 202.151.37.0/26
3. 191.22.24.0/22

Saya coba berhitung-hitung seperti demikian ;-)

1. 198.53.67.0/30 –> IP class C:

Subnet Mask: /30 = 11111111.11111111.11111111.11111100 = 255.255.255.252
Menghitung Subnet:
Jumlah Subnet: 26 = 64 Subnet
Jumlah Host per Subnet: 22 – 2 = 2 host
Blok Subnet: 256 – 252 = 4, blok berikutnya: 4+4 = 8, 8+4 = 12, dst…
jadi blok Subnet: 0, 4, 8, 12, dst…
Host dan broadcast yang valid:


Maka dari perhitungan diperoleh:

* Alamat Subnet Mask: 255.255.255.252
* Alamat Subnet: 198.53.67.0, 198.53.67.4, 198.53.67.8, 198.53.67.12, … , 198.53.67.252
* Alamat Broadcast: 198.53.67.3, 198.53.67.7, 198.53.67.11, 198.53.67.15 … 198.53.67.255
* Jumlah host yang dapat digunakan: 64×2 = 128
* Alamat Subnet ke-3: 198.53.67.8

2.202.151.37.0/26 -> IP class C

Subnet Mask: /26 = 11111111.11111111.11111111.11000000 = 255.255.255.192
Menghitung Subnet:
Jumlah Subnet: 22 = 4 Subnet
Jumlah Host per Subnet: 26 – 2 = 62 host
Blok Subnet: 256 – 192 = 64, blok berikutnya: 64+64 = 128, 128+64 = 192
Jadi blok Alamat Subnet: 0, 64, 128, 192
Host dan broadcast yang valid:

Maka dari perhitungan diperoleh:

* Alamat Subnet Mask: 255.255.255.192
* Alamat Subnet: 202.151.37.0, 202.151.37.64, 202.151.37.128, 202.151.37.192
* Alamat Broadcast: 202.151.37.63, 202.151.37.127, 202.151.37.191, 202.151.37.255
* Jumlah host yang dapat digunakan: 4×62 = 248
* Alamat Subnet ke-3: 202.151.37.128

3.191.22.24.0/22 –> IP class B
Subnet Mask: /22 = 11111111.11111111.11111100.00000000 = 255.255.252.0
Menghitung Subnet:
Jumlah Subnet: 26 = 64 Subnet
Jumlah Host per Subnet: 22– 2 = 2 host
Jumlah Blok Subnet: 256 – 252 = 4, blok berikutnya: 4+4 = 8, 8+4 = 12, dst…
Jadi blok Alamat Subnet: 0, 4, 8, 12, 16, dst…

Alamat host yang valid:

* Alamat Subnet Mask: 255.255.252.0
* Alamat Subnet: 191.22.24.0, 191.22.24.4, 191.22.24.8, …, 191.22.24.252
* Alamat Broadcast: 191.22.24.3, 191.22.24.7, 191.22.24.11, …, 191.22.24.255
* Jumlah host yang dapat digunakan: 2×64 = 128
* Alamat Subnet ke-3: 191.22.24.8