input license here

Hướng dẫn bảo mật WordPress toàn tập – Cập nhật mới!

Bảo mật WordPress là một việc luôn được chúng ta – những blogger cũng như bất cứ ai đang sở hữu một website WordPress đều quan tâm, thật sự mà nói trong thời gian đầu mới viết blog bạn và tôi cũng không quan tâm đến vấn đề bảo mật lắm đâu!
Nhưng đến một lúc nào đó, một khi blog của bạn đã phát triển và bạn thực sự cam kết với công việc viết blog chuyên nghiệp thì bạn cần phải thực hiện các thao tác để giúp cho blog của bạn được an toàn, tránh được các cuộc tấn công cũng như mã độc, virus…
Trong bài viết này Ngọc sẽ hướng dẫn cho bạn tất cả những thủ thuật để bảo mật WordPress, từ đó bạn sẽ yên tâm và không còn lo lắng đến những vấn đề như mất dữ liệu, mất quyền truy cập,…
Ngay dưới đây là mục lục để giúp cho bạn từng bước làm cho website/blog trở nên an toàn hơn. Hãy đảm bảo rằng bạn đi qua tất cả các bước nhé, bạn cũng có thể click vào từng mục để xem!

MỤC LỤC BÀI VIẾT:

1. Khái niệm cơ bản về bảo mật WordPress
2. Hướng dẫn bảo mật WordPress từ A đến Z
Chúng ta bắt đầu nhé!

TẠI SAO BẢO MẬT WORDPRESS LẠI QUAN TRỌNG?

Về cơ bản mã nguồn WordPress là một sản phẩm rất tốt và an toàn, tuy nhiên đây cũng là sản phẩm do con người tạo ra và do chúng ta tạo được ra nó nên chắc chắn chúng ta cũng sẽ có cách phá huỷ nó.
Khi website WordPress của bạn bị hack, bạn sẽ mất quyền truy cập thậm chí bạn sẽ đánh mất thông tin cá nhân của mình, của khách hàng, việc này còn ảnh hưởng đến doanh thu của chính bạn nữa.
Đôi khi nếu bạn không thực hiện các thao tác bảo mật WordPress bạn sẽ bị cài mã độc mà không hề hay biết, bạn những tưởng website vẫn bình thường nhưng thực chất bạn đang bị theo dõi, bị lấy cắp thông tin…
Do đó nếu bạn đang là một blogger, một người kinh doanh trên internet và bạn đang sử dụng mã nguồn WordPress thì đơn giản hãy dành chút thời gian để thực hiện các bước sau đây để giúp cho sự an toàn của chính bạn nhé!

LUÔN CẬP NHẬT WORDPRESS LÊN PHIÊN BẢN MỚI NHẤT

WordPress là một mã nguồn mở miễn phí và luôn luôn được một đội ngũ đằng sau nó làm việc không ngừng để cập nhật liên tục lên các phiên bản mới nhất.
Mỗi một lần cập nhật các phiên bản sẽ được nâng cấp về chức năng, vá lỗi hoặc đơn giản là cải thiện hiệu suất làm việc.
WordPress cũng đi kèm với hàng nghìn Plugin và themes (giao diện) miễn phí khác để bạn cài đặt, các sản phẩm này thường do một bên thứ 3 phát triển và nó cũng luôn được cập nhật.
Do đó điều đầu tiên trong hàng loạt các yếu tố giúp bảo mật WordPress đó là luôn cập nhật tất cả lên phiên bản mới nhất. Thông thường WordPress sẽ tự động cập nhật khi có phiên bản mới.
Tuy nhiên nếu bạn không chắc thì tại trang quản trị hãy vào Dasboard -> Update và nhấn vào nút Check Update để kiểm tra nhé.
update wordpress tự động

VAI TRÒ CỦA HOSTING

Dịch vụ hosting đóng vai trò rất lớn đến sự an toàn cho website WordPress của bạn. Khi lựa chọn dịch vụ hosting cho WordPress ngoài các thông số, cấu hình và các ưu đãi thì bạn đừng quên kiểm tra xem các vấn đề bảo mật, dịch vụ sao lưu tự động của nhà cung cấp nhé.
Điều này rất nhiều bạn không để ý đến, hiện nay các nhà cung cấp hosting như A Small Orangehay HawkHost là những dịch vụ không những cung cấp hosting được tối ưu cho mã nguồn WordPress mà họ còn cung cấp miễn phí dịch vụ sao lưu tự động định kỳ.
Vì vậy nếu có vấn đề gì xảy ra bạn hoàn toàn có thể yêu cầu họ cung cấp một bản sao lưu và phục hồi website nhanh chóng.bao mat wordpress bang cach backup

SỬ DỤNG TÊN NGƯỜI DÙNG VÀ MẬT KHẨU MẠNH

Tên người dùng và mật khẩu dễ đoán là một trong những lý do phổ biến nhất để bạn dễ dàng bị mất quyền truy cập do các là hacker sử dụng các phần mềm đoán mật khẩu tự động.
Thử hỏi nếu bạn đặt một tên người dùng thông thường như Admin với mật khẩu kiểu như 123456789 thì nó quá đơn giản để đoán phải không nào?
Nhưng thực tế rất nhiều bạn mới sử dụng WordPress thường sử dụng như vậy vì các bạn sợ quên mật khẩu.
Một lưu ý để giúp chúng ta bảo mật WordPress tốt hơn đó là không bao giờ sử dụng từ Adminđể dùng làm tên truy cập, khi đặt mật khẩu bạn cũng nên sử dụng mật khẩu dài và kết hợp chữ HOA + chữ thường + số + các ký tự đặc biệt!
Ví dụ một mật khẩu mạnh sẽ như thế này: MatKhauCuaTuiLa??123!@
Ngoài mật khẩu cho trang quản trị bạn cũng cần lưu ý đến mật khẩu và tên người dùng của tài khoản FTP, Database và Cpanel cũng như địa chỉ email bạn đang sử dụng.

HƯỚNG DẪN BẢO MẬT WORDPRESS TỪ A ĐẾN Z

Ngoài các điều cơ bản nhất ở phía trên, để đảm bảo một sự bảo mật mạnh mẽ hơn, an toàn hơn bạn cần thực hiện một số thao tác bên dưới đây.
Ngọc dám đảm bảo rằng nếu bạn thực hiện hết tất cả các biện pháp còn lại sau đây thì cho dù có vấn đề gì xảy ra bạn vẫn có biện pháp để khắc phục.
Đừng bỏ qua nhé!

SỬ DỤNG PLUGIN SAO LƯU (BACKUP) TỰ ĐỘNG

Sử dụng một plugin sao lưu tự động theo lịch là cách tốt nhất để bạn luôn có một bản dự phòng khi xảy ra chuyện.
Việc sao lưu là vô cùng đơn giản, Ngọc đã có bài hướng dẫn cách backup tự động bằng plugin BackWPup rất chi tiết tại đây. Quan trọng bạn cần nhớ trong việc sao lưu đó là lưu trữ bản backup ở một dịch vụ lưu trữ đám mây như Dropbox chẳng hạn.
Vì sao? Vì bất cứ lúc nào bạn cũng có thể lấy được bản sao lưu và phục hồi nó một cách nhanh chóng ở bất cứ đâu.
Thiết lập sao lưu hàng ngày nếu các bài viết được cập nhật thường xuyên hoặc lên lịch sao lưu hàng tuần bạn nhé!

CÀI ĐẶT PLUGIN BẢO MẬT SUCURI SECURITY

Sucuri Security được tạo ra bởi Sucuri.net, một trong những công ty bảo mật website hàng đầu thế giới. Sucuri Security có phiên bản trả phí, tuy nhiên bản miễn phí cũng đã có rất nhiều tính năng giúp blog/ website của bạn trở nên an toàn hơn rất nhiều rồi.
Ngoài tính năng bảo mật Sucuri Security được rất nhiều người sử dụng và đánh giá cao bởi sự nhẹ nhàng (không tốn nhiều tài nguyên, không gây lỗi web) nhưng vẫn không kém phần hiệu quả.
Đầu tiên bạn cần cài đặt và kích hoạt plugin Sucuri Security, để biết thêm chi tiết cách cài đặt một plugin bạn có thể tham khảo bài hướng dẫn này!
Sau khi kích hoạt, một thông báo sẽ hiện ra yêu cầu bạn tạo API Key trước khi plugin có thể hoạt động.
Click vào nút Generate API Key.
bao mat wordpress với plugin sucuri security
Nếu bạn không sử dụng dịch vụ CloudProxy (đây là dịch vụ trả phí) của Sucuri, hãy bỏ chọn trong mục Enable DNS lookups on startup.
Nhấn Proceed để tạo API Key miễn phí nhé!
hướng dẫn bảo mật WordPress toàn tập
Một cửa sổ hiện ra, hãy click vào nút Settings để chuyển qua trang cài đặt.
cách bảo mật wordpress
Đối với plugin Sucuri, bạn cần chú ý thiết lập 3 tab đó là: Settings; Hardening và Alerts.
Trong tab Settings kích hoạt (Enable) các mục sau:
  • Failed Login Password Collector: Thu thập dữ liệu, thống kê những lần đăng nhập thất bại.
  • User Comment Monitor: Thu thập dữ liệu bình luận, giúp chống bình luận spam.
  • Audit Log Statistics: Thu thập dữ liệu về lịch sử chỉnh sửa file.
Những mục khác bạn có thể để mặc định.
bao-mat-wordpress-voi-plugin-sucuri-04
Tiếp theo chuyển qua tab Hardening.
Kích hoạt (harden) các mục sau đây:
  • Verify WordPress version: Kiểm tra phiên bản WordPress đang dùng đã phải là mới nhất chưa.
  • Verify PHP version: Kiểm tra phiên bản PHP đang sử dụng đã phải là mới nhất chưa.
  • Remove WordPress version: Xóa thông tin phiên bản WordPress để tránh bị hacker lợi dụng, phát hiện và khai thác.
  • Protect uploads directory: Bảo vệ thư mục uploads.
  • Restrict wp-content access: Bảo vệ thư mục wp-content.
  • Restrict wp-includes access: Bảo vệ thư mục wp-include.
  • Information leakage (readme.html): Xóa file readme.html của WordPress.
  • Default admin account: Đổi tên đăng nhập WordPress, nếu bạn vẫn đang dùng tên mặc định là admin.
  • Plugin & Theme editor: Tắt tính năng cho phép chỉnh sửa file theme và plugin ngay trong trang Dashboard
  • Database table prefix: Thay đổi tiền tố (prefix) của database, nếu bạn vẫn đang dùng prefix mặc định là wp_.
bao mat wordpress tu a den z
Chuyển quay tab Alerts. Tại đây bạn có thể tíck hoặc bỏ chọn những mục giúp tự động thông báo qua email nhé!
Ok, như vậy bạn đã cấu hình và thiết lập được khá nhiều việc để giúp bảo mật WordPress rồi đó. Đây là một plugin rất tốt mà lại nhẹ nhàng giúp cho website của bạn chạy rất ổn định.

SỬ DỤNG CLOUDFLARE GIÚP TĂNG CƯỜNG BẢO MẬT

CloudFlare hoạt động như một máy chủ proxy liên kết giữa bạn và độc giả của mình. Khi bạn đọc nhập tên miền trang web của bạn vào trình duyệt, nó sẽ kết nối với CloudFlare thông qua hệ thống CDN (Content Delivery Network) trung gian, sau đó tiện ích này sẽ xác định vị trí của họ và tải nội dung website từ máy chủ gần nhất.
Tức là thay vì tên miền của bạn kết nối đến máy chủ bằng địa chỉ IP của máy chủ, thì CloudFlare sẽ làm nhiệm vụ kết nối trung gian. Lúc này mỗi lượt truy cập sẽ được xử lý thông qua CloudFlare trước khi đến náy chủ.
Điều này sẽ giúp người truy cập có được thời gian tải trang nhanh nhất và hiệu suất được cải thiện đáng kể. Hơn nữa CloudFlare sẽ cache lại những script, css và những tập tin ảnh, chính vì thế sẽ tránh tình trạng lãng phí nguồn tài nguyên băng thông và máy chủ.
Ngoài ra, cũng như hầu hết các máy chủ proxy khác, CloudFlare có khả năng phát hiện người nào đang truy cập trang web của bạn và các mối đe dọa để ngăn chặn hay hạn chế những hiểm họa thu thập thông tin trước khi chúng tiếp cận. Nói cách khác, CloudFlare là một biện pháp tốt để tăng cường an ninh cho các website.
Bạn có thể hình dung ClouFlare giúp tăng cường bảo mật website WordPress như hình bên dưới.
bao mat wordpress voi cloudflare
Chống tấn công qua DDoS với CloudFlare

TẮT TÍNH NĂNG CHỈNH SỬA THEME VÀ PLUGIN TRONG DASHBOARD

WordPress cho phép chỉnh sửa file theme và plugin ngay trong trang Dashboard, tính năng này có thể là một nguy cơ dẫn đến vấn đề bảo mật của WordPress. Do đó bạn nên tắt nó đi.
tắt tính năng sửa theme và plugin
Bạn có thể dễ dàng làm điều này bằng cách thêm đoạn mã sau vào  file wp-config.php
// Disallow file edit

define( 'DISALLOW_FILE_EDIT', true );

Ngoài ra, bạn cũng có thể sử dụng plugin Sucuri và kích hoạt (harden) trong mục Theme & Plugins như Ngọc đã hướng dẫn ở trên.
[Về đầu trang ↑]

GIỚI HẠN SỐ LẦN ĐĂNG NHẬP KHÔNG THÀNH CÔNG

Thông thường các harker sử dụng những phần mềm tự động đoán và kết hợp các ký tự ngẫu nhiên để dò mật khẩu đăng nhập nhiều lần.
Để hạn chế việc này bạn chỉ cần cài đặt plugin Login Lockdown để giới hạn số lần đăng nhập không thành công là được.
Sau khi kích hoạt, hãy truy cập Settings -> Login Lockdown để thiết lập cho phép tối đa số lần đăng nhập sai, thời gian có thể thử đăng nhập lại và thời gian khoá địa chỉ IP do đăng nhập sai nhiều lần.
bảo mật wordpress bằng cách giới hạn số lần đăng nhập

THAY ĐỔI TIỀN TỐ DATABASE PREFIX

Thông thường khi cài đặt WordPress sẽ tự tạo ra các tiền tố mặc định trên cơ sở dữ liệu là wp_
Nếu bạn sử dụng kiểu tiền tố mặc định như vậy, đây sẽ là một nguy cơ để các hacker có thể tấn công vào cơ sở dữ liệu của bạn.
Để thay đổi bạn có thể dùng ngay chức năng thay đổi Database table prefix của plugin Sucuri Security Ngọc đã hướng dẫn bên trên.
Tuy nhiên nếu bạn sử dụng những dịch vụ hosting uy tín như A Small Orange thì vấn đề này sẽ được giải quyết ngay từ bước bạn cài đặt WordPress. Họ sẽ tự tạo ra một tiền tố an toàn cho bạn chứ không bao giờ sử dụng tiền tố kiểu mặc định wp_

CHỐNG SQL INJECTION VỚI FILE .HTACCESS

SQL injection là một kỹ thuật cho phép hacker tấn công bằng cách lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL  “độc hại” một cách bất hợp pháp.
Để hạn chế việc này đơn giản chỉ cần mở file .htaccess trong thư mục gốc của WordPress và thêm đoạn code sau đây vào nhé.
## SQL Injection Block ##

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]

RewriteRule ^(.*)$ - [F,L]

RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]

RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]

RewriteCond %{QUERY_STRING} tag\= [NC,OR]

RewriteCond %{QUERY_STRING} ftp\:  [NC,OR]

RewriteCond %{QUERY_STRING} http\:  [NC,OR]

RewriteCond %{QUERY_STRING} https\:  [NC,OR]

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]

RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|ê|"|;|\?|\*|=$).* [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(&#x22;|&#x27;|&#x3C;|&#x3E;|&#x5C;|&#x7B;|&#x7C;).* [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]

RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$

RewriteRule ^(.*)$ - [F,L]

</IfModule>

VÔ HIỆU HÓA XML-RPC

Từ phiên bản WordPress 3.5 chức năng XML-RPC đã được kích hoạt mặc định để giúp kết nối trang web WordPress của bạn với các ứng dụng di động dành riêng cho WordPress. Ví dụ để đăng bài từ xa chẳng hạn.
Tuy nhiên các hacker cũng có thể lợi dụng chứ năng XML-RPC để có thể thực hiện các cuộc tấn công thông qua brute-force để nỗ lực đăng nhập lặp đi lặp lại trên trang quản trị.
Đây là lý do tại sao nếu bạn không sử dụng  chức năng XML-RPC, thì Ngọc nghĩ rằng bạn nên vô hiệu hoá nó đi để giúp an toàn hơn.
Rất đơn giản bạn chỉ cần thêm đoạn code này vào file .htaccess (Nếu bạn dùng Shared Host hoặc các server cài đặt Apache)

<files xmlrpc.php>

 order allow,deny  deny from all </files>
Diệp Quân
Nguyen Manh Cuong is the author and founder of the vmwareplayerfree blog. With over 14 years of experience in Online Marketing, he now runs a number of successful websites, and occasionally shares his experience & knowledge on this blog.
SHARE

Related Posts

Subscribe to get free updates

Post a Comment

Sticky