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.
-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.
-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.
Sumber :
https://djavanese.wordpress.com
http://erwinariefn.blogspot.com/
