Hướng dẫn chi tiết bảo mật wordpress cho người mới – phần 1

WordPress là một mã nguồn mở rất tốt cho các bạn làm website muốn có một sân chơi thân thiện với bộ máy tìm kiếm do cấu trúc khá sạch và dễ dàng tối ưu SEO. Nhưng wordpress cũng khá dễ bị tấn công vì tính năng mở rộng luôn đi kèm với rủi ro. Hôm nay Itidea.org sẽ hướng dẫn bạn tối ưu bảo mật cho website/ blog wordpress nhằm đảm bảo sự an toàn tối thiểu.

bao-mat-wordpress

Bảo mật wordpress? Vì sao website của tôi bị hack dễ dàng?

Theo một nghiên cứu Q2 2016 bởi Sucuri – một công ty bảo mật đa nền tảng, WordPress tiếp tục dẫn đầu các trang web bị bị nhiễm virus (74%). Và ba plugins đầu ảnh hưởng đến nền tảng vẫn là Gravity Forms, TimThumb và RevSlider.

wordpress-backdoor

Backdoor (Lỗ hổng backdoor cung cấp cho tin tặc với đoạn ẩn bỏ qua mã hóa bảo mật để đạt được quyền truy cập vào các trang web WordPress – Hiện có 71% website wordpress bị tấn công bằng đường này) Và cách mà hacker tạo ra cổng này là do:

  • Lỗ hổng bảo mật từ wordpress. (luôn có lỗi mới phát sinh)
  • Lỗ hổng từ việc cài theme không rõ xuất xứ.
  • Từ các Plugin mà bạn cài thêm vào.
  • Hoặc các tác động từ bên ngoài (user, trojan virut máy tính,…)
  • Bảo mật với chính thiết bị của bạn nhằm tránh trường hợp bị ăn cắp thông tin.

Sau đây mình sẽ hướng dẫn các bạn bảo mật wordpress cơ bản

1. Bảo mật cho trình duyệt > Đối với trình duyệt Chrome, Cốc cốc.

Cách tốt nhất là bạn khóa luôn trình duyệt Chrome khi không sử dụng máy tính. Hãy làm theo các bước hướng dẫn sau:

  • Ở thanh địa chỉ, gõ: chrome://flags
  • Tìm tới mục có tên: #enable-new-profile-management
  • Enable (hoặc tiếng Việt là Bật) chức năng này.
  • Ở dưới cùng sẽ có nút Relauch Now (hoặc tiếng Việt là “Chọn lại ngay bây giờ“) để khởi động lại Chrome.

Sau khi Chrome khởi động lại, bạn sẽ thấy 1 menu thả xuống nhỏ ở góc phải cửa sổ trình duyệt. Nhấn chọn menu và chọn tùy chọn “Lock”.
Chrome sẽ đóng cửa sổ trình duyệt và hiển thị tất cả các user sử dụng nếu có. Để sử dụng lại thời điểm làm việc trước, bạn chỉ cần chọn user của mình và dùng password Google.

2. Luôn dùng mật khẩu mạnh và sử dụng xác thực 2 bước của google

Đáng ngạc nhiên là một trong những cách tốt nhất để bảo mật WordPress của bạn chỉ đơn giản là sử dụng tên người dùng thông minh và mật khẩu. Nghe khá dễ dàng phải không.
Hãy sử dụng xác thực 2 bước bằng cách cài Plugin  WP Google Authenticator

google-authenticator

3. Bắt đầu bảo mật wordpress với một plugin bảo mật tốt

ithemes-security

Nếu bạn không có điều kiện sử dụng các bản trả phí từ các plugin thì bản miễn phí cũng đã tạm chấp nhận được. Dưới đây là Plugin mà bạn nên tham khảo do chức năng khá ổn:

Hãy cài đặt ngay một trong plugin trên để tạo dựng một lớp bảo vệ cho wordpress. Tham khảo các bài viết sau để cài đặt plugin.

Sử dụng File “wp-config.php” để bảo mật

1. Luôn cập nhật plugin, theme, phiên bản wordpress

Bạn có thể quản lý việc cập nhật này bằng một số đoạn mã tùy chỉnh trong “wp-config”
Để cài đặt wordpress tự động cập nhật phiên bản. Bạn vào “wp-config” và chèn đoạn code sau:

define('WP_AUTO_UPDATE_CORE', true);

Để kích hoạt cho các plugin tự động cập nhật bạn chèn code sau:

add_filter( 'auto_update_plugin', '__return_true' );

Để kích hoạt cho theme tự động cập nhật bạn chèn code sau:

add_filter( 'auto_update_theme', '__return_true' );

2. Cấm sửa theme và plugin trong bảng điều khiển

Có một vài hacker khá tinh vi đó là sau khi đã xâm nhập vào được website bạn thì họ sẽ chèn một vài đoạn mã nào đó nằm rải rác bên trong các theme/plugin mà bạn đang dùng.
Do đó, hãy cân nhắc dùng tính năng Editor trong bảng quản trị, tốt nhất là hãy tắt nếu chúng không dùng tới, cách tắt là chèn đoạn nội dung dưới đây vào bất kỳ dòng nào trong file “wp-config”:

 define('DISALLOW_FILE_EDIT',true);

3. Cấm cài thêm theme/plugin

Cũng không có ngoại lệ trong trường hợp hacker có thể tự ý cài thêm một plugin hay theme nào đó mà bên trong đó toàn chứa mã độc nếu họ có quyền truy cập vào bảng điều khiển. Do đó, nếu bạn không có nhu cầu cài theme theme/plugin thì hãy đặt đoạn sau vào file “wp-config”:

 define('DISALLOW_FILE_MODS',true);

4. Loại bỏ thông báo lỗi wordpress

Mặc định wordpress sẽ thông báo các lỗi khi có một vấn đề xảy ra như theme hoặc plugin không làm việc một cách chính xác. Việc này khá hữu ích khi giúp bạn dễ dàng xử lý sự cố, nhưng đây là vấn đề: các thông báo lỗi thường bao gồm đường dẫn máy chủ của bạn. Hacker chỉ cần xem báo cáo lỗi của bạn để có được đường dẫn máy chủ. Vì vậy tốt nhất ta nên tắt luôn bằng cách chèn đoạn mã dưới đây vào “wp-config”:

error_reporting(0);

5. Thay đổi Security Keys

Coppy và ghi đè đoạn mã phía dưới vào phần tương ứng trong “wp-config”

define('AUTH_KEY',         'tl22*q<y:|/OcmiI>dsu@R/4N>-HlY}Y}Hse:W|;]IpNkZ1p{|$u3s|@4qJpZ/f%');
define('SECURE_AUTH_KEY',  '^NLAS,H|<$g^KFrH9,U<!Cf*!2z');
define('LOGGED_IN_KEY',    '^jo:-u,)]S46-yx3.2;&yDlk9-hpf-g{{~q?%Wa!S,G~kHQ:!;]laN6G+Wv(dh7Q');
define('NONCE_KEY',        'LLYH{aOl9di{0]e]Gs-*b >t|Q.b8WYn#(3A*Y`aF&L&I|_3p+vBl=:Du(:+@Mc4');
define('AUTH_SALT',        'o 0im&`]@U@+&8qa1uak(fFT6}4[;4r8g8=P,yy0pWZ:{NdIqCK|a|SPv.W2|~5P');
define('SECURE_AUTH_SALT', 'x^&Y_|a..Camm3L|Z=P;L,3[4rvevj9Ji}yUtwe%vH2wv2?)r8=e<HXW;!TcN;TS');
define('LOGGED_IN_SALT',   'n2q4!e$j#,}@Fz2m-K?!!ZA*1C{;!-uKYOE6|0g[sx-S$_a#*`_ZjyWA4ICM@,.-');
define('NONCE_SALT',       'gi_hBA~m^tIo1ZB_#Hiik34J2Hxv!#8uF%$=lus+6x9kJxNK4zCxK~ gb1@TZsLX');

Truy cập vào WordPress Security Key Generator, copy toàn bộ nội dung có trong giao diện, sau đó ghi đè vào phần tương ứng có trong file wp-config.php. Nó sẽ có dạng như sau:
@ini_set(‘display_errors’, 0);

Sử dụng file “.htaccess” để bảo mật

Những thay đổi bạn thực hiện trong một tập tin này có thể có một tác động rất lớn đối với việc bảo vệ toàn bộ trang web của bạn. Tại sao tập tin này lại quan trọng? Đó là trung tâm của WordPress và trực tiếp ảnh hưởng tới trang web của bạn. Sau đây là một số đoạn mã mà mình tìm được từ trang wordpress codex:

1/ Ẩn file wp-config, chỉ cho phép hiển thị với địa chỉ IP tùy chỉnh bằng cách liệt kê chúng:

 order deny,allow
Deny from all
# Chấp nhận các IP sau đây
allow from 192.168.5.1

Nếu bạn chỉ muốn chặn một số IP đang cố gắng truy cập wp-admin hoặc wp-login.php thì dùng mã sau liệt kê IP muốn chặn ra:

order allow,deny
deny from 456.123.8.9
allow from all

2. Bảo vệ thư mục wp-content

Order deny,allow
Deny from all
Allow from all

4. Chặn include-only files

# Block the include-only files.
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]

5. Vô hiệu hóa việc truy cập thư mục và file của người lạ

# disable directory browsing
Options All -Indexes

Một số phương pháp an toàn khác mà bạn nên áp dụng

1. Dùng mã hóa SSL

Cài đặt chứng nhận SSL (Secure Socket Layer) là một động thái thông minh để bảo đảm bảng quản trị. SSL đảm bảo truyền dữ liệu an toàn giữa các trình duyệt người dùng với các máy chủ, làm cho hacker khó có thể ăn cắp dữ liệu hoặc giả mạo thông tin của bạn.

2. Thường xuyên Backup dữ liệu của bạn

Đảm bảo dữ liệu của bạn được backup hàng ngày, hàng tuần hay hàng tháng để đảm bảo sự an toàn cho website, giúp dễ dàng khôi phục khi có biến cố.

3. Không sử dụng plugin Premium miễn phí được share tràn lan

Có rất nhiều trang web giúp bạn tải các Plugin Premium miễn phí (gọi tạm là chia sẻ lậu). Bạn có thể tải về và sử dụng các plugin này khá ổn nhưng luôn tiềm tàng các nguy cơ chứa mã độc giúp hacker tạo các backdoor truy xuất vào quyền quản trị website của bạn. Đây là một trong các “nguyên nhân chính” khiến website của bạn bị đột nhập dễ dàng và rất khó để khắc phục hậu quả.

Tổng kết phần 1

Sau khi áp dụng một số cách trên thì website của bạn đã an toàn hơn so với lúc trước khá nhiều. Nhưng lỗi bảo mật thì luôn xuất hiện, bạn hãy thường xuyên theo dõi các tin tức mới nhất về lỗi wordpress để có những biện pháp đối phó kịp thời.

Nguồn: wpmudev

Thông tin liên hệ

    • 1

      Step 1

    • 2

      Step 2

    • 3

      Step 3

    1/3

    Step 1

    0%

    50%

    100%

    X