Rabu, 23 Mei 2012

Apa itu Web Security?

Sejak tahun 1990-an, internet berkembang pesat ke seluruh dunia karena semakin mudahnya akses informasi ke jejaring internet, dengan menggunakan teknologi WWW (World Wide Web) dan juga dukungan visi PC (Personal Computer)-nya Microsoft, serta perkembangan open source OS Linux yang sangat pesat. Saat ini, internet telah menjadi bagian dari kehidupan kita sehari-hari sebagai salah satu wahana komunikasi dalam bisnis maupun untuk privat. Tetapi di balik itu masih banyak lubang kelemahan sistem.   Di masyarakat umum, istilah hacker ini banyak tersalahgunakan atau rancu dengan istilah Cracker. Khususnya ketika pembahasan mengarah kepada kejahatan. Dimana istilah untuk penjahat yang mereka maksud sebenarnya adalah Cracker. Hacker dianggap sebagai orang yang paling bertanggungjawab dalam kejahatan komputer tersebut. Padahal kalau kita melihat apa sebenarnya istilah dan apa saja yang dilakukan oleh hacker maka anggapan tersebut tidak selalu benar. Ada beberapa tipe para penggila teknologi computer seperti berikut ini :
a Hacker
Sekumpulan orang/team yang tugasnya membangun serta menjaga sebuah sistem sehingga dapat berguna bagi kehidupan dunia teknologi informasi, serta penggunanya. hacker disini lingkupnya luas bisa bekerja pada field offline maupun online, seperti Software builder(pembuat/perancang aplikasi), database administrator, dan administrator. Namun dalam tingkatan yang diatas rata-rata dan tidak mengklaim dirinya sendiri, namun diklaim oleh kelompoknya, maka dari itu hacker terkenal akan kerendahan hati dan kemurahan memberikan segenap ilmunya.
b Cracker
Seorang/sekumpulan orang yang memiliki kemampuan lebih dalam merusak sebuah sistem sehingga fungsinya tidak berjalan seperti normalnya, atau malah kebalikannya, sesuai keinginan mereka, dan mereka memang diakui memiliki kemampuan yang indigo dan benar-benar berotak cemerlang. Biasanya cracker ini belum dikategorikan kejahatan didunia maya, karena mereka lebih sering merubah aplikasi, seperti membuat keygen, crack, patch(untuk menjadi full version).
c Defacer
Seorang/Sekumpulan orang yang mencoba untuk mengubah halaman dari suatu website atau profile pada social network(friendster, facebook, myspace), namun yang tingkatan lebih, dapat mencuri semua informasi dari profil seseorang, cara mendeface tergolong mudah karena banyaknya tutorial diinternet, yang anda butuhkan hanya mencoba dan mencoba, dan sedikit pengalaman tentang teknologi informasi.
d Carder
Seorang/sekumpulan lamers yang mencoba segala cara untuk mendapatkan nomor kartu kredit seseorang dan cvv2nya dengan cara menipu, menggenerate sekumpulan kartu kredit untuk kepentingan dirinya sendiri. Namun pada tingkatan tertentu carder dapat mencuri semua informasi valid dari sebuah online shopping. Ini adalah Malingnya dunia Maya.
e. – Frauder
Seorang/sekumpulan orang yang mencoba melakukan penipuan didunia pelelangan online, belum ada deskripsi jelas tentang orang ini, mereka sering juga dikategorikan sebagai carder.
f. – Spammer
Seorang/sekumpulan orang yang mencoba mengirimkan informasi palsu melalui media online seperti internet, biasanya berupa email, orang-orang ini mencoba segala cara agar orang yang dikirimi informasi percaya terhadap mereka sehingga next step untuk mendapatkan kemauan si spammer ini berjalan dengan baik. Meraka tidak lain dikategorikan sebagai penipu.
Motiv dari kejahatan diinternet antara lain adalah:
<> Coba-coba dan rasa ingin tahu
<> Faktor ekonomi
<> Ajang unjuk diri
<> Sakit hati
Hacker adalah sebutan untuk mereka yang menggunakan keahliannya dalam hal komputer untuk melihat, menemukan dan memperbaiki kelemahan sistem keamanan dalam sebuah sistem komputer ataupun dalam sebuah software. Hasil pekerjaan mereka biasanya dipublikasikan secara luas dengan harapan sistem atau software yang didapati memiliki kelemahan dalam hal keamanan dapat disempurnakan di masa yang akan datang. Sedangkan cracker memanfaatkan kelemahan-kelamahan pada sebuah sistem atau software untuk melakukan tindak kejahatan.
Apa security itu?
Definisi Statis :
<> Kerahasiaan
<>Keutuhan
<> Dapat dipertanggung jawabkan
Defenisi Dinamis :
<> Taksiran
<> Proteksi
<> Deteksi
<> Reaksi
Jenis Jenis Serangan
Berikut adalah 10(sepuluh) dafttar celah yang dapat menyebabkan website terancam.
1 – Cross Site Scripting (XSS)
Celah XSS, adalah saat pengguna web aplikasi dapat memasukkan data dan mengirimkan ke web browser tanpa harus melakukan validasi dan encoding terhadap isi data tersebut, Celah XSS mengakibatkan penyerang dapat menjalankan potongan kode (script) miliknya di browser target, dan memungkinkan untuk mencuri user session milik target, bahkan sampai menciptakan Worm.
2 – Injection Flaws
Celah Injeksi, umumnya injeksi terhadap SQL (database) dari suatu aplikasi web. Hal ini mungkin terjadi apabila pengguna memasukkan data sebagai bagian dari perintah (query) yang menipu interpreter untuk menjalankan perintah tersebut atau merubah suatu data.
3 – Malicious File Execution
Celah ini mengakibatkan penyerang dapat secara remote membuat file yang berisi kode dan data untuk di eksekusi, salah satunya adalah Remote file inclusion (RFI).
4 – Insecure Direct Object Reference
Adalah suatu celah yang terjadi saat pembuat aplikasi web merekspos referensi internal penggunaan objek, seperti file, direktori, database record, dll
5 – Cross Site Request Forgery (CSRF)
Celah ini akan memaksa browser target yang sudah log-in untuk mengirimkan “pre-authenticated request”terhadap aplikasi web yang diketahui memiliki celah, dan memaksa browser target untuk melakukan hal yang menguntungkan penyerang.
6 – Information Leakage and Improper Error Handling
Penyerang menggunakan informasi yang didapatkan dari celah yang di akibatkan oleh informasi yang diberikan oleh web aplikasi seperti pesan kesalahan (error) serta konfigurasi yang bisa di lihat.
7 – Broken Authentication and Session Management
Celah ini merupakan akibat buruknya penanganan proses otentikasi dan manajemen sesi, sehingga penyerang bisa mendapatkan password, atau key yang di gunakan untuk otentikasi.
8 – Insecure Cryptographic Storage
Aplikasi web umumnya jarang menggunakan fungsi kriptografi untuk melindungi data penting yang dimiliki, atau menggunakan fungsi kriptografi yang di ketahui memiliki kelemahan.
9 – Insecure Communications
Sedikit sekali aplikasi web yang mengamankan jalur komunikasinya, hal inilah yang dimanfaatkan oleh penyerang sebagai celah untuk mendapatkan informasi berharga.
10 – Failure to Restrict URL Access
Seringkali, aplikasi web hanya menghilangkan tampilan link (URL) dari pengguna yang tidak berhak, tetapi hal ini dengan sangat mudah dilewati dengan mengakses URL tersebut secara langsung.
Pengamanan secara Umum
1. Pemilihan Sistem Operasi (OS), Setting Server, dan Desain Aplikasi
2. Instalasi Patch
3. Kontrol Akses
4. Audit dan Log File
5. Menerapkan Kriptografi
6. Sekuritas Jaringan
  • Network firewall
  • Sentralisasi Log
  • Network monitoring
  • Pendeteksian gangguan serangan
7. Penggunaan Proxy (front door)
  • Semua akses http melalui proxy
  • Sentralisasi akses
8. Penggunaan Proxy (Integration reserve proxy)
  • Kombinasikan multi web server menjadi satu
9. Penggunaan Proxy (protection reserve proxy)
  • Awasi akses masuk dan keluar
  • Block akses yg mencurigakan
10. Penggunaan Proxy (performance reserve proxy)
  • Transparan caching
  • Transparan respon

Mengenai Web Hosting

Saya seringkali ditanya, “Apa itu webhosting?”. Soalan ini mungkin kelihatan agak mudah, dan bagi mereka yang sudah sedia ada gambaran mengenainya memang agak mudah untuk dijelaskan. Tetapi, bagi mereka yang masih baru di dalam dunia internet, istilah “webhosting” agak mengelirukan. Di dalam ebook ringkas ini, saya akan menjelaskan dengan sejelas-jelasnya mengenai, apa itu webhosting.
Baiklah, apabila kita mengatakan, kita ingin membina dan memiliki sebuah website. Kita tidak boleh lari dari 3 kompenen asas berikut.

1. Website (Rumah)
Secara analoginya, kita boleh menganggap, website itu adalah seperti rumah atau pejabat kita. Untuk membina rumah, kita perlukan, simen, batu-bata, papan, paku, syiling dan sebagainya.
Samalah halnya dengan membina website, untuk membina website, kita memerlukan perisian pembangunan web seperti macromedia dreamweaver, microsoft frontpage dan perisian-perisian yang lain. Website kita pula boleh berbentuk html, php,asp dan sebagainya.

2. Nama Domain (Alamat)
Nama domain pula boleh dianggap seperti alamat rumah. Nama domain ini anda boleh beli daripada mana-mana penjual nama domain atau lebih dikenali sebagai “Pendaftar Nama Domain” yang banyak terdapat di internet. Nama domain ini biasanya anda boleh dapati dengan harga serendah RM35 setahun hinggalah ke RM150 setahun. Nama domain ini adalah penting untuk memastikan orang ramai boleh memasuki laman web anda. Jika anda tidak mempunyai nama domain, ia adalah seperti anda membina rumah tanpa alamat. Tiada siapa akan datang atau sampai ke rumah anda.

3. Webhosting (Tapak Rumah)
Webhosting pula boleh dianggap sebagai tanah/tapak rumah bagi rumah anda. Tanpa tanah, anda tidak boleh mendirikan rumah. Oleh itu, anda mesti mempunyai webhosting jika anda ingin memiliki sebuah website. Webhosting ini sebenarnya adalah merupakan sebuah komputer yang mempunyai sambungan internet 24 jam dan orang ramai boleh akses kepadanya. Oleh itu, anda perlulah meletakkan website anda di webhosting untuk orang ramai mengaksesnya.

Itulah penerangan ringkas serta konsep asas bagi webhosting.

Website = Rumah / Pejabat
Nama Domain = Alamat Rumah/Pejabat
Webhosting = Tapak Rumah/Pejabat

Harap anda jelas dengan konsep asas di atas. Kini timbul pula persoalan, bagaimana saya ingin mendapatkan webhosting? Oh! Mudah sahaja, anda boleh mendapatkan webhosting dari penyedia-penyedia perkhidmatan webhosting ini di internet. Terdapat beribu-ribu penyedia perkhidmatan webhosting di internet.

Pada kebiasaannya, penyedia perkhidmatan webhosting akan membenarkan anda menyewa ruang komputer mereka untuk anda gunakan dan meletakkan website anda. Mereka juga biasanya akan membenarkan anda menggunakan server email serta server database mereka. Bergantung pada pakej yang anda ambil.

Terdapat bermacam-macam pakej yang ditawarkan oleh penyedia perkhidmatan webhosting ini. Anda perlulah bijak memilih pakej manakah yang sesuai dengan anda. Kenalpasti apakah ciri-ciri yang ingin anda gunakan di dalam website anda. Elakkan daripada membeli pakej-pakej yang terlalu besar yang mungkin anda tidak gunakan. Anda boleh mulakan dengan pakej yang paling kecil dan kemudiannya meng”upgrade” dari semasa ke semasa mengikut keperluan anda.

Mari kita lihat beberapa ciri yang biasa terdapat dan disediakan oleh pihak penyedia perkhidmatan webhosting.

• Ruang Web – biasanya diukur dengan menggunakan MB. Anda perlulah tahu berapa besar ruang yang diperlukan untuk website anda. Untuk mengetahui berapa ruang yang anda gunakan untuk website anda. Anda boleh mencapur kesemua saiz fail html serta fail-fail gambar yang anda gunakan di dalam website anda. Bagi website yang mempunyai 5-10 mukasurat, biasanya, saiz keseluruhan website adalah antara 1-5Mb.

• Kadar bandwidth sebulan– bandwith ini bolehlah dianggap seperti jalan raya ke rumah anda. Semakin besar bandwidth, semakin besarlah jalan raya ke rumah anda, dan semakin ramailah orang boleh datang ke website (rumah) anda. Pada kebiasaannya, bandwidth sebesar 1Gb sudah mencukupi, tetapi jika website anda menerima kunjungan sehinggan 3-5 ribu orang sebulan, mungkin bandwidth yang lebih besar diperlukan.

• PHP,ASP,CGI – itu adalah bahasa pengaturcaraan. Jika anda membangunkan website anda dengan menggunakan php, maka, anda perlulah mencari webhosting yang menyokong bahasa pengaturcaraan tersebut.

• MySQL, Access – ini adalah merupakan pangkalan data. Jika website anda memerlukan database, maka, anda perlulah memilih pakej hosting yang turut menyediakan pangkalan data tersebut. Sesetengah hosting menyediakan pakej pangkalan data “unlimited”, bermakna, anda boleh membuat seberapa banyak pangkalan data yang anda mahu. Ada sesetengah pula, hanya membenarkan anda membuat beberapa pangkalan data sahaja.

• Frontpage Extension – jika website anda dihasilkan dengan menggunakan perisian “Microsoft frontpage”, anda mungkin memerlukan ciri ini terdapat di dalam pakej webhosting anda.

• Control Panel – ini adalah ciri penting untuk membolehkan anda mengawal dan mengaturkan(setting) akaun hosting anda. Dengan control panel, anda boleh menguruskan akaun anda dengan hanya menggunakan pelayar internet “browser”. Biasanya, anda akan diberikan “username” dan “password” untuk anda memasuki control panel anda. Antara fungsi control panel adalah seperti menghasilkan atau memadam akaun email.

• Sokongan (suport) –ini adalah ciri penting bagi membantu anda menghadapi apa-apa masalah yang anda hadapi di dalam menggunakan perkhidmatan webhosting tersebut. Ada sesetengahnya membenarkan anda menghantar email kepada mereka jika anda menghadapai masalah, malahan, ada juga yang membenarkan anda ber”chating” dengan mereka bagi menjawab segala pertanyaan dan masalah anda.

Terdapat banyak lagi ciri-ciri yang terdapat di dalam sesebuah webhosting. Tetapi, itulah antara ciri-ciri asas penting yang dapat saya kongsikan bersama anda mengenai webhosting pada kali ini.

Sumber

Artikel Tentang PHP

PHP merupakan singkatan dari Personal Home Page tools. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML, sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server-side berarti pengerjaan skrip akan dilakukan di server, baru kemudian hasilnya dikirimkan ke browser. Keunggulannya dari sifatnya yang server-side tersebut antara lain:

• Tidak diperlukan kompatibilitas browser atau harus menggunakan browser tertentu, karena serverlah yang akan mengerjakan skrip PHP. Hasil yang dikirimkan kembali ke browser umumnya bersifat teks atau gambar saja, sehingga pasti dikenal oleh browser apapun.
• Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server, misalnya koneksi ke database.
• Skrip tidak dapat “diintip” dengan menggunakan fasilitas view HTML source.

Sebagai contoh, perhatikan skrip PHP sederhana berikut ini:
<HTML>
<HEAD>
<TITLE> Contoh Skrip PHP </TITLE>
<BODY>
<?
Echo �<H1> Hallo, saya skrip PHP </H1>�;
?>
</BODY>
</HTML>


Setelah skrip ini dikerjakan di server, server akan memberikan output kepada browser sebagai berikut:
<HTML>
<HEAD>
<TITLE> Contoh Skrip PHP </TITLE>
<BODY>
<H1> Hallo, saya skrip PHP </H1>
</BODY>
</HTML>


Output inilah yang dieksekusi oleh browser. Dengan output yang berupa tag-tag HTML biasa, maka output tersebut pasti dapat dieksekusi oleh browser apapun. Sebagai perbandingan dapat dilihat pada gambar 1 dan gambar 2 untuk eksekusi skrip PHP pada Netscape dan pada IE.

Jika dibandingkan dengan skrip yang bersifat client-side, misalnya VBScript atau JavaScript, maka nampak nyata sifat browser independent tersebut. Perhatikan contoh berikut:
<HTML>
<HEAD>
<TITLE> Contoh JavaScript </TITLE>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
document.write ("<H1> Hallo, saya skrip JavaScript </H1>");
</SCRIPT>
</BODY>
</HTML>


Jika skrip tersebut di atas dijalankan pada browser yang tidak mendukung JavaScript, maka browser tidak akan memberikan hasil apapun atau malah memunculkan teks yang diapit oleh tag <SCRIPT> yaitu �document.write ("<H1> Hallo, saya skrip JavaScript </H1>");�.

Misalnya skrip tersebut dijalankan pada NCSA Mosaic 3.0, hasilnya akan nampak seperti gambar 3. Namun jika NCSA Mosaic 3.0 tersebut menjalankan skrip PHP ternyata dapat berjalan dengan baik

Kelebihan PHP

PHP dapat “melakukan” semua aplikasi program CGI, seperti mengambil nilai form, menghasilkan halaman web yang dinamis, mengirim dan menerima cookie. PHP juga dapat berkomunikasi dengan layanan-layanan yang menggunakan protokol IMAP, SNMP, NNTP, POP3, HTTP, dan lain-lain. Namun tampaknya kelebihan PHP yang paling signifikan adalah kemampuannya untuk melakukan koneksi dengan berbagai macam database. Saat ini, database yang didukung oleh PHP adalah:


• Adabas D
• InterBase
• PostgreSQL
• dBase
• FrontBase
• Solid
• Empress
• mSQL
• Sybase
• FilePro (read-only)
• Direct MS-SQL
• Velocis
• IBM DB2
• MySQL
• Unix dbm
• Informix
• Semua database yang mempunyai provider ODBC
• Ingres
• Oracle (OCI7 and OCI8)

Struktur Skrip

Seperti telah dibahas minggu lalu, skrip PHP ditambahkan ke dalam HTML dengan menggunakan delimiter khusus. Delimiter merupakan karakter atau kumpulan karakter yang membedakan antara skrip atau tag dengan teks biasa dalam HTML. Seperti kita ketahui, delimiter untuk tag HTML adalah karakter <>. Untuk PHP, delimiter yang digunakan adalah sebagai berikut:

1. Untuk dokumen SGML/HTML biasa:

<? Skrip PHP ?> atau <?php skrip php ?>

2. Untuk dokumen XML:

<?php skrip PHP ?>

3. Untuk editor yang tidak mendukung PHP:

<script language=�php�>
skrip php
</script>

4. Dapat juga menggunakan delimiter ASP:

<% skrip PHP %>

Baris-baris pada skrip PHP dipisahkan dengan cara yang sama dengan C atau Perl, yaitu dengan menambahkan karakter titik koma (;). Contoh:

<?
Skrip php;
Skrip php;
?>

Jika terdapat skrip yang hanya terdiri dari satu baris, ada dua gaya penulisan yang dapat digunakan:

<?
Skrip php;
?>

Atau:

<? Skrip php ?>

Jika digunakan gaya penulisan yang kedua, tanda titik koma tidak perlu digunakan, karena tag penutup ?> sudah menandakan akhir dari skrip tersebut.
Untuk menambahkan komentar dalam skrip PHP dapat digunakan gaya C, C++, atau shell UNIX. Contoh:

<?php
skrip php; // Komentar satu baris gaya C++
/* Komentar yang panjangnya
lebih dari satu baris */
skrip php;
skrip php; # Komentar gaya shell UNIX
?>

Pengenalan struktur PHP ini merupakan dasar dari pelajaran mengenai PHP. Karena itu perhatikan baik-baik dan minggu depan kita akan mencoba membuat skrip-skrip PHP sederhana.

sumber

Sekilas Tentang Joomla



1. Definisi Joomla!
Joomla! adalah salah satu CMS (Content Management System) dari sekian banyak CMS yang ada di dunia ini yang bisa didapat secara gratis.
Pengertian CMS itu sendiri adalah pengelolaan isi atau content. Bila dikaitkan dengan web, maka CMS bisa didefinisikan sebagai software yang mampu mengelola isi atau content dari sebuah website seperti melakukan publikasi, edit, ataupun menghapus sebuah content.

2. Sejarah Singkat Joomla!
Sekitar tahun 2001 sebuah perusahaan di Australia bernama Miro bersama dengan tim membuat sebuah CMS yang diberi nama "Mambo". Software ini dibuat dengan sistem Open Source sehingga perkembangan software ini sangatlah pesat. Karena melihat sisi bisnis yang semakin cemerlang inilah maka pada tahun 2002 perusahaan tersebut mulai berubah pikiran untuk mengkomersialkan produk yang telah sukses mereka ciptakan sehingga lahirlah dua versi dari Mambo yaitu versi open source dan versi komersil. Versi open source dinamakan MOS (Mambo Open Source) sedangkan versi komersilnya dinamakan Mambo CMS.

Kemudian sekitar Agustus 2005, perseteruan antara pengembang Mambo dengan Miro sebagai pemegang hak cipta mencapai puncaknya dimana para pengembang Mambo ramai-ramai hijrah dan mengembangkan CMS Open Source sendiri dengan nama Joomla!. Hingga pasa September 2005 diperkenalkanlah Joomla! versi 1.0.0 kepada publik yang sebenarnya sama saja dengan mambo (Beda nama tapi isi sama persis).
Seiring dengan perkembangan jaman dimana sesuatu yang bersifat gratis tentu akan lebih diminati oleh kebanyakan orang ditambah dengan sifatnya yang open source(siapapun boleh dan berkesampatan untuk turut mengembangkan) menjadikan Joomla kian melejit popularitasnya meninggalkan sang induk "mambo" sehingga pada era selanjutnya Joomla berhasil merilis versi2 terbarunya 1.5 sampai dengan sekarang yang sudah berada pada versi 1.6.

3. Kelebihan dan Kekurangan Joomla
Sebagai CMS yang bersifat open source menjadikan joomla adalah CMS yang powerfull dan banyak digunakan diseluruh dunia dari situs yang paling sederhana sampai kepada aplikasi korporasi yang kompleks. Kelebihan Joomla! terletak pada kemudahan instalasi dan pengelolaannya sehingga banyak dipakai oleh pengembang web baik luar dan dalam negeri.
Sedangkan untuk kelemahannya bisa dikatakan hanya terletak pada unsur teknis saja. Karena sifatnya yang kompleks menjadikan Joomla sedikit rumit dalam proses building yang mana antara modul dan component harus disesuaikan dengan letak block yang disediakan template.
Ada juga yang bilang Joomla rawan dengan serangan hacker.
Ibarat sebuah pohon "Semakin Dia Tinggi Semakin Kencang Angin Yang menerpanya" Kepopuleran Joomla dan kecenderungan bahwa Joomla lebih banyak diterapkan atau dipakai oleh situs situs kalangan corporat menjadikan dia sasaran para hacker.  

sumber disini