Bảo mật hiệu quả cho website WordPress

WordPress hiện là nền tảng CMS chiếm hơn 40% thị phần website toàn cầu. Sự phổ biến này, kết hợp với bản chất mã nguồn mở, khiến WordPress trở thành mục tiêu tấn công số một của hacker. Các lỗ hổng bảo mật có thể đến từ nhiều nguồn: plugin lỗi thời, WordPress core chưa vá, theme kém chất lượng, hoặc chính Hosting/Server bạn đang dùng.

Tin tốt là phần lớn các cuộc tấn công hoàn toàn có thể phòng ngừa nếu bạn thiết lập đúng ngay từ đầu. Bài viết dưới đây tổng hợp đầy đủ các biện pháp bảo mật WordPress từ cơ bản đến nâng cao, được sắp xếp theo thứ tự ưu tiên để bạn dễ thực hiện từng bước. Nếu không muốn tự xử lý thủ công, bạn có thể tham khảo dịch vụ tối ưu và bảo mật WordPress tại ThemeWP.vn để được đội ngũ kỹ thuật triển khai toàn diện và nhanh chóng.

Bảo mật Webserver và Hosting là nền tảng đầu tiên

Bảo mật Webserver, Hosting

Bảo mật từ tầng webserver quan trọng hơn bảo mật cấp website rất nhiều. Webserver và Hosting là nơi lưu trữ toàn bộ code lẫn database. Nếu server bị xâm nhập, tất cả website trên đó đều bị ảnh hưởng mà không có cách nào tránh khỏi.

Nếu bạn dùng shared hosting, hãy chọn nhà cung cấp uy tín, có biện pháp bảo mật rõ ràng. ThemeWP.vn cung cấp gói hosting chất lượng cao với tính năng bảo mật được tích hợp sẵn. Nếu bạn quản trị VPS hoặc máy chủ riêng, hãy chủ động học hỏi thêm từ các chuyên gia bảo mật và cộng đồng. Để được hỗ trợ kỹ thuật về hosting và tên miền, bạn có thể gửi yêu cầu qua hệ thống ticket hỗ trợ HostWP.

Cập nhật phiên bản WordPress, plugin và theme mới nhất

Mỗi phiên bản WordPress mới đều vá các lỗ hổng bảo mật và cải thiện hiệu năng. Khi có bản cập nhật, Admin Dashboard sẽ thông báo cho bạn. Dù WordPress hỗ trợ tự động cập nhật, bạn nên cập nhật thủ công để kiểm soát rủi ro khi có xung đột phiên bản giữa WordPress core, plugin và theme. Trước mỗi lần cập nhật, hãy sao lưu toàn bộ website để đề phòng sự cố.

Nếu bạn ngại rủi ro khi tự cập nhật, gói Cập nhật Theme và Plugin của ThemeWP.vn sẽ xử lý toàn bộ quá trình này, bao gồm cả kiểm tra tính tương thích và sửa lỗi phát sinh sau cập nhật, hoàn thành trong ngày.

Sử dụng tên đăng nhập và mật khẩu mạnh, khó đoán

Sử dụng tên đăng nhập và mật khẩu khó đoán

Khoảng 8% website WordPress bị tấn công do mật khẩu yếu. Không bao giờ dùng tên đăng nhập phổ biến như admin, root, system. Mật khẩu nên dài tối thiểu 14 ký tự, kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt. Có thể dùng công cụ tạo mật khẩu ngẫu nhiên như Avast Password Generator hoặc random.org.

Bật xác thực hai yếu tố (2FA) cho tài khoản quản trị

Sử dụng xác thực hai yếu tố

Xác thực hai yếu tố yêu cầu người dùng xác minh danh tính qua thiết bị hoặc ứng dụng riêng biệt sau khi nhập mật khẩu. Đây là lớp bảo vệ hiệu quả ngay cả khi mật khẩu bị lộ. Một số plugin hỗ trợ 2FA phổ biến cho WordPress:

Xóa plugin và theme không còn sử dụng

Xoá các plugin hoặc theme không sử dụng

Plugin và theme không hoạt động nhưng vẫn còn trên server là nguồn lỗ hổng tiềm ẩn. Hacker có thể khai thác các phiên bản cũ chưa được vá lỗi, kể cả khi chúng đang bị tắt. Hãy xóa hoàn toàn thay vì chỉ vô hiệu hóa. Nếu bạn đang tìm theme chuẩn, an toàn và được cập nhật thường xuyên, hãy xem qua kho theme WordPress tại ThemeWP.vn.

Tắt tính năng bình luận mặc định nếu không cần thiết

Bình luận là cổng vào phổ biến cho spam và mã độc. Nếu website không cần tương tác bình luận, hãy tắt hoàn toàn tính năng này.

Bước 1: Đầu tiên bạn hãy truy cập tài khoản Admin để vào WordPress. Tiếp đến chọn Settings -> chọn mục Discussion.

Bước 2: Trong mục Discussion, bỏ chọn ở mục Allow people to submit comments on new posts. Tiếp đó chọn Save changes để hoàn tất tắt bình luận trong WordPress.

Bỏ chọn ở mục Allow people to submit comments on new posts
Bỏ chọn ở mục Allow people to submit comments on new posts

Nếu bạn muốn giữ bình luận nhưng an toàn hơn, hãy dùng hệ thống bình luận Facebook hoặc các plugin bình luận có tính năng chống spam tích hợp.

Chặn truy cập đến wp-config.php và các file quan trọng

Thêm đoạn mã sau vào file .htaccess để chặn truy cập trực tiếp đến các file nhạy cảm, ngăn chặn upload và thực thi web shell:

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

Đây cũng là một trong những bước được thực hiện tiêu chuẩn trong gói Bảo mật WordPress của ThemeWP.vn, cùng với phân quyền folder, đổi tiền tố database và cài đặt lại toàn bộ cấu hình bảo mật hosting.

Thiết lập CHMOD đúng cho file wp-config.php

CHMOD file wp-config.php

Mặc định WordPress dùng CHMOD 644 cho file và 755 cho thư mục. Riêng file wp-config.php, bạn nên đặt quyền chặt chẽ hơn: thử 400 trước, nếu website gặp lỗi thì chuyển sang 444. Việc này ngăn hệ thống và người dùng khác ghi đè file cấu hình quan trọng nhất của WordPress.

Vô hiệu hóa Theme Editor và Plugin Editor

Nếu hacker chiếm được tài khoản quản trị, họ có thể sửa code trực tiếp qua giao diện Appearance/Editor hoặc Plugins/Editor. Để chặn điều này, thêm hai dòng sau vào file functions.php:

define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);

Tắt tính năng debug khi không phát triển

Tắt tính năng debug của WordPress

Tính năng debug hiển thị thông báo lỗi chi tiết, giúp lập trình viên xác định vấn đề nhanh. Tuy nhiên, nếu để bật trên môi trường production, hacker có thể đọc các thông báo lỗi này để tìm điểm khai thác. Luôn đảm bảo trong file wp-config.php có giá trị:

define('WP_DEBUG', false);

Đổi security keys trong wp-config.php

Security keys là các chuỗi ký tự ngẫu nhiên dùng để mã hóa session của người dùng khi đăng nhập. Bạn nên tạo lại các key này định kỳ hoặc ngay sau khi nghi ngờ website bị xâm nhập. Truy cập WordPress Salt Generator để tạo bộ key mới, sau đó thay thế vào đoạn tương ứng trong wp-config.php.

Ẩn thông tin phiên bản WordPress khỏi mã nguồn

Khi hacker biết phiên bản WordPress bạn đang dùng, họ có thể nhắm vào các lỗ hổng đã biết của phiên bản đó. Thêm đoạn code sau vào functions.php để ẩn thông tin phiên bản khỏi mã nguồn HTML và các file CSS/JS:

function themewp_remove_wordpress_version() {
    return '';
}
add_filter('the_generator', 'themewp_remove_wordpress_version');

function remove_version_from_style_frontend( $src ) {
    if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'remove_version_from_style_frontend');
add_filter( 'script_loader_src', 'remove_version_from_style_frontend');

Sau khi thêm code, dùng Ctrl + U để xem mã nguồn và kiểm tra các tham số ver= đã được gỡ bỏ chưa.

Tắt XML-RPC để ngăn tấn công DDoS và brute force

XML-RPC là giao thức kết nối từ xa, nhưng đã bị khai thác trong nhiều cuộc tấn công DDoS quy mô lớn. Gần như 99% website không cần đến tính năng này. Thêm đoạn code sau vào functions.php để vô hiệu hóa hoàn toàn:

add_filter('xmlrpc_enabled', '__return_false');
add_filter('wp_headers', 'themewp_remove_x_pingback');
add_filter('pings_open', '__return_false', 9999);
add_filter('pre_update_option_enable_xmlrpc', '__return_false');
add_filter('pre_option_enable_xmlrpc', '__return_zero');

function themewp_remove_x_pingback($headers) {
    unset($headers['X-Pingback'], $headers['x-pingback']);
    return $headers;
}

Cài đặt chứng chỉ SSL cho website WordPress

SSL mã hóa toàn bộ dữ liệu truyền giữa trình duyệt và server, đặc biệt quan trọng với trang đăng nhập WordPress. Nếu không có HTTPS, tên đăng nhập và mật khẩu của bạn bị gửi dưới dạng văn bản thuần túy qua internet, dễ bị đánh cắp. Hầu hết hosting hiện nay đều tích hợp SSL miễn phí. Bạn cũng có thể dùng Cloudflare để kích hoạt SSL nhanh chóng. Kích hoạt HTTP/2 và SSL cũng là một bước được thực hiện trong tất cả các gói tối ưu WordPress của ThemeWP.vn.

Đổi database prefix để chống SQL Injection

Tiền tố mặc định của bảng dữ liệu WordPress là wp_. Điều này giúp hacker dễ dàng đoán tên bảng khi thực hiện SQL Injection. Hãy đổi sang tiền tố tùy chỉnh như myweb_ hoặc chuỗi ký tự ngẫu nhiên. Bạn có thể dùng plugin Brozzme DB Prefix để thực hiện thay đổi này một cách an toàn, nhớ backup database trước khi làm.

Tắt tính năng reset mật khẩu qua email

Nếu email quản trị bị chiếm, kẻ tấn công có thể dùng tính năng quên mật khẩu để lấy lại quyền truy cập. Khi không cần thiết, hãy tắt tính năng này bằng đoạn code sau trong functions.php:

function themewp_disable_action_lostpassword() {
    return false;
}
add_filter( 'allow_password_reset', 'themewp_disable_action_lostpassword' );

Cài plugin bảo mật WordPress chuyên dụng

Bên cạnh các biện pháp thủ công, các plugin bảo mật cung cấp thêm lớp giám sát, tường lửa và quét mã độc tự động. Một số plugin phổ biến và đáng tin cậy:

Nếu website của bạn đã có dấu hiệu bị tấn công như chuyển hướng lạ, spam index tiếng Trung hoặc cảnh báo từ Google, gói Xử lý mã độc và Malware của ThemeWP.vn sẽ gỡ sạch toàn bộ, xóa blacklist Google và cài đặt lại bảo mật hoàn toàn, với cam kết hoàn tiền 100% nếu không xử lý được.

Danh sách kiểm tra bảo mật WordPress quan trọng

Dưới đây là checklist các điểm bảo mật cốt lõi bạn nên thực hiện và duy trì thường xuyên:

  • Cấu hình HTTPS bằng SSL (miễn phí từ hosting hoặc Cloudflare là đủ với website thông thường)
  • Sao lưu định kỳ source code và database, tần suất phụ thuộc vào mức độ cập nhật nội dung
  • Mật khẩu tối thiểu 14 ký tự, kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt
  • Xóa tài khoản user không còn sử dụng
  • Không đặt tên đăng nhập là admin, root hay system
  • Tắt WP Cron nếu không dùng: define('DISABLE_WP_CRON', 'true'); trong wp-config.php
  • Luôn cập nhật WordPress core, plugin và theme lên phiên bản mới nhất
  • Chọn nhà cung cấp hosting có hệ thống lọc traffic, chặn spam và bảo vệ khỏi Local Attack
  • Tuyệt đối không dùng theme và plugin Nulled hoặc Cracked
  • Nâng cấp PHP lên phiên bản 8.1 trở lên để đảm bảo hiệu năng và bảo mật
  • Bật xác thực 2 yếu tố nếu bạn ít khi đăng nhập quản trị

Nếu bạn muốn tiết kiệm thời gian và đảm bảo website được tối ưu đúng chuẩn theo khuyến nghị của Google, GTmetrix và Pingdom, hãy tham khảo các gói dịch vụ tối ưu và bảo mật WordPress tại ThemeWP.vn. Có thể liên hệ trực tiếp để được tư vấn gói phù hợp với nhu cầu của bạn.

FAQ: Câu hỏi thường gặp về bảo mật WordPress

WordPress có dễ bị hack không?

WordPress bản thân là nền tảng khá an toàn nếu được cấu hình đúng. Phần lớn các vụ tấn công xảy ra do mật khẩu yếu, plugin/theme lỗi thời hoặc hosting kém chất lượng. Thực hiện đầy đủ các bước trong hướng dẫn này sẽ giảm đáng kể nguy cơ bị tấn công.

Plugin bảo mật WordPress nào tốt nhất hiện nay?

Wordfence Security và Sucuri Security là hai lựa chọn hàng đầu với cộng đồng người dùng lớn và cập nhật thường xuyên. Với người mới bắt đầu, All In One WP Security and Firewall có giao diện thân thiện hơn. Bạn chỉ cần dùng một plugin bảo mật, không nên cài nhiều cùng lúc để tránh xung đột.

Làm thế nào để biết website WordPress đã bị hack?

Các dấu hiệu phổ biến gồm: website chuyển hướng sang trang lạ, xuất hiện nội dung không rõ nguồn gốc, tốc độ tải trang giảm đột ngột, Google cảnh báo “website có thể bị tấn công”, hoặc hosting gửi thông báo tài nguyên bất thường. Khi phát hiện dấu hiệu này, hãy đổi ngay toàn bộ mật khẩu, security key và quét malware. Trường hợp nghiêm trọng, dịch vụ xử lý mã độc của ThemeWP.vn có thể gỡ sạch và khôi phục website trong vòng 3 đến 5 ngày làm việc.

Có cần dùng SSL nếu website không bán hàng không?

Có. SSL không chỉ cần cho trang thương mại điện tử mà còn bảo vệ trang đăng nhập quản trị WordPress. Nếu không có HTTPS, tên đăng nhập và mật khẩu của bạn có thể bị đánh cắp qua mạng không an toàn. Hầu hết hosting hiện cung cấp SSL miễn phí, không có lý do gì để không bật.

Có nên dùng theme và plugin Nulled (Cracked) không?

Tuyệt đối không. Theme và plugin Nulled thường bị chèn mã độc hoặc backdoor, cho phép hacker truy cập website của bạn bất cứ lúc nào mà bạn không hay biết. Rủi ro này cao hơn rất nhiều so với chi phí mua bản quyền chính hãng. Bạn có thể tìm theme chính hãng, giá hợp lý và được hỗ trợ đầy đủ tại kho theme ThemeWP.vn.

Tần suất sao lưu website WordPress nên là bao lâu một lần?

Tần suất backup phụ thuộc vào mức độ cập nhật nội dung. Website đăng bài hàng ngày nên backup hàng ngày hoặc hàng tuần. Website ít thay đổi có thể backup hàng tháng. Luôn backup trước mỗi lần cập nhật WordPress, plugin hoặc theme để có điểm khôi phục an toàn.

Dịch vụ bảo mật WordPress của ThemeWP.vn gồm những gì?

ThemeWP.vn cung cấp ba gói bảo mật chính: gói Cập nhật Theme và Plugin (500.000đ, hoàn thành trong ngày), gói Bảo mật WordPress toàn diện (700.000đ, tối đa 1 ngày) và gói Xử lý mã độc và Malware (1.500.000đ, tối đa 5 ngày làm việc). Tất cả các gói đều có bảo hành 3 tháng và cam kết hoàn tiền 100% nếu không hoàn thành đúng yêu cầu. Xem chi tiết tại trang dịch vụ tối ưu và bảo mật WordPress hoặc gửi ticket hỗ trợ để được tư vấn cụ thể.

Gửi yêu cầu hỗ trợHỗ trợ trả phíTài liệu hỗ trợ