Skip to content

Domain, hosting, code and data — in your name, in writing

jagaweb.

Keselamatan & Pematuhan

Pengukuhan Keselamatan WordPress untuk Perniagaan Malaysia

Bacaan 5 minitOleh JagaWeb

Langkah pengukuhan WordPress yang praktikal dan disahkan untuk pemilik perniagaan Malaysia: role, MFA, plugin, staging, dan file permission.

Keselamatan Adalah Pengurangan Risiko, Bukan Satu Setting yang Anda Hidupkan

Kebanyakan compromise WordPress bukanlah sesuatu yang canggih. Ia adalah skrip automatik yang bekerja melalui satu senarai semak kelemahan yang telah diketahui — plugin lapuk dengan vulnerability yang telah didedahkan, password yang digunakan semula daripada breach lain, borang log masuk tanpa rate limiting — sehingga salah satu daripadanya membuka pintu. Hardening sesebuah laman bermaksud menutup seberapa banyak pintu itu yang munasabah, dan kemudian memastikan ia terus tertutup selagi laman itu terus berubah. Panduan hardening WordPress.org berterus terang tentang ini: keselamatan adalah "pengurangan risiko, bukan penghapusan risiko sepenuhnya." Tiada apa di bawah ini akan menjadikan sesebuah laman kebal daripada digodam. Apa yang ia lakukan ialah menghapuskan kemenangan mudah yang boleh diautomasikan, yang sebenarnya menjadi sandaran kebanyakan serangan.

Berikan Setiap Pengguna Role Paling Rendah yang Masih Berfungsi

WordPress datang dengan hierarki role atas sebab yang tertentu: Administrator, Editor, Author, Contributor, Subscriber, setiap satu dengan set keupayaan yang lebih terhad daripada yang di atasnya. Akaun Administrator boleh memasang plugin, mengedit fail theme dan plugin terus daripada wp-admin, dan mencipta akaun baharu — termasuk yang tersembunyi. Ini bermakna setiap log masuk Administrator, jika bocor, adalah compromise keseluruhan laman, bukan separuh sahaja.

Pada praktiknya, ini bermakna:

  • Audit skrin Users secara berkala dan buang akaun untuk staf, freelancer, atau agensi yang tidak lagi memerlukan akses — dengan segera, bukan "lain kali kalau ada yang teringat."
  • Jangan sekali-kali kongsi satu login merentasi satu pasukan. Login yang dikongsi menjadikan mustahil untuk mengetahui credential siapa yang menjadi titik lemah selepas sesuatu insiden.
  • Berikan pelanggan dan staf kandungan akses Editor jika mereka hanya menerbitkan dan mengedit pos. Administrator "sekadar berjaga-jaga" adalah tabiat biasa yang sebenarnya tidak perlu.
  • Gunakan akaun dengan privilege yang lebih rendah untuk tugas penulisan harian, dan simpan login Administrator khusus untuk kerja pentadbiran sahaja.

Hidupkan Multi-Factor Authentication untuk Setiap Akaun Admin

Password sahaja adalah satu titik kegagalan tunggal — ia boleh di-phish, diteka, atau diambil daripada breach di laman lain yang tidak berkaitan dan digunakan semula. Multi-factor authentication (MFA) menambah satu semakan kedua, biasanya kod one-time yang berasaskan masa daripada aplikasi authenticator, supaya password yang bocor sahaja tidak mencukupi untuk masuk.

WordPress core tidak merangkumi MFA secara lalai (out of the box); ia perlu ditambah, biasanya melalui plugin security. Apabila memilih satu, kaedah berasaskan aplikasi authenticator (TOTP) jauh lebih kukuh berbanding kod SMS atau email, kerana SMS boleh dipintas atau dialihkan melalui SIM-swap dan email selalunya adalah akaun yang sama yang cuba dicapai oleh penyerang. Sekurang-kurangnya, setiap akaun dengan akses Administrator patut mempunyai MFA yang dihidupkan — ia antara perubahan paling bernilai dengan usaha paling rendah yang tersedia.

Kekalkan Senarai Plugin Pendek dan Pastikan Plugin Sentiasa Dikemas Kini

Setiap plugin yang dipasang adalah kod tambahan yang berjalan pada server anda, dan attack surface tambahan — termasuk plugin yang sekadar dinyahaktifkan (deactivated), kerana failnya kadangkala masih boleh dicapai secara terus jika tidak dilindungi dengan betul. Panduan hardening jelas tentang perkara ini: pastikan plugin sentiasa dikemas kini, dan jika anda tidak aktif menggunakan sesuatu plugin, padamkannya berbanding membiarkannya dormant.

Beberapa peraturan praktikal yang kekal relevan dari semasa ke semasa:

  • Pasang hanya daripada repository plugin rasmi WordPress.org atau vendor yang boleh anda sahkan, jangan sekali-kali salinan "nulled" atau cracked bagi plugin berbayar — ini adalah saluran pengedaran malware yang telah didokumentasikan dengan baik, kerana crack itu sendiri selalunya tempat kod berniat jahat itu bersembunyi.
  • Kemas kini dengan segera. Sebahagian besar compromise WordPress dunia sebenar mengeksploitasi vulnerability yang sebenarnya telah di-patch berbulan lebih awal pada laman yang sekadar tidak dikemas kini.
  • Plugin yang lebih sedikit tetapi diselenggara dengan baik adalah lebih selamat berbanding banyak plugin kemudahan yang masing-masing menambah sedikit risiko yang tidak disemak.

Uji Perubahan pada Staging Sebelum Ia Menyentuh Production

Laman staging ialah satu salinan berfungsi bagi laman live anda pada URL yang berasingan dan tidak awam, digunakan untuk mencuba update, plugin baharu, atau perubahan theme sebelum ia sampai ke laman yang benar-benar dilihat oleh pelanggan anda. Ia bukan satu kawalan keselamatan dengan sendirinya, tetapi ia menghapuskan satu mod kegagalan tertentu: perubahan yang tergesa-gesa dan tidak disahkan yang dibuat terus pada server live di bawah tekanan masa, iaitu tepat masa kesilapan berlaku — permission yang dilonggarkan "sementara" untuk membaiki sesuatu dan tidak pernah diketatkan semula, update plugin yang merosakkan checkout dan mendapat workaround yang dipasang secara tergesa-gesa. Menguji dahulu menukarkan pembaikan kecemasan menjadi satu pembaikan yang dirancang.

Betulkan File Permission, dan Biarkan Ia Begitu

Panduan file permission WordPress sendiri mengesyorkan mengunci permission serapat mungkin dan hanya melonggarkannya di tempat akses tulis (write access) benar-benar diperlukan — sebagai contoh, folder /wp-content/uploads/ perlu writable, tetapi /wp-admin/ dan /wp-includes/ umumnya tidak perlu.

Satu fail yang wajar diberi perhatian khusus: wp-config.php, yang menyimpan credential database anda dalam plain text. Ia dicipta dengan permission 644 secara lalai, dan cadangan panduan hardening ialah mengetatkannya kepada 440 atau 400 di mana setup hosting anda membenarkannya, supaya hanya akaun yang perlu sahaja boleh membacanya. Elakkan "pembaikan" cepat dengan menetapkan permission 777 yang luas untuk menghilangkan sesuatu ralat — pada shared hosting khususnya, itu boleh menyebabkan fail writable oleh lebih daripada sekadar laman anda sendiri. Jika anda tidak pasti apa yang dikehendaki oleh model user/group host anda, semak dengan mereka dahulu sebelum menukar permission; membetulkannya secara salah boleh merosakkan laman semudah membiarkannya terlalu terbuka boleh mendedahkannya.

Tiada Garisan Penamat

Setiap plugin baharu, setiap pengguna baharu, setiap penyesuaian theme membuka semula persoalan sama ada laman itu masih dikonfigurasikan seperti yang anda sangkakan. Itulah sebab panduan hardening menggandingkan pencegahan dengan pengesanan — file integrity monitoring dan semakan log — berbanding menganggap mana-mana satu sahaja sudah mencukupi. Backup yang kerap dan diuji, disimpan di tempat lain selain server production, juga penting atas sebab yang sama: hardening mengurangkan kekerapan sesuatu yang tidak kena berlaku, ia tidak menjanjikan ia tidak akan pernah berlaku, dan backup itulah yang menukarkan "sesuatu tidak kena berlaku" kembali kepada satu petang yang teruk berbanding kehilangan perniagaan.

Tiada satu pun daripada ini adalah projek sekali sahaja. Ia adalah tabiat penyelenggaraan, dan ini adalah sesuatu yang ramai perniagaan Malaysia sememangnya tiada masa untuk uruskan sendiri di samping segala-galanya lain yang laman web itu perlu lakukan.


Jika anda mahukan sepasang mata tambahan untuk menyemak user role, senarai plugin, dan file permission laman anda, itulah sebahagian besar apa yang dirangkumi oleh Essential System Review kami — satu audit teknikal harga tetap dengan laporan bertulis, RM1,500 (RM999 sehingga 16 September 2026). Untuk patching dan monitoring berterusan selepas itu, JagaWeb Care bermula dari RM450 sebulan. Tiada satu pun menjanjikan laman yang tidak boleh digodam — seperti yang dinyatakan di atas — tetapi kedua-duanya bertujuan menutup pintu-pintu yang sebenarnya masih terbuka.

WhatsApp