Membuat website bukan lah hal yang asing lagi bagi masyarakat modern di era digital. Mulai dari website gratisan seperti blogspot, hingga ‘mencicipi’ website hosting berbayar dengan dukungan CMS seperti WordPress, Joomla, Drupal, dan masih banyak lainnya, membuat pemilik bisnis semakin mudah untuk membangun website mereka dengan cepat dan efisien.
Sayangnya, kemudahan membangun website ini kerap tidak dibarengi dengan kesadaran pentingnya meningkatkan keamanan website (web security) di saat yang bersamaan. Banyak webmaster yang masih mengabaikan hal ini meskipun menyadari bahwa website adalah salah satu asset paling berharga mereka dalam bisnis.
Berbagai Ancaman Digital Siap Mengancam Keamanan Website Anda
Ternyata, tidak sedikit hal yang bisa mengancam keamanan website kita. Beberapa jenis ancaman yang kerap terjadi antara lain adalah :
1. Virus/ Malware
2. Spam
3. Bot
4. Hacker
Dari keempat serangan ini, mana yang pernah Anda alami? Jangan menunggu sampai satu atau lebih dari mereka mempora- porandakan aset berharga Anda dalam bisnis.
11 Langkah Penting Meningkatkan Keamanan Website
Bayangkan jika Anda merasa sudah mempunyai website dengan domain yang sempurna dan website tersebut telah menjadi sangat vital untuk bisnis Anda. Dan suatu hari Anda kehilangan website tersebut karena serangan hacker yang selama ini tidak pernah Anda sangka- sangka. Apa akibat yang terjadi selanjutnya? Anda bukan hanya kehilangan sebuah asset berharga, tapi sekaligus bisnis Anda nyaris tumbang. Jangan sampai hal ini terjadi pada Anda!
Maka dari itu, penting sekali untuk meningkatkan keamanan website Anda dari ancaman digital yang bisa muncul sewaktu- waktu, baik itu dari serangan virus atau hacker. Sebagai pemilik website, berikut ini 10 langkah penting yang harus Anda lakukan :
1. Lakukan Update Website Secara Berkala
Banyak bot hacker yang bekerja secara otomatis dalam mengintai ‘mangsa’nya. Salah satu faktor yang membuat pekerjaan mereka menjadi semakin mudah adalah website yang perangkat lunaknya sudah usang dan tidak aman lagi untuk dijalankan. Maka dari itu, langkah awal yang harus Anda lakukan untuk mencegah peretasan adalah melakukan update situs Anda secara berkala sesegera mungkin saat plugin atau versi CMS baru tersedia.
Jika website Anda relatif jarang di-update dengan konten, misalnya situs bertipe Company Profile, Anda bisa menggunakan plugin WP Updates Notifier. Plugin ini akan membantu Anda mendapatkan notifikasi pembaruan plugin atau inti WordPress ke email Anda. Melakukan pengecekan website hanya sebulan sekali atau seminggu sekali bisa membahayakan website Anda jika bot hacker berhasil menemukan kerentanan dari website sebelum Anda berhasil menambalnya. Kecuali Anda menjalankan firewall situs web, melakukan pembaruan segera setelah update dirilis adalah hal yang sangat penting untuk keamanan website Anda.
2. Gunakan Kata Sandi yang Kuat
Menggunakan kata sandi yang kuat adalah point penting lainnya. Rekomendasi dari WP Engine, kata sandi yang digunakan webmaster seharusnya memenuhi tiga persyaratan utama yang harus diikuti, yaitu CLU (Complex, Long, Unique).
COMPLEX berarti kata sandi yang digunakan adalah acak atau rumit. Jangan gunakan kata sandi yang mudah ditebak orang lain, seperti tanggal lahir atau kata- kata yang nyata. Sebaliknya, Anda disarankan untuk memilih karakter acak yang merupakan perpaduan antara huruf besar, huruf kecil, angka, dan tanda baca.
LONG artinya kata sandi disarankan lebih dari 8 karakter. Kata sandi dengan 8 karakter akan lebih mudah menghentikan orang lain dari menebaknya hanya dalam beberapa kali percobaan. Maka dari itu, semakin panjang dan rumit kata sandi, maka ini akan semakin baik untuk keamanan website Anda.
Yang terakhir, kata sandi Anda harus memenuhi syarat UNIQUE atau unik. Kata sandi Anda sebaiknya tidak sama dengan kata sandi Anda di website atau akun lain yang Anda miliki di internet. Misalnya saja ada orang yang mengetahui kata sandi akun Facebook Anda, maka seharusnya mereka tidak bisa menggunakan password tersebut untuk mengakses website, email, atau akun internet banking Anda.
“Lalu bagaimana caranya mengingat 10 kata sandi berbeda sepanjang lebih dari 10 karakter?”
Anda tidak harus mengingat semuanya memang. Untuk membuatnya mudah, Anda bisa menggunakan pengelola kata sandi seperti “LastPass” (penggunaan secara online) atau “KeePass 2” (penggunaan secara offline). Anda bisa mempelajari lebih lanjut kelebihan dan kekurangan dua layanan ini dan mempertimbangkan salah satu dari keduanya untuk mengelola daftar kata sandi Anda.
3. Lakukan Backup Secara Berkala, Namun Tidak Menyimpannya di Server Situs Anda
Meski bukan hal yang kita inginkan, hal buruk bisa terjadi situs Anda kapan saja. Maka dari itu, penting untuk melakukan backup data situs Anda secara berkala. Namun, perlu diingat bahwa Anda sebaiknya Anda tidak menyimpan backup tersebut di server situs Anda. Backup ini selalu berisi versi CMS dan ekstensi yang tidak di- patch yang tersedia untuk umum sehinggai resiko keamanan menjadi semakin besar. Saat file backup Anda tersimpan di server, hal ini dapat memudahkan kerja peretas saat mengakses server Anda.
4. Gunakan Konsep Least Privileged
Jika Anda meng-hire beberapa penulis atau admin website, pastikan bahwa izin pengguna mereka sesuai dengan yang mereka perlukan untuk melakukan pekerjaan mereka. Jika suatu waktu mereka membutuhkan izin yang perlu ditingkatkan, Anda bisa memberikannya, lalu menguranginya kembali setelah pekerjaan tersebut selesai. Ini lah yang disebut dengan konsep Least Privileged.
Misalnya Anda mempunyai beberapa penulis untuk posting blog di situs Anda. Pastikan mereka tidak mempunyai hak administrator penuh atas situs Anda. Akun tersebut seharusnya hanya mempunyai otorisasi untuk membuat dan mengedit konten mereka sendiri, dan mereka tidak mempunyai akses untuk mengubah pengaturan situs website.
Pembatasan akses ini akan melindungi website Anda dari kerusakan yang tidak perlu serta mencegah website Anda dari penyalahgunaan dari pengguna ‘nakal’ secara langsung.
5. File Konfigurasi Server
Seorang admin web harus benar- benar mengenal file konfigruasi server situsnya. Server web Apache menggunakan file .htaccess, server Nginx menggunakan nginx.conf, sedangkan Microsoft IIS menggunakan web.config. File- file yang dapat ditemukan di root direktori situs ini mempunyai peranan yang sangat penting untuk situs Anda karena bekerja menjalankan aturan server. Hal ini termasuk arahan untuk meningkatkan keamanan situs Anda.
Beberapa rekomendasi aturan untuk Anda tambahkan ke server adalah sebagai berikut :
- Mencegah penjelejahan direktori (Prevent directory browsing), yaitu melakukan pembatasan informasi untuk mencegah pengguna jahat untuk melihat isi setiap direktori situs website Anda.
- Mencegah hotlinking gambar (Prevent image hotlinking), yaitu mencegah situs web lain menampilkan gambar dari server web Anda. Jika ada orang yang menautkan gambar dari server Anda, bandwith dari paket hosting Anda mungkin akan cepat habis untuk menampilkan gambar untuk situs orang lain.
- Lindung file sensitif (Protect sensitive files), yaitu melindungi file dan folder tertentu seperti file konfigurasi CMS yang berisi detail info masuk basis data dalam teks biasa. Untuk meningkatkan keamanan, mungkin Anda dapat mengunci lokasi admin area atau membatasi eksekusi PHP dalam direktori yang menyimpan gambar atau mengizinkan unggahan.
Selain tiga hal ini, ada juga rules dan opsi lain yang dapat Anda atur di file konfigurasi server untuk meningkatkan keamanan situs Anda.
6. Mengatur File Permission
File permission akan menentukan siapa yang bisa melakukan apa ke sebuah file di situs web Anda. Setiap file di server web akan mempunyai tiga jenis izin yang masing- masing menggunakan kode angka seperti :
- Read (4), yaitu untuk dapat melihat isi file
- Write (2), yaitu untuk dapat mengubah isi file
- Execute (1), yaitu untuk menjalankan file program
Untuk mengatur beberapa izin/ permission secara bersamaan, Anda hanya perlu menambahkan angka bersama- sama. Misalnya jika Anda mengatur file tersebut untuk bisa membaca (4) sekaligus menulis (2), makai zin pengguna yang Anda berikan adalah 6. Jika izin pengguna adalah membaca (4), menulis (2), dan menjalankan (2), maka izin pengguna yang diberikan adalah 7.
Selain itu, ada juga tiga jenis user yang harus Anda ketahui, yaitu :
- Owner, yaitu pemilik file (hanya satu orang yang bisa menjadi pemilik file)
- Group, yaitu grup file dimana setiap pengguna yang merupakan bagian dari grup tersebut akan mendapatkan izin tersebut
- Public, yaitu semua orang
Saat menginstall CMS, permission di file/ folder Anda akan mendapatkan konfigurasi secara default. Dengan panduan ini, Anda dapat mengubah izin file tersebut sesuai kebutuhan dengan mengutamakan faktor keamanan untuk situs web Anda.
7. Ubah Pengaturan Standar CMS
Meskipun mudah digunakan, aplikasi CMS seringkali masih kurang optimal dari persepektif keamanan. Serangan hacker yang paling sering terjadi terhadap sebuah situs seringkali terjadi secara otomatis dan hal ini banyak dipengaruhi oleh pengaturan default yang digunakan. Maka dari itu, Anda perlu mengubah beberapa pengaturan default saat menginstall CMS yang Anda pilih, seperti melakukan perubahan pada point 5 & 6 di atas.
Misalnya saja, secara default beberapa aplikasi CMS memungkinkan pengguna untuk bisa menginstall ekstensi apa pun yang mereka inginkan. Ada juga pengaturan yang mungkin perlu Anda lebih perhatikan dalam mengontrol komentar, izin pengguna (pengaturan permission), dan visibilitas informasi pengguna.
8. Pemilihan Ekstensi, Add On, & Plugin
Salah satu hal menarik dari penggunaan CMS adalah fleksibilitasnya. Ada banyak plugin, add-on, dan ekstensi yang menyediakan hampir semua fungsi yang Anda butuhkan. Sayangnya, fleksibilitas ini juga kerap menjadi pedang bermata dua. Tidak jarang Anda menemukan beberapa ekstensi yang menawarkan fungsi serupa dan membuat Anda bingung, mana yang sebaiknya Anda pilih?
Jika ini terjadi, maka yang sebaiknya Anda pilih adalah yang terakhir mendapatkan pembaruan. Jika pembaruan terakhir lebih dari beberapa tahun terakhir, dikawatirkan ekstensi tersebut telah berhenti dikerjakan oleh pengembangnya dan ini bisa meningkatkan resiko keamanan situs Anda kapan saja.
Berbanding terbalik dengan ekstensi yang secara aktif terupdate atau pengembang secara aktif memantau ekstensi tersebut. Jika Anda mengalami masalah keamanan atau bug terhadap ekstensi tersebut, maka laporan Anda akan mendapatkan dukungan dari pengembang dengan mudah.
Selain itu, Anda juga dapat mempertimbangkan usia ekstensi tersebut dan jumlah pengguna yang menginstallnya. Ekstensi yang dikembangkan oleh pengembang yang sudah ‘besar’ biasanya akan mempunyai lebih dari 100 pemasangan sejak pertama kali dirilis. Bagi pengembang tersebut, keamanan adalah hal yang sangat penting dalam mengembangkan ekstensi/ plugin sebelum akhirnya user gunakan.
9. Satu Situs = Satu Hosting
Paket hosting unlimited memang menggoda! Anda bisa membayangkan betapa hemat dan efisiennya mengatur situs- situs Anda dalam satu hosting saja. Namun sayangnya, hal ini sebenarnya adalah salah satu praktek keamanan terburuk dalam panduan web security. Mengapa? Karena menaruh beberapa situs dalam satu hosting berlokasi sama berpotensi menciptakan serangan hacker yang lebih besar. Serangan hacker yang dilancarkan terhadap instalasi CMS Anda dapat menyebar dengan sangat mudah saat banyak situs dihosting di lokasi yang sama.
Selain itu, proses pembersihan juga akan menjadi PR yang melelahkan saat hacker meretas semua situas Anda di saat yang bersamaan. Selain memakan waktu, tingkat kesulitan juga lebih tinggi karena situs yang terinfeksi dapat terus menginfeksi satu sama lain dalam satu lingkaran tanpa akhir. Benar- benar melelahkan!
10. Menginstall SSL
SSL (Secure Sockets Layer) adalah protokol keamanan standar untuk membuat tautan ter-enkripsi antara server web dan browser dalam komunikasi online. SSL bekerja melakukan enkripsi komunikasi antara Titik A dan Titik B, yaitu antara server situs web dan browser.
Salah satu peranan SSL dalam web security adalah melindungi informasi pribadi pengunjung, mengamankan transfer data, transaksi kartu kredit, dan data login. Untuk situs web e-Commerce atau web apapun yang menerima pengiriman formulir dengan data pengguna sensitif atau informasi identitas pribadi, mempunyai sertifikat SSL (SSL Certificate) sangat penting.
Saat sebuah website mempunyai SSL Certificate terpasang dengan benar di server, maka akan muncul ikon gembok hijau kecil yang tampil di sebelah kiri URL situs web di browser dan https akan muncul dengan warna hijau juga. Dengan SSL Certificate, pemilik situs web telah memberikan keamanan kepada pelanggan dan membuat mereka lebih betah untuk terus berada di situs web Anda dalam jangka waktu yang lebih lama.
Salah satu bukti nyata dari pentingnya SSL Certificate adalah update terbaru dari Google Chrome Juli 2018 yang akan memberikan peringatan situs tidak aman saat pengunjung menjelajah sebuah situs web yang belum terinstall dengan SSL Certificate.
11. Gunakan Layanan Hosting yang Terpercaya dan Berkualitas
Salah satu tolak ukur dalam menentukan hosting berkualitas dan terpercaya adalah kesadaran perusahaan hosting tersebut terhadap pentingnya web security. Pastikan layanan hosting Anda menyadari ancaman terhadap situs web itu nyata sehingga mereka mempunyai beberapa fitur andalan untuk meningkatan keamanan situs web Anda.
Sebelum memilih layanan hosting, baik lokal maupun luar negeri, coba lah untuk melakukan riset terhadap kualitas keamanannya. Pastikan provider hosting tersebut mendukung keamanan website dan handal di setiap kesempatan. Selain aman, pastikan juga kualitas server dan dukungan pelanggan hosting tersebut juga berkualitas.
Kesimpulan
Saat website adalah asset berharga dalam sebuah bisnis, membangun situs web dengan tingkat keamanan yang baik adalah sebuah keharusan. Jangan sampai kesadadaran Anda untuk meningkatkan web security ini baru bertumbuh saat Anda mengalami serangan hacker atau virus pada website Anda. Dengan meningkatkan keamanan situs web kita, mulai dari 11 langkah di atas, kita telah melindungi asset berharga kita dalam bisnis.