• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Nginx - Hướng dẫn chặn ip, xss exploits, sql injections, file injections, spam, user agents

Admin

Well-Known Member
Staff member
Administrator
Bài này tôi sẽ hướng dẫn các bạn block các kết nối đến trang web của bạn bằng cấu hình trên nginx rất đơn giản và hiệu quả .
Bạn muốn ngăn chặn những gì ?
Ví dụ ngăn chặn IP , ngăn chặn ăn cắp băng thông , ngăn chặn các trò Exploits, SQL Injections, File Injections của hacker ....

- Để cấu hình block cho dễ các bạn cần tạo một file tên là block.conf và đặt trong thư mục của nginx
Thư mục nginx trên ubuntu mặc định ở /etc/nginx , trên centos mặc định khi ở /usr/local/share/nginx
Và nếu bạn build nginx from source thì hãy gõ nginx -V để tìm cho đúng thư mục nhé
Bài này tôi ví dụ nginx của tôi đặt ở /usr/local/nginx và tôi đặt file block.conf ở đó

- Tiếp theo mở file vhost của ban và include file block.conf trong phần server {}
Ví dụ
Code:
server {
server_name daivietpda.vn www.daivietpda.vn;
    root /usr/local/nginx/html;
    location / {
    include /usr/local/nginx/block.conf;
    }
#......
#......
}

- Tiếp theo để thực hiện ngặn chặn chúng ta thưc hiên thêm các rules vào file block.conf
Mở file block.conf thêm như hướng dẫn
1 . Block IP
Code:
deny 54.242.194.3; # ip này dos chẳng hạn
Hoặc có lúc bạn cần block toàn bộ các IP nước ngoài và chỉ có dân việt nam vào thôi thì mình có chia sẻ cho các bạn mội list allow IP việt nam và chặn toàn bộ IP nước ngoài , danh sách này đã allow google , bing , và opera + ucweb
Code:
allow 108.0.0.0/8;
allow 65.0.0.0/8;
allow 157.0.0.0/8;
allow 209.0.0.0/8;
allow 173.0.0.0/8;
allow 199.0.0.0/8;
allow 192.0.0.0/8;
allow 70.0.0.0/8;
allow 65.0.0.0/8;
allow 64.0.0.0/8;
allow 37.0.0.0/8;
allow 171.0.0.0/8;
allow 82.0.0.0/8;
allow 141.0.0.0/8;
allow 80.0.0.0/8;
allow 195.0.0.0/8;
allow 66.0.0.0/9;
allow 1.52.0.0/14;
allow 14.0.16.0/20;
allow 14.160.0.0/11;
allow 14.224.0.0/11;
allow 20.139.145.0/24;
allow 27.0.12.0/22;
allow 27.2.0.0/15;
allow 27.64.0.0/12;
allow 27.118.16.0/20;
allow 58.186.0.0/15;
allow 61.28.224.0/19;
allow 64.187.118.160/27;
allow 69.13.190.127/29;
allow 69.13.190.135/32;
allow 69.65.54.80/29;
allow 72.8.172.0/24;
allow 72.20.3.28/30;
allow 72.20.6.160/30;
allow 72.20.34.192/26;
allow 72.20.38.192/26;
allow 72.249.68.0/24;
allow 110.35.64.0/20;
allow 110.44.184.0/21;
allow 111.91.232.0/22;
allow 112.72.64.0/18;
allow 112.78.0.0/20;
allow 112.137.128.0/20;
allow 112.197.0.0/16;
allow 112.213.80.0/20;
allow 113.22.0.0/16;
allow 113.23.0.0/17;
allow 113.52.32.0/19;
allow 113.61.108.0/22;
allow 113.160.0.0/11;
allow 115.72.0.0/13;
allow 115.84.176.0/21;
allow 115.146.120.0/21;
allow 115.165.160.0/21;
allow 116.68.128.0/21;
allow 116.96.0.0/12;
allow 116.118.0.0/17;
allow 116.193.64.0/20;
allow 117.0.0.0/13;
allow 117.103.192.0/18;
allow 117.122.0.0/17;
allow 118.68.0.0/14;
allow 118.102.0.0/21;
allow 119.15.160.0/19;
allow 119.17.192.0/18;
allow 119.18.128.0/20;
allow 119.18.184.0/21;
allow 119.82.128.0/20;
allow 120.50.184.0/21;
allow 120.72.80.0/21;
allow 120.72.96.0/19;
allow 120.138.64.0/20;
allow 122.102.112.0/22;
allow 122.201.8.0/21;
allow 123.16.0.0/12;
allow 124.158.0.0/20;
allow 125.212.128.0/17;
allow 125.214.0.0/19;
allow 125.214.32.0/21;
allow 125.214.40.0/23;
allow 125.214.42.0/24;
allow 125.214.43.0/26;
allow 125.214.43.64/27;
allow 125.214.43.96/29;
allow 125.214.43.112/20;
allow 125.214.59.112/22;
allow 125.214.63.112/25;
allow 125.214.63.240/28;
allow 125.234.0.0/15;
allow 134.159.138.0/24;
allow 169.211.5.0/24;
allow 172.205.0.0/17;
allow 175.106.0.0/22;
allow 180.93.0.0/16;
allow 180.148.0.0/21;
allow 180.148.128.0/20;
allow 180.214.236.0/22;
allow 182.161.80.0/20;
allow 182.236.112.0/22;
allow 182.237.20.0/22;
allow 183.80.0.0/16;
allow 183.81.0.0/17;
allow 183.90.160.0/21;
allow 183.91.0.0/19;
allow 183.91.160.0/19;
allow 202.4.168.0/24;
allow 202.4.176.0/24;
allow 202.6.2.0/24;
allow 202.6.96.0/23;
allow 202.9.79.0/23;
allow 202.9.84.0/24;
allow 202.43.108.0/22;
allow 202.47.87.0/24;
allow 202.47.142.0/24;
allow 202.52.39.0/24;
allow 202.55.132.0/22;
allow 202.56.57.0/24;
allow 202.59.238.0/23;
allow 202.59.252.0/23;
allow 202.60.104.0/21;
allow 202.78.224.0/21;
allow 202.79.232.0/21;
allow 202.87.212.0/22;
allow 202.92.4.0/22;
allow 202.93.156.0/22;
allow 202.124.204.0/24;
allow 202.130.36.0/23;
allow 202.134.16.0/21;
allow 202.134.54.0/24;
allow 202.151.160.0/20;
allow 202.158.244.0/22;
allow 202.160.124.0/23;
allow 202.172.4.0/23;
allow 202.174.156.128/26;
allow 202.191.56.0/22;
allow 203.34.144.0/24;
allow 203.77.178.0/24;
allow 203.79.28.0/24;
allow 203.89.140.0/22;
allow 203.99.248.0/22;
allow 203.113.128.0/18;
allow 203.119.8.0/22;
allow 203.119.36.0/22;
allow 203.119.44.0/22;
allow 203.119.58.0/20;
allow 203.119.74.0/23;
allow 203.128.240.0/21;
allow 203.160.0.0/23;
allow 203.160.96.0/20;
allow 203.161.0.0/22;
allow 203.161.178.0/24;
allow 203.162.0.0/16;
allow 203.170.26.0/23;
allow 203.171.16.0/20;
allow 203.176.160.0/21;
allow 203.189.28.0/22;
allow 203.190.160.0/20;
allow 203.191.8.0/21;
allow 203.191.48.0/21;
allow 203.201.56.0/22;
allow 203.209.180.0/22;
allow 203.210.128.0/17;
allow 206.49.194.32/26;
allow 206.49.194.96/28;
allow 206.49.194.128/26;
allow 206.49.194.192/27;
allow 206.49.196.0/26;
allow 206.49.196.128/27;
allow 206.214.218.106/30;
allow 206.214.220.222/30;
allow 209.200.226.5/29;
allow 210.86.224.0/20;
allow 210.211.96.0/19;
allow 210.245.0.0/17;
allow 216.38.50.153/30;
allow 218.100.10.0/24;
allow 218.100.14.0/24;
allow 218.100.60.0/24;
allow 220.231.64.0/18;
allow 221.121.0.0/18;
allow 221.132.0.0/18;
allow 221.133.0.0/19;
allow 222.252.0.0/14;
deny all;

2 . Block user agents
Bạn cần thêm vào file block.conf nếu muốn block thêm nhiều nữa thì thêm rules nhé
Code:
## Block user agents
    set $block_user_agents 0;

    # Don't disable wget if you need it to run cron jobs!
    #if ($http_user_agent ~ "Wget") {
    #    set $block_user_agents 1;
    #}

    # Disable Akeeba Remote Control 2.5 and earlier
    if ($http_user_agent ~ "Indy Library") {
        set $block_user_agents 1;
    }

    # Common bandwidth hoggers and hacking tools.
    if ($http_user_agent ~ "libwww-perl") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetRight") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetWeb!") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go!Zilla") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Download Demon") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go-Ahead-Got-It") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "TurnitinBot") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GrabNet") {
        set $block_user_agents 1;
    }

    if ($block_user_agents = 1) {
        return 403;
    }

3 . Block Referrer
Chẳng hạn như bạn muốn ngăn chặn các trang web ăn cắp băng thông
Code:
if ($http_referer ~* "bingo|casino|viagra") {
return 403;
}
4 . Block spam
Chặn các loại bot hoặc spam mà query có các từ cần cấm
Code:
## Block spam
    set $block_spam 0;
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $block_spam 1;
    }
    if ($block_spam = 1) {
        return 403;
    }

5 . Block SQL injections
SQL injections là Một cách mà hacker tận dụng lỗi trên trang web của bạn để hack vào cơ sở dữ liệu , rất nguy hiểm , để chặn ta dùng rules sau để block

Code:
 ## Block SQL injections
    set $block_sql_injections 0;
    if ($query_string ~ "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "concat.*\(") {
        set $block_sql_injections 1;
    }
    if ($block_sql_injections = 1) {
        return 403;
    }

6 . Block file injections
Một dạng tấn công injections nhưng ở đây là vào file chứ không phải mysql , rules để block
Code:
 ## Block file injections
    set $block_file_injections 0;
    if ($query_string ~ "[a-zA-Z0-9_]=//?)+") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
        set $block_file_injections 1;
    }
    if ($block_file_injections = 1) {
        return 403;
    }

7 . Block common exploits
Exploits hay Xss mà hôm rồi có bạn report lỗi Xss trên daivietpda và tôi đã dùng rules này để block
Code:
## Block common exploits XSS
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "(<|%3C).*.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "(<|%3C).*.*(|%3E)") {
        set $block_common_exploits 1;
    } 
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "proc/self/environ") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $block_common_exploits 1;
    }
    if ($block_common_exploits = 1) {
        return 403;
    }

Sau khi thêm các Rules muốn block xong vào file block.conf thì phải khởi động lại nginx để có tác dụng nhé
Code:
server nginx restart

Chúc các bạn thành công


Bài viết có tham khảo của các trang
http://www.nginxtips.com/blocking-connections-using-nginx/
http://www.howtoforge.com/nginx-how...jections-file-injections-spam-user-agents-etc
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
Admin Hướng dẫn chuyển hướng https://www sang https:// trên nginx và ngược lại đơn giản VPS & Dedicated Server 0
Admin Share khóa học quản trị viên hệ thống - Nginx, Apache, SSL Encryption - System Administrator Certification Course (2020) VPS & Dedicated Server 0
Admin Hướng dẫn cấu hình Nginx và php-fpm để dùng socket trên CentOS 6 đơn giản VPS & Dedicated Server 0
Admin Hướng dẫn chặn ip nước ngoài và chỉ cho phép ip Việt Nam truy cập trên Nginx VPS & Dedicated Server 3
Admin Hướng dẫn ẩn phiên bản php trên Nginx và Apache VPS & Dedicated Server 0
Admin Hướng dẫn ẩn phiên bản Nginx và Apache trên Centos 6 VPS & Dedicated Server 0
Admin Hướng dẫn cài đặt Linux, nginx, MySQL, PHP (LEMP) trên Raspberry Pi chi tiết VPS & Dedicated Server 0
Admin Hướng dẫn cài đặt Linux, nginx, MySQL, PHP (LEMP) trên CentOS 7.0 chi tiết VPS & Dedicated Server 1
Admin Hướng dẫn cài đặt Linux, nginx, MySQL, PHP (LEMP) trên Ubuntu 14.04 chi tiết VPS & Dedicated Server 0
Admin Hướng dẫn fix lỗi nginx tải về tập tin php trên Ubuntu 14.04 VPS & Dedicated Server 0
Admin Hướng dẫn cài đặt tự động Nginx, PHP-FPM, MySQL và phpMyAdmin trên CentOS đơn giản VPS & Dedicated Server 1
L Xin giúp em về convert htaccess sang Nginx VPS & Dedicated Server 2
Admin Hướng dẫn rewrite url cho phpbb seo trên nginx VPS & Dedicated Server 0
Admin Hướng dẫn cài Nginx - Php-fpm - MariaDB - APC opcode cache tự động đơn giản VPS & Dedicated Server 0
Admin Hướng dẫn cài đặt Kloxo-MR và chuyển đổi Nginx, Apache, Lighttpd dễ dàng VPS & Dedicated Server 0
Admin Winginx dễ dàng cài đặt Nginx - PHP - MySQL trên windows VPS & Dedicated Server 0
Admin [Centos] centmin mod cài đặt nginx + php-fpm + mariadb 5.5.32 mysql VPS & Dedicated Server 0
Admin Hướng dẫn cài đặt Nginx với PHP5 và MySQL hỗ trợ trên Fedora 13 VPS & Dedicated Server 0
Kidblood Hướng dẫn Cài đặt ApacheBooster WHM Plugin (apache + nginx + varnish ) All Shared Scripts 2
Admin Cài đặt Nginx Admin trên WHM (Nginx In WHM/Cpanel) VPS & Dedicated Server 0
Admin Hướng dẫn cài đặt free VPS OVH , web server Nginx + php-fpm VPS & Dedicated Server 0
Admin Hướng dẫn ẩn phiên bản của Apache2, Nginx và PHP VPS & Dedicated Server 0
katy Android Hướng dẫn đổi điểm KNDL và điểm tích lũy MobiFone lấy data Điện thoại di động 0
katy Android Hướng dẫn đổi điểm KNDL và điểm tích lũy MobiFone lấy data Điện thoại di động 0
katy Android Hướng dẫn đổi điểm KNDL và điểm tích lũy MobiFone lấy data Điện thoại di động 0
4gfree HƯỚNG DẪN BUG DATA NHÀ MẠNG MIỄN PHÍ Tin tức CNTT 0
katy Android Hướng dẫn thanh toán cước trả sau Mobifone nhận chiết khấu cao Điện thoại di động 10
vinhdlp Hướng dẫn Hướng dẫn cách ứng tiền mạng Viettel đơn giản cho thuê bao Mạng internet 0
cuongpro9x HƯỚNG DẪN - ĐĂNG KÝ TÀI KHOẢN NGÂN HÀNG MBBANK NGAY TẠI NHÀ Trò chuyện linh tinh 0
nutevnn Help Nhờ hướng dẫn fix html trong PHP PHP 0
F Hướng dẫn xây dựng rạp phim tại nhà với Kodi Tin khoa học, sản phẩm mới 1
huongbtph Hướng dẫn viết bài viết chuẩn Seo Hosting / Domain 0
V Hướng dẫn tạo logo giống Xenforo Xenforo 4
tunglamed Hướng dẫn thuê bao MobiFone kiểm tra tin nhắn mạo danh ngân hàng Điện thoại di động 4
cuongpro9x Hướng dẫn buff key 1.1.1.1 tự làm tại nhà Mạng internet 1
cuongpro9x Hướng dẫn xem tổng số tiền đã mua hàng trên shopee Trò chuyện linh tinh 0
cuongpro9x Hướng dẫn cài và kích hoạt ExpressVPN Phần mềm 0
Admin Hướng dẫn tải video tiktok không bản quyền bởi tuoitreit.vn - download video tiktok without watermark Thảo luận chung 0
Admin Hướng dẫn fix lỗi tắt kiếm tiền (TKT) lỗi quốc gia Ad Breaks Tut, tool, mmo 0
starmanh Hướng dẫn Hướng dẫn hack data tốc độ cao APP 1.1.1.1 Phần mềm 0
dammechiase Dowload Phần mềm Adobe Photoshop CC 2018 mới nhất Hướng Dẫn Cài Đặt Phần mềm 0
dammechiase Download Tải Office 2016 Full – Video hướng dẫn cài đặt chi tiết bản chuẩn nhất Phần mềm 0
dammechiase Dowload Phần mềm CorelDRAW Graphics Suite X9 Mới Nhất Full Crack Bản chuẩn kèm hướng dẫn cài đặt Phần mềm 0
dammechiase Tải bộ cài Office 2007 - Hướng dẫn cài đặt Office 2007 chi tiết Phần mềm 0
dammechiase Dowload phần mềm UltraISO Mới nhất phần mềm tạo ổ đĩa ảo mới nhất full key bản chuẩn kèm hướng dẫn Phần mềm 0
T Hướng dẫn làm việc local repo và remote repo trong Git Tin tức CNTT 0
T Hướng dẫn tìm (lookup) dữ liệu trong bảng tính (Excel/GoogleSheets) Tin tức CNTT 0
cuongpro9x Share Hướng Dẫn Nhận Free Domain .Co.Uk 1 Yea Chia sẻ mã giảm giá 3
N Hướng dẫn thiết kế tờ rơi Poster cafe bằng Photoshop. Góc thành viên học tập 0
T Hướng đi cho lập trình viên – CodeGym Day 2019 Tin tức CNTT 0

Similar threads

New posts New threads New resources

Back
Top