Web Security





Pengertian Web Security

Web Security adalah tata aturan atau cara mengamankan aplikasi web yg dikelola, biasanya yg bertanggung jawab melakukannya adalah pengelola aplikasi web tersebut. 

Terdapat 3 prinsip utama mengenai masalah keamanan web yaitu Confidentiality, Integrity, dan Availability atau lebih dikenal dengan nama CIA. Sama halnya ketika bergelut dengan keamanan (security) sebuah website, prinsip CIA sudah selayaknya dijadikan pedoman yang harus dipahami apabila ingin website kita lebih aman dan sulit untuk diserang.

-Confidentiality
Confidentiality memiliki makna bahwa data atau informasi yang berada di dalam sebuah website hanya dapat di baca atau di akses oleh orang-orang yang memang memiliki kewenangan untuk mengaksesnya. Dalam era konsep Web 2.0 yang sedang berkembang beberapa tahun belakangan ini, sangat memungkinkan sebuah website untuk dapat memiliki lebih dari satu administrator. Contohnya adalah WordPress engine. Idealisme Web 2.0 yang dapat mengajak siapa pun menjadi kontributor artikel-artikel di dalam sebuah website, membuat siapa pun dapat mengakses halaman administrator untuk memberikan kontribusinya baik dalam bentuk artikel maupun manajemen. Hal ini sangat berbahaya mengingat pada halaman administrator kita dapat mengedit file-file yang menjadi tema dari website yang bersangkutan.

Dalam kasus WordPress, untuk mengantisipasi tangan-tangan jahil orang yang tak dikenal, developer WordPress sendiri telah mengantisipasi hal ini dengan cara membuat role-role dari setiap user yang dimiliki. Sebagai contoh, Role selain administrator tidak dapat mengubah tema atau plugin website yang bersangkutan. Sehingga tidak mungkin pengubahan tema dilakukan oleh user selain administrator. Dengan pembagian Role seperti ini data ataupun informasi seperti list user-user hanya akan dapat dilihat oleh sang administrator sedangkan profile user dapat di akses oleh masing-masing user. Dengan demikian tingkat keamanan dapat dikatakan semakin tinggi.

- Integrity 
Integrity memiliki pengertian data-data yang berada didalam server atau website hanya dapat diubah ataupun di delete oleh orang yang memiliki kewenangan untuk melakukan hal itu.
Sebagai contoh proses transfer dari server ke client atau sebaliknya (dapat berupa upload maupun download), ternyata mengubah file yang sedang di transfer tersebut. Hal ini mengindikasikan bahwa sebuah aplikasi website yang sedang digunakan tidak aman (insecure).
Sama halnya jika ada serangan sebuah virus yang dapat mengubah sebuah file, entah itu mengubah nama ataupun isinya. Terkadang user dengan role yang lebih rendah dari administrator dapat dengan cara tertentu (termasuk didalamnya karena ketidaksengajaan) melakukan hal ini sekalipun ia tidak dapat mengakses data yang sedang diubah ataupun dihancurkan itu.
Tindakan ini terkadang adalah tindakan yang memang tidak di sengaja oleh user tersebut. Di akibatkan karena adanya error dalam aplikasi web yang sedang digunakan. Untuk membuat website menjadi lebih aman, hal ini harus dihindari. Salah satunya adalah dengan mengaplikasikan salah satu proses yang wajib ada dalam sebuah proses software engineering yaitu proses testing. Proses testing ini dibagi menjadi dua yaitu, Black box testing dan White box testing.
Secara sederhana black box testing adalah mengetes aplikasi yang diperuntukkan oleh user yang memang mengakses website. Sedangkan untuk whitebox testing mengkhususkan diri kepada testing fungsi-fungsi yang telah ditulis dalam bahasa pemrograman tertentu (PHP, Perl, ASP, Javascript, dan lain sebagainya).

-Availability
Jika confidentiality bermakna hanya user yang memiliki kewenangan yang dapat melihat data tertentu yang tersimpan didalam sebuah server atau website, availability memiliki makna bahwa website harus dapat diakses jika user ingin meggunakannya. Availability hanya menekankan kepada dapat diaksesnya sebuah website. Mengenai siapa yang dapat mengaksesnya itu telah dicover oleh prinsip confidentiality. Jika sebuah website dapat diakses tanpa adanya error, itu berarti website tersebut telah memenuhi prinsip availability ini. Hal ini memiliki makna bahwa sebuah website haruslah dapat diakses apabila memang dibutuhkan, dengan kata lain, website harus selalu.


Penjagaan keamanan termasuk hal yang penting dilakukan dalam web maintenance.Menjadi penting, jangan sampai kejadian dulu dan menyesal karena kehilangan banyak hal, baru sadar akan pentingnya hal itu. Beberapa hal dasar yang dapat kita lakukan untuk mencegah terjadinya hal-hal yang tidak diinginkan, serta untuk berjaga-jaga kalau kemungkinan terburuk menyerang, adalah sebagai berikut:

a. Backup rutin! Ini yang paling wajib untuk dilakukan. Backup file-file dan database-nya secara berkala, sesuai dengan frekuensi pembaruan (update) isi website. Kalau websitenya diperbarui setiap hari, backup-lah setiap hari, begitu seterusnya. Backup ini penting, untuk mencegah kemungkinan terburuk yang bisa terjadi. Kalau website kita diserang dan hancur-hancuran, kita masih bisa mengembalikan website-nya dari backup ini. Kita bisa melakukan backup secara manual lewat server, namun beberapa Content Management System (CMS) punya plugin untuk melakukan backup secara otomatis.

b. Update CMS dan addon/plugin yang digunakan (apabila menggunakan CMS). CMS seperti WordPress, Joomla, Drupal, dan beberapa yang lainnya, memiliki komunitas yang secara berkala melakukan update versi sistemnya, untuk menambah fitur atau menambal lubang-lubang keamanan yang ditemukan. Dedemit maya biasanya sudah mengetahui kelemahan dari versi lama sebuah sistem. Pastikan website kita selalu diperbarui versi CMSnya.
CMS juga memiliki addon/plugin yang dapat memperbanyak fungsi dari CMS tersebut. Kalau website kita juga menggunakan addon/plugin, pastikan versinya juga terus diperbarui, dengan alasan sama seperti sebelumnya. Biasanya website-website yang di-deface lewat salah satu plugin yang digunakan.

c. Gunakan password yang kuat dan tidak pasaran. Yang paling kuat, sebaiknya gunakan password lebih dari 8 karakter, dan merupakan perpaduan dari huruf, angka, dan karakter (seperti ! @ # . , dsb). Hal ini untuk mencegah password kita dibongkar dengan praktek bruteforce (membongkar password dengan mencoba semua kemungkinan).
Sama seperti saran password untuk semua hal, jangan gunakan password yang gampang ditebak seperti tanggal lahir, nomer telepon, nomor rumah, dsb. Kalau tetep mau pake itu, pastikan dikombinasikan juga dengan huruf, angka, dan karakter.
d. Cek Akses Server Website. Apabila kita punya akses pada server website kita, cek apakah software-software yang digunakan di server seperti sistem operasi, web server, PHP, MySQL, mail server, versi cPanel, dsb, selalu yang paling baru. Kalau tidak punya akses ke server, silakan tanya ke penyedia web hostingnya untuk mengetahuinya. Seperti poin poin b, penjahat Internet biasanya sudah mengetahui kelemahan-kelemahan software versi lama.

e. Cek dan cegah adanya malware atau program jahat bercokol di website kita. Google punya alat untuk mendeteksi itu. Namanya Google Webmaster Tools (walaupun fungsinya tidak cuma untuk keamanan). Lihat menu Labs > Malware details untuk mengetahui apakah ada malware yang ditemukan oleh Google di website kita.

f. Masing-masing CMS (WordPress, Joomla, Drupal, dsb) memiliki tips-tips spesifik untuk meningkatkan keamanan. Coba googling dengan kata kunci “WordPress/Joomla/Drupal/dsb security tips” atau sejenisnya untuk tahu detail cara mengamankannya. Yang saya temukan untuk: WordPress dan Joomla.

g. Sebisa mungkin, jangan login ke website kita dari koneksi yang tidak aman atau komputer umum. Misalnya hotspot gratisan di kafe-kafe atau di warnet. Informasi login kita bisa “diintip” atau dibaca orang lain dari jaringan. Kalau make komputer umum, bisa jadi ada  program keylogger yang mencatat informasi yang kita masukan. Terutama untuk website-website penting, biasakan untuk mengakses administrasi website atau server kita dari komputer kantor atau laptop sendiri.

Hal-hal di atas adalah hal-hal dasar dan minimal yang bisa dilakukan untuk mengamankanwebsite. Masih ada beberapa hal lain yang lebih teknis dan detail untuk jauh lebih memperkuat keamanan website Anda. Semakin besar website Anda, semakin besar pula seharusnya upaya-upaya penjagaan keamanannya. 


Sumber :
https://djavanese.wordpress.com

http://erwinariefn.blogspot.com/