Website của bạn bị tấn công DOS, DDOS,… Đó là 1 vấn đề có thể xảy ra khi bạn public website của mình trên Internet. Hay đơn giản ai đó đang crawl hết dữ liệu hoặc spam vào form contact của bạn vậy. Dạo này 1 website của mình cũng đang bị spam, gửi traffic ảo liên tục dù mình chẳng bao giờ chơi xấu ai. Đó là 1 thủ đoạn nhằm đánh sập trang web của bạn hay ít nhất làm website của bạn mất uy tín trên các công cụ tìm kiếm.
Vì vậy bài viết này sẽ giúp các bạn chặn / block 1 địa chỉ IP hoặc 1 dải địa chỉ IP trên Nginx Web Server.
Chặn địa chỉ IP trên Nginx
Chặn 1 địa chỉ IP
Để chặn / block 1 địa chỉ IP chúng ta cần sửa file Virtual Hosts, các file Virtual Host của Nginx Server trên Linux được đặt ở thư mục /etc/nginx/sites-available/
location / { ... deny 192.168.1.10; ... }
Thêm dòng deny vào trong block location như trên. Nó sẽ chặn IP có địa chỉ IP là 192.168.1.10
Sau đó reload lại Nginx
sudo systemctl reload nginx
Chặn 1 dải địa chỉ IP
deny 192.168.1.0/24;
Nó sẽ chặn toàn bộ IP trong dải 192.168.1.x
Chặn toàn bộ nhưng chỉ cho phép 1 địa chỉ IP được phép truy cập
# allow 192.168.1.10 allow 192.168.1.10; # drop rest of the world deny all;
Thay đổi hiển thị trang báo lỗi truy cập 403 Forbidden
Sau khi chặn địa chỉ IP nó sẽ hiển thị trang báo lỗi 403
Để thay đổi hiển thị theo mong muốn của bạn, thì tạo 1 file 403.html và đặt chúng vào file Virtual Host của bạn
server { ... error_page 403 /403.html; ... }
Nguồn: vinasupport.com