123Website Logo

Bảo mật WordPress cơ bản: Bảo vệ website khỏi hack, mã độc & tấn công

Category: wordpressUpdated: 20/1/2026
wordpresssecuritybao-mathackpluginfirewall

TL;DR (làm nhanh theo thứ tự)

  • Đổi username mặc định "admin" → tạo user mới, xóa admin cũ
  • Cài security plugin (Wordfence/iThemes Security) → Bật firewall, limit login attempts
  • Cập nhật WordPress, themes, plugins thường xuyên
  • Đổi mật khẩu mạnh, bật 2FA cho Administrator
  • Ẩn WordPress version, disable file editing, đổi login URL
  • Giám sát website: kiểm tra logs, cảnh báo email

Mục tiêu

Website an toàn, chống hack, phát hiện và xử lý sự cố nhanh.

Thời gian

30–60 phút để setup bảo mật cơ bản (một lần), 15 phút mỗi tháng để kiểm tra.

Chuẩn bị

Truy cập admin WordPress, tài khoản email để nhận cảnh báo, plugin security (Wordfence/iThemes).

1) Tại sao WordPress dễ bị tấn công?

Thống kê đáng lo ngại

  • Hơn 40% website trên thế giới dùng WordPress → nhiều mục tiêu cho hacker
  • 90% lỗ hổng bảo mật do plugins/themes cũ hoặc mật khẩu yếu
  • Trung bình website bị tấn công 44 lần/ngày
  • Chỉ 30 phút để hacker xâm nhập website không được bảo mật đúng cách

Bảo mật WordPress có khó không?

Khuyến nghị

Không khó nếu làm đúng các bước cơ bản. Hầu hết các vụ hack xảy ra vì:

  • Không cập nhật WordPress/plugins/themes
  • Dùng mật khẩu yếu, username "admin"
  • Không cài security plugin
  • Không giới hạn số lần đăng nhập sai

Làm đúng 7 bước dưới đây, bạn đã bảo vệ được 90% rủi ro.

2) Bảo vệ đăng nhập

2.1. Đổi username và mật khẩu mạnh

Trước (dễ bị hack)

  • Username: 'admin' hoặc dễ đoán
  • Mật khẩu: '123456' hoặc 'password'
  • Không giới hạn số lần đăng nhập sai
  • URL đăng nhập mặc định: /wp-admin

Sau (an toàn)

  • Username: Tên riêng, không dễ đoán (VD: 'john_manager')
  • Mật khẩu: 12+ ký tự, có chữ hoa/thường/số/ký tự đặc biệt
  • Giới hạn 5 lần đăng nhập sai → khóa 15 phút
  • Đổi URL đăng nhập: /my-secret-login (không phải /wp-admin)
  1. 1

    Bước 1: Tạo user Administrator mới

    Vào Thành viênThêm mới → tạo user mới với:

    • Username không dễ đoán (VD: john_manager thay vì admin)
    • Email hợp lệ
    • Role: Administrator
    • Mật khẩu mạnh (WordPress sẽ cảnh báo nếu yếu)
  2. 2

    Bước 2: Đăng nhập bằng user mới

    Logout → đăng nhập lại bằng user vừa tạo → kiểm tra hoạt động bình thường.

  3. 3

    Bước 3: Xóa user `admin` cũ

    Vào Users → tìm user "admin" (hoặc username cũ) → Delete → chọn Attribute all content to user mới vừa tạo.

  4. 4

    Bước 4: Đổi mật khẩu định kỳ

    Vào ProfileAccount ManagementSet New Password → đổi mật khẩu mỗi 3–6 tháng.

Lưu ý quan trọng

Nếu không thể xóa user "admin" (vì là user đầu tiên), dùng plugin Username Changer để đổi username.
Hoặc chỉnh sửa database trực tiếp (không khuyến nghị nếu không có kinh nghiệm).

2.2. Giới hạn số lần đăng nhập sai

Quy tắc bảo vệ đăng nhập

  • 01

    Giới hạn login attempts

    Chặn IP sau 5 lần đăng nhập sai trong 15 phút.

  • 02

    Two-Factor Authentication (2FA)

    Bắt buộc 2FA cho tất cả Administrator (dùng app Authenticator).

  • 03

    Đổi URL đăng nhập

    Đổi /wp-admin thành URL tùy chỉnh (VD: /my-secret-login) để tránh brute force.

  • 04

    Email cảnh báo

    Nhận email khi có đăng nhập từ IP mới hoặc device mới.

3) Cài đặt Security Plugin

Wordfence vs iThemes Security vs Sucuri?

Khuyến nghị
  • Wordfence Security (khuyến nghị): Miễn phí, có firewall, malware scan, dễ dùng — Phù hợp cho hầu hết users
  • iThemes Security: Nhiều tính năng, có bản Pro, phức tạp hơn một chút
  • Sucuri Security: Tốt nhưng có phí, chủ yếu cho website lớn

Khuyến nghị: Dùng Wordfence Security (miễn phí) cho bắt đầu.

3.1. Cài đặt và cấu hình Wordfence

  1. 1

    Bước 1: Cài đặt Wordfence

    Vào Gói mở rộngCài mới → tìm "Wordfence Security" → Cài đặtKích hoạt.

  2. 2

    Bước 2: Kích hoạt License (miễn phí)

    Vào WordfenceBảng tin → nhập email → click Get Started → chọn bản Free.

  3. 3

    Bước 3: Cấu hình Firewall

    Vào WordfenceFirewallOptimize the Wordfence Firewall → chọn Extended Protection (nếu có quyền) hoặc Basic Protection.

  4. 4

    Bước 4: Bật Login Security

    Vào Login Security → bật các tính năng:

    • Enable 2FA: Bật 2FA cho Administrator
    • Limit login attempts: 5 lần sai → khóa 15 phút
    • Lock out after: Tích Immediately lock out invalid usernames
  5. 5

    Bước 5: Cấu hình Email Alerts

    Vào All OptionsEmail Alert Preferences → tick:

    • Alert when someone with administrator access signs in
    • Alert when a non-admin user signs in
    • Alert when someone is locked out from login

Wordfence Security Checklist

Các tính năng nên bật

  • Firewall: Extended Protection (hoặc Basic nếu không có quyền)
    Quan trọng
  • 2FA: Bật cho Administrator (và Editor nếu cần)
  • Limit login attempts: 5 lần → khóa 15 phút
  • Email alerts: Bật cảnh báo đăng nhập và lockout
  • Malware scan: Tự động scan hàng ngày
  • Country blocking: Chặn IP từ các quốc gia không liên quan (optional)

3.2. Đổi URL đăng nhập (WPS Hide Login)

  1. 1

    Bước 1: Cài plugin

    Vào Gói mở rộngCài mới → tìm "WPS Hide Login" → Cài đặtKích hoạt.

  2. 2

    Bước 2: Cấu hình URL mới

    Vào SettingsWPS Hide Login → đặt Login url mới (VD: my-secret-login).
    Lưu URL này vào password manager để không quên!

  3. 3

    Bước 3: Kiểm tra

    Truy cập /wp-admin → sẽ redirect đến URL mới hoặc 404.
    Truy cập URL mới → thấy trang đăng nhập bình thường.

Mẹo nhớ URL đăng nhập mới

  • Lưu vào password manager (1Password, LastPass, Bitwarden)
  • Bookmark trong browser
  • Gửi cho team qua kênh an toàn (không gửi qua email công khai)

4) Cập nhật WordPress, Themes, Plugins

Cập nhật là bảo mật quan trọng nhất

90% website bị hack do không cập nhật. Mỗi bản cập nhật thường chứa các bản vá bảo mật quan trọng.

  1. 1

    Bước 1: Backup trước khi update

    Luôn backup trước khi update WordPress core, themes, hoặc plugins quan trọng (xem bài Sao lưu và khôi phục).

  2. 2

    Bước 2: Cập nhật WordPress Core

    Vào Bảng tin → nếu có thông báo cập nhật → click Cập nhật ngay.
    Hoặc vào Cập nhật → chọn Cập nhật WordPress.

  3. 3

    Bước 3: Cập nhật Plugins

    Vào Gói mở rộng → tick các plugin cần cập nhật → Cập nhật → kiểm tra website hoạt động bình thường.

  4. 4

    Bước 4: Cập nhật Themes

    Vào Giao diệnGiao diện → cập nhật theme đang dùng (nếu có).

  5. 5

    Bước 5: Xóa plugins/themes không dùng

    Vào Gói mở rộng → xóa các plugin không dùng (giảm surface attack).

Nên làm

Những điểm nên ưu tiên để UI gọn và dễ bảo trì.

  • Cập nhật ngay khi có thông báo
  • Backup trước khi update
  • Test trên staging site trước (nếu có)
  • Xóa plugins/themes không dùng
  • Chỉ cài plugin từ nguồn đáng tin cậy

Không nên

Tránh các cách fix nhanh gây khó bảo trì hoặc lỗi responsive.

  • Trì hoãn update vì 'sợ lỗi' (lỗi do hack nguy hiểm hơn)
  • Update nhiều thứ cùng lúc (khó biết cái nào gây lỗi)
  • Cài plugin null/crack (thường chứa mã độc)
  • Dùng theme/plugin đã bỏ support (> 2 năm không update)

5) Bảo mật nâng cao

5.1. Ẩn WordPress version và disable file editing

  1. 1

    Bước 1: Ẩn WordPress version

    Vào WordfenceAll OptionsGeneral Wordfence Options → tick Hide WordPress version.
    Hoặc thêm vào functions.php của theme:

    php
    remove_action('wp_head', 'wp_generator');
    
  2. 2

    Bước 2: Disable file editing

    Thêm vào wp-config.php (trước dòng "That's all, stop editing!"):

    php
    define('DISALLOW_FILE_EDIT', true);
    

    Điều này ngăn chỉnh sửa themes/plugins từ admin (ngăn hacker sửa code nếu bị hack).

  3. 3

    Bước 3: Đổi database prefix

    Nếu website mới, đổi database prefix từ wp_ sang prefix tùy chỉnh (VD: abc123_).
    Website cũ không nên đổi (có thể gây lỗi).

5.2. Bảo vệ wp-config.php và .htaccess

Bảo mật files hệ thống

  • 01

    Bảo vệ wp-config.php

    Thêm vào .htaccess (trong thư mục root):

    apache
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>
    
  • 02

    Bảo vệ .htaccess

    File .htaccess chỉ nên có quyền 644 (owner read/write, others read).

  • 03

    Giới hạn quyền truy cập

    Thư mục wp-content/uploads/ chỉ cho phép upload images/files, không cho phép execute PHP.

6) Giám sát và phát hiện sự cố

Security checklist hàng tháng

Kiểm tra định kỳ

  • Kiểm tra Wordfence scan logs: có malware hoặc suspicious files không?
    Quan trọng
  • Kiểm tra login attempts: có IP nào đăng nhập sai nhiều không?
  • Kiểm tra users: có user lạ hoặc user không hoạt động không?
  • Kiểm tra plugins: có plugin nào bị báo lỗi bảo mật không?
  • Kiểm tra email alerts: có cảnh báo lạ không?
  • Test backup: restore một bản backup để đảm bảo hoạt động
  • Cập nhật: WordPress, plugins, themes đã lên bản mới nhất chưa?
  1. 1

    Bước 1: Kiểm tra Wordfence Bảng tin

    Vào WordfenceBảng tin → xem:

    • Firewall Blocks: Số lần firewall chặn tấn công
    • Top IPs Blocked: IP nào bị chặn nhiều nhất
    • Malware scan results: Có file nào bị nhiễm không?
  2. 2

    Bước 2: Kiểm tra Activity Log

    Vào WordfenceToolsWhois Lookup để tra cứu IP lạ.
    Vào Live Traffic để xem traffic real-time (nếu có bản Premium).

  3. 3

    Bước 3: Kiểm tra Users

    Vào Users → kiểm tra có user lạ không?
    Kiểm tra Last Login để biết user nào đã lâu không đăng nhập.

Dấu hiệu website bị hack

  • Website redirect đến site lạ
  • Có popup quảng cáo lạ
  • Google hiển thị cảnh báo "This site may harm your computer"
  • Có code lạ trong index.php hoặc .htaccess
  • Tốc độ website chậm bất thường
  • Server CPU/Memory tăng cao bất thường

Nếu phát hiện: Ngay lập tức backup hiện tại → Scan malware → Clean up → Đổi tất cả passwords.

7) Xử lý khi bị hack

  1. 1

    Bước 1: Đừng hoảng sợ

    Bình tĩnh, website có thể khôi phục được nếu có backup.

  2. 2

    Bước 2: Backup hiện tại

    Backup database và files hiện tại (để phân tích sau, không restore ngay).

  3. 3

    Bước 3: Khôi phục từ backup sạch

    Restore từ backup trước khi bị hack (xem bài Sao lưu và khôi phục).

  4. 4

    Bước 4: Đổi tất cả passwords

    Đổi password WordPress, FTP, hosting, email — tất cả liên quan đến website.

  5. 5

    Bước 5: Scan malware

    Dùng Wordfence scan hoặc Sucuri SiteCheck để tìm mã độc còn sót.

  6. 6

    Bước 6: Cài đặt bảo mật lại

    Làm lại các bước bảo mật trong bài này để tránh bị hack lại.

Câu hỏi thường gặp

Wordfence báo `File was changed` — có phải bị hack không?

Không nhất thiết. Có thể do:

  • Plugin/theme tự động update
  • Bạn vừa chỉnh sửa file
  • WordPress core update

Kiểm tra file cụ thể: xem nội dung có code lạ không? Nếu nghi ngờ, restore file từ backup.

Có cần cài nhiều security plugins cùng lúc không?

Không nên. Cài nhiều security plugins cùng lúc có thể conflict, làm chậm website.
Chỉ cần 1 plugin tốt (Wordfence hoặc iThemes Security) + các bước bảo mật manual.

Website bị chậm sau khi cài Wordfence, phải làm sao?
  • Tối ưu Wordfence: All OptionsGeneral → giảm tần suất scan
  • Tắt Live Traffic (chỉ bản Premium có, tốn tài nguyên)
  • Nâng cấp hosting (Wordfence cần server mạnh một chút)
Có thể tắt firewall Wordfence tạm thời không?

Có, nhưng không khuyến nghị. Firewall là lớp bảo vệ quan trọng nhất.
Nếu cần tắt (VD: test), tắt trong WordfenceFirewallDisable Firewall, nhớ bật lại sau.

Làm sao biết plugin/theme nào an toàn?

Kiểm tra:

  • Có nhiều installations không? (100k+ thường an toàn)
  • Được update thường xuyên không? (trong 6 tháng gần nhất)
  • Có reviews tốt không?
  • Developer có uy tín không?

Tránh plugin từ source không rõ ràng, null/crack, hoặc không có support.

Bài viết này có hữu ích không?