Cách cấu hình Nginx để chặn IP hoặc quốc gia cụ thể khỏi truy cập máy chủ

Trong một số trường hợp, bạn có thể muốn chặn truy cập vào máy chủ từ một số IP hoặc quốc gia cụ thể. Điều này có thể làm giảm nguy cơ tấn công từ các nguồn không đáng tin cậy hoặc giúp tuân thủ các quy định pháp lý. Nginx cung cấp các công cụ và tùy chọn cấu hình để chặn IP hoặc quốc gia cụ thể khỏi truy cập máy chủ. Trong bài viết này, chúng ta sẽ tìm hiểu cách cấu hình Nginx để thực hiện điều này.

Chặn IP cụ thể

Để chặn một IP cụ thể khỏi truy cập máy chủ, bạn có thể sử dụng directive “deny” trong block server hoặc location của tệp cấu hình Nginx. Ví dụ:

http {
server {
...
location / {
deny 192.168.0.100;
}
}
}

 

Trong ví dụ này, chúng ta đã chặn IP 192.168.0.100 khỏi truy cập tất cả các tài nguyên trên máy chủ. Bất kỳ yêu cầu từ IP này đến máy chủ sẽ bị từ chối truy cập.

How to Set up a Reverse Proxy server using Nginx | by Raja Mani | Medium

Chặn quốc gia cụ thể

Để chặn truy cập từ các quốc gia cụ thể, bạn cần sử dụng module “ngx_http_geoip_module” trong Nginx. Đầu tiên, bạn cần cài đặt module này và cập nhật cơ sở dữ liệu GeoIP. Sau đó, bạn có thể cấu hình Nginx để chặn các quốc gia bằng cách sử dụng directive “geo” và “deny”. Ví dụ:

http {
geoip_country /path/to/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
US no;
GB no;
}

server {
...
location / {
if ($allowed_country = no) {
return 403;
}
}
}
}

 

Trong ví dụ này, chúng ta đã cấu hình Nginx để chặn truy cập từ các quốc gia có mã US (Mỹ) và GB (Vương quốc Anh). Các quốc gia khác sẽ được phép truy cập vào máy chủ. Điều này được thực hiện bằng cách sử dụng module “ngx_http_geoip_module” để xác định quốc gia từ địa chỉ IP và sử dụng biến $allowed_country để kiểm tra quyền truy cập.

Hướng dẫn chặn IP truy cập vào website WordPress nhanh chóng

Kết hợp chặn IP và quốc gia

Bạn cũng có thể kết hợp cả hai phương pháp trên để chặn IP cụ thể và các quốc gia khỏi truy cập máy chủ. Bạn có thể tạo các rule chặn trong tệp cấu hình Nginx để đáp ứng nhu cầu bảo mật cụ thể của bạn.

Lưu ý rằng việc chặn IP hoặc quốc gia chỉ là một phương pháp để tăng cường bảo mật máy chủ. Để đảm bảo an toàn tốt hơn, bạn nên kết hợp nó với các biện pháp bảo mật khác như mật khẩu mạnh, xác thực hai yếu tố và cập nhật đều đặn hệ điều hành và ứng dụng.

Tất cả các trang web trên Internet đều đang cố gắng tự bảo vệ mình khỏi các  cuộc tấn công mạng và bot. Thông thường, vì điều này, các trang web sử

Trên đây là một số cách cấu hình Nginx để chặn IP hoặc quốc gia cụ thể khỏi truy cập máy chủ. Việc áp dụng các biện pháp bảo mật như vậy sẽ giúp bảo vệ máy chủ của bạn khỏi các nguy cơ từ các nguồn không đáng tin cậy và giữ an toàn cho ứng dụng web của bạn.