How to prevent to limit Local Attack for WordPress Website
Local Attack là một phương pháp rất phổ biến dùng để tấn công 1 website nào đó trên cùng 1 server. Công cụ của việc tấn công này là dùng các đoạn mã khai thác được viết bằng 1 số ngôn ngữ lập trình như: PHP, ASP.Net, Python…
Các đoạn mã đó được gọi là Shell. Khi một hosting trên server bị upload lên đoạn file shell này, người tấn công có thể dùng các câu lệnh khai thác để thâm nhập qua các tài khoản hosting cùng server để đọc các thông tin nhạy cảm như: Email, thông tin Database (username,password..) một cách dễ dàng. Từ đó người tấn công có thể làm mọi điều họ muốn.
Làm thế nào để hạn chế Local Attack trong WordPress?
Chúng ta sẽ cùng tìm hiểu cách hạn chế Local Attack trong WordPress nhé.
Giấu file wp-config.php
Thông thường các tập tin của website sẽ đều nằm trong thư mục public_html và thường path sẽ là /home/username/public_html/wp-config.php.
Do đó, cách giấu file config tốt nhất là bạn nên đưa file wp-config.php ra khỏi thư mục public_html, bạn có thể đăng nhập vào host thông qua FTP và tạo thêm một thư mục tên bất kỳ nằm ngang hàng với public_html. (ở đây mình sẽ tạo thư mục có tên là leti)
Sau đó tải file wp-config.php trong thư mục public_html và upload nó vào thư mục mới tạo. Cuối cùng là sửa file wp-config.php trong thư mục public_html thành như sau, xem liên kết ở dưới:
<php
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
require_once(ABSPATH . ‘../leti/wp-config.php’);
Bạn thay chữ leti thành tên thư mục của bạn mà bạn đã tạo nó ngang hàng với public_html.
Lưu ý: Cách này chỉ áp dụng cho các website có file cài đặt ngay trong thư mục public_html chứ không hỗ trợ một lớp thư mục khác. Bạn có thể áp dụng với thư mục www nếu có.
Thay đổi database prefix
Database prefix (tiền tố CSDL) mặc định của WordPress sẽ là wp_, điều này vô tình làm cho các hacker biết rõ tên của từng table của website bạn nếu bạn không đổi tiền tố này đi.
Đổi security key
Truy cập vào file wp-config.php tìm
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
define(‘AUTH_SALT’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
define(‘NONCE_SALT’, ‘put your unique phrase here’);
– Vào trang: https://api.WordPress.org/secret-key/1.1/salt/ để lấy secret-key
– Thay toàn bộ đoạn code trên bằng đoạn code được cung cấp
Cấm sửa file (plugins, theme) trong wp-admin
Thêm vào dưới cùng của file wp-config.php đoạn mã sau
define( ‘DISALLOW_FILE_EDIT’, true );
Cấm cài đặt plugins, theme trong wp-admin
Thêm vào dưới cùng của file wp-config.php đoạn mã sau
define(‘DISALLOW_FILE_MODS’,true);
Chmod file wp-config.php
Chmod thành 400 hoặc 404
Bảo mật wp-config.php với .htaccess
add đoạn code sau vào cuối file .htaccess
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
Bảo vệ thư mục wp-content
Tạo file .htaccess và add đoạn code sau vào
Order deny,allow
Deny from all
<Files ~ “.(xml|css|jpe?g|png|gif|js)$”>
Allow from all
</Files>
Lưu ý: nếu trong thư mục wp-content có chưa các file khác liên quan đến mã nguồn WordPress thì bạn cần thêm phần mở rộng (phần đuôi ví dụ woff) vào danh sách trên
Khóa đường dẫn wp-admin
Thư mục wp-admin và file wp-login.php luôn là điểm tấn công nếu một ai đó muốn truy cập vào website của bạn. Do đó, tốt hơn hết là chặn hết tất cả lượt truy cập vào hai khu vực này, trừ bạn ra.
Tạo một file .htaccess trong thư mục wp-admin và chèn đoạn sau vào.
<FilesMatch “.*”>
Order Deny,Allow
Deny from all
Allow from 123.456.789
</FilesMatch>
Trong đó 123.456.789 chính là IP của bạn.
Sử dụng các plugin quét mã độc
Bước này có thể may mắn cho bạn biết trên host của bạn đang chứa các file nào để mà bạn có thể xóa nó đi hoặc tải về….ngâm cứu. Dưới đây là các plugin tốt nhất để bạn quét mã độc trên host hoàn toàn miễn phí mà bạn có thể dùng:
- Wordfence Scan
- Anti-Malware (Get Off Malicious Scripts)
- 6Scan Security
và nếu bạn có tiền, mình khuyến khích các bạn nên sử dụng Sucuri Premium
Trên đây là 10 cách bảo mật hạn chế Local Attack trong WordPress. Ngoài ra, ngay trong quá trình chọn lựa dịch vụ lưu trữ cho website, bạn cũng nên chọn những nhà cung cấp hosting uy tín, có hỗ trợ hạn chếtấn công Local Attack để đẩm bảo an toàn cho website.