Tăng bảo mật sau khi cài website WordPress

Photo of author

By Admin

WordPress là một mã nguồn mở, do vậy việc dễ bị tấn công bằng nhiều cách khác nhau vì vậy việc tăng bảo mật cho WordPress site của bạn là rất quan trọng. Mã nguồn này vẫn liên tục phát triển và cho rác các bản update. Muốn hạn chế việc các tin tặc hỏi thăm và spam thì cần thực hiện một số việc sau để tăng bảo mật cho website WordPress.

1. Vô hiệu hoá file xmlrpc.php

WordPress có sẵn các tính năng để bạn tương tác từ xa với site. Đôi khi chúng ta cần truy cập vào website mà không có sẵn laptop để sử dụng. Trong một thời gian dài, giải pháp truy cập từ xa hoàn toàn phụ thuộc vào file xmlrpc.php. Trong những năm gần đây, file này bị lạm dụng và trở thành lỗ hổng bảo mật lớn.

Lúc trước file này có nhiều chức năng, nhưng hiện tại chỉ còn kích thước khoảng 3KB. Với WordPress API mới, chúng ta có thể thấy XML-RPC sẽ sớm bị loại bỏ hoàn toàn.

Có thể thấy trong phần log access của website này luôn có các IP lạ truy cập vào file. Sau đó là truy cập vào wp-login.php. Do vậy việc vô hiệu hóa file này là khá cần thiết.

file log access
File xmlrpc.php liên tục bị ping tới

Để vô hiệu hóa file xmlrpc.php ta thực hiện như sau:

1.1 Vô hiệu xmlrpc.php trong NGINX

Cách 1: Chỉnh sửa thủ công

Truy cập vào server thông qua FTP hoặc SSH. Vào file conf của nginx thường ở địa chỉ /etc/nginx hoặc /etc/nginx/conf.d/yoursite.conf. Thêm 1 dòng location như sau:

location = /xmlrpc.php {
    deny all;
}

Cách 2: Cài đặt Plugin WordPress

Việc cài đặt Plugin thì khá đơn giản, chỉ cần chuyển tới mục Plugins › Add New trong WordPress dashboard. Tìm plugin Disable XML-RPC và cài đặt và kích hoạt plugin.

Trường hợp bạn đang dùng JetPacks thì cần cho phép nó truy cập các IP như bên dưới:

location = /xmlrpc.php {
    allow 192.0.64.0/18;
    allow 64.34.206.0/24;
    allow 198.181.116.0/22;
    allow 66.155.105.128/26;
    allow 69.90.253.0/24;
    allow 76.74.248.128/25;
    allow 76.74.255.0/25;
    allow 2001:1978:1e00:3::/64;
    allow 2620:115:c000::/40;
    deny all;
}

1.2 Vô hiệu xmlrpc.php trong Apache

Để vô hiệu hóa file xmlrpc.php trong Apache ta cần tìm tới file .htaccess của site và thêm code bên dưới. Với IP bạn muốn cho phép truy cập nằm tại allow from ***.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 192.168.1.2
</Files>

Trường hợp từ chối tất cả các IP thì thêm như sau:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order allow,deny
deny from all
</Files>

Với cách làm trên việc tăng bảo mật cho website WordPress của bạn đã tăng lên đáng kể. Bạn sẽ không bị spam từ các BOT gửi request lên web nữa.

2. Vô hiệu hóa các IP lạ truy cập wp-login.php for NGINX

Tiếp theo việc tăng bảo mật WordPress, Ta tìm đến file cấu hình của Nginx tương tự mục 1 ở trên. Ta thực hiện thêm các configure bên dưới (1.2.3.4 là IP admin của website). Trường hợp có nhiều IP bạn thêm nhiều dòng allow phía bên dưới dòng allow 1.2.3.4.

Lưu ý sau khi thực hiện, việc thay đổi IP như truy cập vào một mạng wifi khác sẽ khác sẽ bị từ chối và cần thêm lại allow IP đó.

location ~ \.php$ {
  location ~ \wp-login.php$ {
    allow 1.2.3.4;
    deny all;
    include fastcgi.conf;
    fastcgi_intercept_errors on;
    fastcgi_pass unix:/var/run/php-fpm.sock;
  }
  include fastcgi.conf;
  fastcgi_intercept_errors on;
  fastcgi_pass  unix:/var/run/php-fpm.sock;
}

3. Cập nhật liên tục các bản vá của plugins và themes

Việc một plugin hoặc theme của bạn đang sử dụng gặp các lỗi nghiêm trọng giúp cho hacker có thể khai thác là việc không hiếm. Do đó bạn cần theo dõi website mình ở mục tình trạng sức khỏe của web để cập nhật các bản fix lỗi kịp thời.

Một ví dụ rõ ràng nhất là plugin Elementor bị lỗi bảo mật, khiến hàng triệu trang web chịu ảnh hưởng.

Bạn có thể xem thêm tại: https://kaspersky.proguide.vn/bao-mat-cong-nghe/1-trieu-trang-web-wordpress-cai-plugin-elementor-bi-anh-huong-boi-loi-bao-mat/

Để cập nhật các plugin thì khá đơn giản nên mình xin phép không đề cập. Tuy nhiên cần lưu ý rằng, các plugin có ảnh hưởng lớn đến site của bạn như Woocomere, Yoast SEO… hoặc theme đang dùng thì bạn cần backup lại trước khi update nhé.

Viết một bình luận