Bảo mật WordPress cơ bản: Bảo vệ website khỏi hack, mã độc & tấn công
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
Bước 1: Tạo user Administrator mới
Vào Thành viên → Thêm mới → tạo user mới với:
- Username không dễ đoán (VD:
john_managerthay vìadmin) - Email hợp lệ
- Role: Administrator
- Mật khẩu mạnh (WordPress sẽ cảnh báo nếu yếu)
- Username không dễ đoán (VD:
- 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
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
Bước 4: Đổi mật khẩu định kỳ
Vào Profile → Account Management → Set 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-adminthà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
Bước 1: Cài đặt Wordfence
Vào Gói mở rộng → Cài mới → tìm "Wordfence Security" → Cài đặt → Kích hoạt.
- 2
Bước 2: Kích hoạt License (miễn phí)
Vào Wordfence → Bảng tin → nhập email → click Get Started → chọn bản Free.
- 3
Bước 3: Cấu hình Firewall
Vào Wordfence → Firewall → Optimize the Wordfence Firewall → chọn Extended Protection (nếu có quyền) hoặc Basic Protection.
- 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
Bước 5: Cấu hình Email Alerts
Vào All Options → Email 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
Bước 1: Cài plugin
Vào Gói mở rộng → Cài mới → tìm "WPS Hide Login" → Cài đặt → Kích hoạt.
- 2
Bước 2: Cấu hình URL mới
Vào Settings → WPS 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
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
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
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
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
Bước 4: Cập nhật Themes
Vào Giao diện → Giao diện → cập nhật theme đang dùng (nếu có).
- 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
Bước 1: Ẩn WordPress version
Vào Wordfence → All Options → General Wordfence Options → tick Hide WordPress version.
Hoặc thêm vàofunctions.phpcủa theme:phpremove_action('wp_head', 'wp_generator'); - 2
Bước 2: Disable file editing
Thêm vào
wp-config.php(trước dòng "That's all, stop editing!"):phpdefine('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
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
.htaccesschỉ 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
Bước 1: Kiểm tra Wordfence Bảng tin
Vào Wordfence → Bả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
Bước 2: Kiểm tra Activity Log
Vào Wordfence → Tools → Whois Lookup để tra cứu IP lạ.
Vào Live Traffic để xem traffic real-time (nếu có bản Premium). - 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.phphoặ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
Bước 1: Đừng hoảng sợ
Bình tĩnh, website có thể khôi phục được nếu có backup.
- 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
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
Bước 4: Đổi tất cả passwords
Đổi password WordPress, FTP, hosting, email — tất cả liên quan đến website.
- 5
Bước 5: Scan malware
Dùng Wordfence scan hoặc Sucuri SiteCheck để tìm mã độc còn sót.
- 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 Options → General → 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 Wordfence → Firewall → Disable 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?
Bài viết liên quan
Cài đặt và quản lý Plugin
# Cài đặt và quản lý Plugin Plugin giúp mở rộng chức năng của WordPress mà không cần chỉnh sửa code. ## Cài đặt Plugin ### Từ WordPress Repository...
Quản lý người dùng WordPress: Tạo user, phân quyền, roles & bảo mật tài khoản
<TLDR title="TL;DR (làm nhanh theo thứ tự)"> - Tạo user mới: Thành viên → Thêm mới → nhập username, email, password, chọn Vai trò - Phân quyền: Admin...
Sao lưu và khôi phục WordPress: Backup manual, plugin & restore khi cần
<TLDR title="TL;DR (làm nhanh theo thứ tự)"> - Sao lưu manual: Export database qua phpMyAdmin + Download files qua FTP/cPanel - Plugin backup: Cài Up...
Hướng dẫn WordPress
# Hướng dẫn WordPress Chào mừng bạn đến với phần hướng dẫn về WordPress - hệ thống quản trị nội dung phổ biến nhất thế giới. ## Tổng quan WordPres...