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

hướng dẫn bảo mật wordpress toàn tập

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,…

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é!

[Về đầu trang ↑]

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

[Về đầu trang ↑]

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 Orange hay 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

[Về đầu trang ↑]

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.

[Về đầu trang ↑]

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é!

[Về đầu trang ↑]

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.

[Về đầu trang ↑]

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

[Về đầu trang ↑]

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

[Về đầu trang ↑]

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_

[Về đầu trang ↑]

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ề đầu trang ↑]

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> 

Lời kết:

Như vậy với bài hướng dẫn bảo mật WordPress toàn tập này Ngọc hy vọng bạn đã có được những giải pháp tốt nhất để làm cho website/blog của bạn an toàn hơn nhằm an tâm và tập trung cho công việc phát triển nội dung.

Bạn đang dùng plugin và thủ thuật nào để giúp bảo mật WordPress? Nếu có thêm câu hỏi hoặc những chia sẻ từ chính bạn đừng quên để lại một bình luận ngay dưới bài viết để chúng ta cùng thảo luận thêm! Nếu thấy bài viết hữu ích hãy giúp Ngọc chia sẻ nó đến nhiều người khác nhé!

5 1 vote
Đánh giá bài viết

Nếu bạn thấy nội dung này có giá trị, hãy mời Ngọc một ly cà phê nhé!

Bạn thích nội dung này?

Ngọc thường xuyên gửi những thông tin như thế này cho bạn qua email mỗi tuần. Hơn 5000+ người đang nhận thông tin! (Mỗi tuần chỉ 2 email - Không SPAM)

Bạn cũng sẽ thích:

Theo dõi
Thông báo qua email khi
guest

12 Bình luận
Inline Feedbacks
View all comments
Hùng
Hùng
Khách
5 năm trước

Cám ơn anh Ngọc nhiều nhé, bài viết của anh toàn bài hay à. Nhiều khi muốn giúp a click quảng cáo mà lại chả thấy anh gắn google adsense gì cả 🙁

hoc facebook marketing o dau tai tphcm
Khách
6 năm trước

Hey there I am so thrilled I found your webpage, I really found you
by mistake, while I was browsing on Askjeeve for something else, Anyhow I am
here now and would just like to say many thanks for a fantastic post and a all round entertaining blog (I also love the theme/design), I don’t have time to look over it all
at the minute but I have saved it and also added
in your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the fantastic b.

Phan Thanh
Phan Thanh
Khách
6 năm trước

Thực sự luôn thích cách hướng dẫn của anh Ngọc. Rất chi tiết và dễ hiểu

Pamela91
Khách
7 năm trước

I see your blog is similar to my weblog. Do you allow guest posting?
I can write hi quality content for you. Let me know if you are interested.

Làm trắng da
Làm trắng da
Khách
7 năm trước

bảo mật khá đơn giản mà

Hoàng Trí
Khách
7 năm trước

Bài viết chi tiết quá xá :d

Khang
Khang
Khách
7 năm trước

Ko nói gì đến up đc shell lên host, chỉ riêng việc cho user dùng thẻ script trong text editor đã khiến user giở đc vài trò.

Ở tin.vn em đã customize 1 free blog thành trang chơi CPM btc.tin.vn :))
Bởi vậy phpBB và các loại open source internet forum ko cho user chèn HTML thẳng vào text editor mà dùng bbcode.

Đặng Việt Thạo
Khách
7 năm trước

Các host bảo mật tốt thì hack khó có thể up con shell lên được, up 1 cái là nó chặn ngay

12
0
Ý kiến của bạn luôn tuyệt vời, hãy để lại bình luận!x

Tải miễn phí E-book

Bí mật giúp bạn xây dựng cỗ máy ATM tại nhà.