Có rất nhiều newbie thắc mắc: “Làm gì khi website bị hack? Cách chống hack trong wordpress là gì?”. Hiện tượng web bị hack gọi là hack local ( Local Attack). Vậy hack Local là gì? Hạn chế Local Attack bằng cách nào? Câu trả lời sẽ có ngay trong bài chia sẻ dưới đây của Hostvn.
Hack Local ( hay còn gọi là Local Attack) là một kiểu tấn công cụ bộ (tấn công trên cùng một server). Đây là kiểu tấn công được các Hacker sử dụng phổ biến. Cách thực hiện đó là Upload shell lên Host sau đó chuyển Local sang một Host khác trên cùng máy chủ (server).
Local Attack là một kiểu tấn công cụ bộ của các Hacker
Hack Local bao gồm:
Các bước thực hiện Hack Local
Thông thường, các bước thực hiện Hack Local bao gồm:
Bước 1: Dò tìm user có trong máy chủ (server)
Bước 2: Dò tìm, đọc nội dung File Config trong WordPress
Bước 3: Get thông tin Login vào Database
Bước 4: Tấn công tài khoản Admin
Bước 5: Up Shell
Giấu File wp-config.php là cách hạn chế Hack Local hiệu quả
File wp-config.php là một file nhạy cảm và quan trọng. Giấu File wp-config.php là một trong những cách hạn chế Local Attack. Thông thường, thư mục public_html sẽ chứa các tệp tin của website:
/home/username/public_html/wp-config.php
Để giấu file này, cách tốt nhất là bạn nên đưa nó ra khỏi thư mục public_html. Các bước thực hiện cụ thể như sau:
Bước 1: Đăng nhập Host thông qua FTP
Bước 2: Tạo thêm thư mục ngang hàng với public_html
Bước 3: Tải file wp-config.php trong thư mục public_html
Bước 4: Upload file wp-config.php vào thư mục mới tạo ở bước 2
Bước 5: Tiến hành sửa file wp-config.php (thay bảo mật thành tên thư mục bạn đã tạo ngang hàng với thư mục public_html)
<php
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . '../baomat/wp-config.php');
Database Prefix là tiền tố cơ sở dữ liệu mặc định của WordPress “wp_”. Nó khiến cho Hacker biết tên từng Table của website. Vì vậy, đổi Database Prefix là một cách để tránh Local Attack. Nên sử dụng Plugin hoặc iThemes Security để đổi. Trước khi thực hiện, bạn nhớ Backup lại toàn bộ dữ liệu nhé!
Đổi Database Prefix là một cách để tránh Hack Local
Mở file wp-config.php ra để tìm chuỗi ký tự ngẫu nhiên lưu lại các session của từng user khi đăng nhập bảng điều khiển. Nếu web của bạn từng bị Hack thì cũng nên đổi Security key vài lần/tuần để an toàn hơn. Chuỗi ký tự ngẫu nhiên như sau:
define('AUTH_KEY', 'jpwfcb9izge9gnz9unoakwpovdtn754sekxebbs5zvdzgl187lftu51o6qucv6py');
define('SECURE_AUTH_KEY', 'lqodqrrfksxmn8qsy6i3kwshu7su1czmnt6xj6wtpx54er9c5dmweqptupwzzfpa');
define('LOGGED_IN_KEY', 'pxo6nd6mnfw04m3u0m38layynhrh7atesuqgonitzf0xxnqxyydqpfurqr3znsoi');
define('NONCE_KEY', 'bhlrnqwfoxfzhpcyhyqlo8jh7vhdh3ov4swgsmygwvfzx8q65hmilhwt4iylgkd8');
define('AUTH_SALT', 'prfbyplbizqiqu1i42hm622ovsznaoayr9abxcbz15xks54nnkhguzqhwkndzy6v');
define('SECURE_AUTH_SALT', 'erjzw2objjfmachy7vt9mq2ktufh2331ypnuaeanjl1oegorjrngvzvcrftnywkd');
define('LOGGED_IN_SALT', 'kpvryyyj1zwznarx4l8lloigurf9mqetnlojnxtygjhuqtj9acq4lpr5jsm2kyjg');
define('NONCE_SALT', 'arimerdvr8fbw7pkigotdb7psvc2ysa7bqrnunrzwbcqlkqhs6xzokhzwnrmsg3a');
Phòng tránh Hack Local bằng cách không sửa Theme và Plugin trong bảng điều khiển. Bởi vì, có một số Hacker thường đăng nhập vào web của bạn sau đó chèn rải rác một vài đoạn mã trong các Theme/Plugin mà bạn đang sử dụng. Vì vậy, nếu không dùng đến, tốt nhất bạn hãy tắt tính năng Editor trong bảng điều khiển đi. Cách tắt Editor khá đơn giản, bạn chỉ cần chèn đoạn sau đây vào file wp-config.php:
define('DISALLOW_FILE_EDIT',true);
Bạn nên đặt đoạn sau vào file wp-config.php để tránh Hacker tự ý cài thêm Theme hay Plugin chứa mã độc:
define('DISALLOW_FILE_MODS',true);
Mặc định các file trong WordPress sẽ được CHMOD đổi thành 644 và 755. Bạn cũng nên tối ưu file wp-config thành 400, 440 hoặc 444. Đầu tiên bạn nên thử với 400 rồi đến 440 và 444.
CHMOD cho File wp-config.php để hạn chế bị hack local
Đối với máy chủ NGINX: Chèn đoạn bên dưới vào file config
location ~* wp-config.php {
deny all;
}
Đối với máy chủ Apache: Chèn đoạn bên dưới vào file .htaccess
<Files wp-config.php>;
order allow,deny
deny from all
</Files>
Bạn cũng có thể chặn Hack Local bằng cách khóa đường dẫn wp-admin. Bạn nên tạo file .htaccess trong thư mục wp-admin hoặc dùng tính năng Login Protect trong Incapsula và chèn dòng dưới đây:
<FilesMatch ".*">
Order Deny,Allow
Deny from all
Allow from IP
</FilesMatch>
(Thay IP thành địa chỉ IP cụ thể của máy tính bạn đang sử dụng)