Nginx – Blocking the access to URLs
Với những request mang tính độc hại, chúng ta cần ngăn chặn để phòng ngừa rủi ro và tránh tiêu hao tài nguyên máy chủ.
Hôm nay Nhân Hòa sẽ sử dụng Nginx để chặn nhé!
Cài đặt Nginx
apt-get update apt-get install nginx
Chỉnh sửa tệp cấu hình Nginx cho trang web mặc định.
vi /etc/nginx/sites-available/default
Thêm dòng sau vào tệp cấu hình.
if ($request_uri ~* (rss|feed|xmlrpc|faq) ){ return 403; }
Đoạn cấm truy cập đối với các yêu cầu có liên quan đến các tài liệu RSS, feeds, giao thức XML-RPC hoặc các trang FAQ. Khi điều kiện được đáp ứng, mã return 403; sẽ trả về mã trạng thái HTTP 403 (Forbidden) cho yêu cầu.
Thay đổi dòng này, nhập từ mà bạn muốn từ chối truy cập trên URL.
if ($request_uri ~* (rss|feed|xmlrpc|faq) ){
File cấu hình ban đầu:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Đây là sau khi chỉnh sửa
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { if ($request_uri ~* (rss|feed|xmlrpc|faq) ){ return 403; } try_files $uri $uri/ =404; } }
Và khởi động lại Nginx
service nginx restart
Trong ví dụ, máy chủ Nginx sẽ từ chối quyền truy cập vào bất kỳ URL nào chứa các từ sau.
rss feed xmlrpc faq
Từ một máy tính Linux từ xa, hãy thử truy cập một URL bị chặn.
curl -I http://www.itvn.xyz/rss curl -I http://www.itvn.xyz/rss/tag01 curl -I http://www.itvn.xyz/test/feed curl -I http://www.itvn.xyz/wordpress/xmlrpc.php
Sẽ trả về mã sau:
HTTP/1.1 403 Forbidden Server: nginx/1.18.0 (Ubuntu) Date: Aug, 12 Apr 2023 00:21:09 GMT Content-Type: text/html Content-Length: 162 Connection: keep-alive
Nếu người dùng cố gắng truy cập URL có chứa các từ bị cấm, yêu cầu sẽ bị từ chối.
Bạn có thể từ chối quyền truy cập vào các URL có chứa các từ cụ thể trên máy chủ Nginx
Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com