Hạn chế Local Attack với mã nguồn wordpress

  • Tuesday 03/03/2020

Local Attack là gì: 

– Là phương pháp 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ã này được gọi là Shell. Shell được hiểu như là 1 phần mềm cung cấp cho người dùng giao diện để giao tiếp với phần nhân của hệ điều hành.

– Điểm chính của tấn công Local Attack là hacker đã chiếm được quyền điều khiển một site nằm trên hosting và sử dụng nó làm bàn đạp tấn công các site khác cùng server. Hacker có thể lợi dụng các lỗ hổng của site đó như SQL injection, XSS,bug mã nguồn, plugin… để upload shell lên hosting . Thậm chí, hacker có thể mua một host nằm trên cùng server với site đó rồi tự up shell lên và tiến hành Local Attack.

Các bước tấn công local attack

– Xác định mục tiêu: Dựa vào các công cụ reverse IP để list ra các site trên cùng sever. 

– Chiếm quyền điều khiển một site cùng server với mục tiêu:  Bằng các phương pháp như SQL injection, khai thác các bug từ các plugin, theme, mã nguồn…

– Thu thập thông tin về mục tiêu: Sau khi up webshell lên hosting hacker sẽ dò tìm, thu thập tất cả các thông tin đường dẫn, phân quyền về các user khác trên sever hiện tại. 

– Tấn công trực tiếp mục tiêu : Sau khi có thông tin về đường dẫn, cấu trúc và lợi dụng các lỗ hỏng mã nguồn tương tự để tiếp tục chèn shell vào và sử dụng như backdoor cho các lần tấn công tiếp theo. 

Hạn chế Local Attack trong WordPress

1. Thay đổi database prefix:  mặc định tiền tố database của WordPress sẽ là wp_ . Nếu bạn không đổi tiền tố này đi sẽ vô tình làm cho các hacker biết rõ tên của từng table của website

2. Giấu file wp-config.php:  Thông thường với dịch vụ hosting  các file của website sẽ đều nằm trong thư mục public_html và đường dẫn mặc định là /home/username/public_html/wp-config.php. Vì vậy việc giấu file wp-config là cần thiết và bạn nên chuyên file wp-config.php ra khỏi thư mục public_html để chuyển vào 1 thư mục bất kỳ . 

3. Chặn sửa file (plugins, theme) trong wp-admin: Thêm vào  file wp-config.php đoạn mã sau: (có đặt vào dòng cuối cùng của file này)

define( ‘DISALLOW_FILE_EDIT’, true );

4. Đổ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

5. Chặn cài đặt plugins, theme trong wp-admin: Thêm vào  file wp-config.php đoạn mã sau: (có đặt vào dòng cuối cùng của file này)

define(‘DISALLOW_FILE_MODS’,true);

6. Phân quyền file wp-config.php: Set lại permission 400 hoặc 444 hoặc nhờ người quản trị hosting set thuộc tính readonly không cho sửa file này. Khi cần thì yêu cầu người quản trị bỏ thuộc tính readonly

7. Bảo mật wp-config.php với .htaccess:  Thêm đoạn code sau vào cuối file .htaccess

# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>

8. Bảo vệ thư mục wp-content : Tạo file .htaccess và thêm đoạn code sau: 

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ì  cần thêm phần mở rộng (phần đuôi ví dụ woff) vào danh sách trên

9. Giới hạn truy cập 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 112.213.80.44
</FilesMatch>

Trong đó 112.213.80.44 chính là IP wan từ thiết bị đang sử dụng cần truy cập vào wp-admin. 

10. Sử dụng các plugin quét mã độc : Bạn có thể tham khảo bài viết sau:

https://kb.pavietnam.vn/cac-plugins-kiem-tra-malware-mien-phi-cho-wordpress.html

11, Sử dụng các gói hosting tại P.A

hiện tại các hosting tại P.A đều được trang bị  CloudLinux https://kb.pavietnam.vn/cloudlinux-la-gi-tai-sao-can-cloudlinux.html

Với CloudLinux hạn chế gần như 100% việc hack local và bạn không phải lo lắng 1 hosting nào khác trên cùng server tấn công web của bạn

 

Rate this post