ModSecurity là một bộ máy phát hiện và phòng chống xâm nhập dành cho các ứng dụng Web gọi là Web application firewall . Hoạt động như một module của máy chủ web Apache, mục đích của ModSecurity là tăng cường bảo mật cho các ứng dụng Web, bảo vệ chúng khỏi các loại tấn công đã biết và chưa biết. ModSecurity cho Nginx đã sẵn sàng và chúng ta có thể sử dụng nó một cách tự do trong máy chủ web Nginx của chúng tôi. ModSecurity ban đầu được phát triển cho Apache webserver, nên nó không có sẵn với máy chủ Nginx.Vì vậy, chúng ta hãy xem làm thế nào để cài đặt mod_security trên Nginx Cài đặt phụ thuộc yêu cầu từ Github Đối với CentOS/Fedora/RHEL: Mã: yum install -y gcc make automake autoconf libtool yum install -y pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel Đối với Debian/Ubuntu: Mã: apt-get install libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev Tải về, biên dịch và cài đặt mod_security Mã: git clone https://github.com/SpiderLabs/ModSecurity.git mod_security -->Tải về gói cài đặt cd mod_security -->Điều hướng đến thư mục mod_security ./autogen.sh -->Chạy tập tin scrip ./configure --enable-standalone-module --> Biên dịch và cài đặt make Biên dịch Nginx từ nguồn với modsecurity Mã: wget http://www.nginx.org/download/nginx-1.4.2.tar.gz --> Tải về gói cài đặt tar -xvpzf nginx-1.4.2.tar.gz -->Giải nén tập tin tải về cd nginx-1.4.2 -->Điều hướng đến thư mục nginx-1.4.2 ./configure --add-module=../mod_security/nginx/modsecurity -->Biên dịch và cài đặt make make install Các tập tin cấu hình mod_security /etc/httpd/conf.d/mod_security.conf - tập tin cấu hình chính cho mod_security Apache module. /etc/httpd/modsecurity.d/ - tất cả các file cấu hình khác cho mod_security Apache. /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf - Cấu hình chứa trong tập tin này nên được tùy chỉnh cho phù hợp các yêu cầu cụ thể của bạn trước khi triển khai. /var/log/httpd/modsec_debug.log - Sử dụng các thông điệp debug để gỡ lỗi các quy tắc mod_security và các vấn đề khác. /var/log/httpd/modsec_audit.log - Tất cả các yêu cầu kích hoạt một sự kiện ModSecurity (như phát hiện) hoặc lỗi đăng nhập ("RelevantOnly") được ghi vào tập tin này. Cấu hình Nginx ModSecurity Tập tin cấu hình ModSecurity phải được xác định tại tập tin nginx.conf, ví dụ: Mã: server { listen 80; server_name localhost; location / { ModSecurityEnabled on; ModSecurityConfig modsecurity.conf; } } Nếu bạn cần có những luật tùy chỉnh cho mod_security được áp dụng cho các thư mục khác nhau trong trang web của bạn, bạn có thể tạo tập tin mod_security.conf mới, ví dụ: Mã: location /secured { ModSecurityConfig modsecurity3.conf; proxy_pass http://secured.mysite.com/; proxy_read_timeout 180s; } Hoặc thậm chí bạn có thể tắt mod_security cho một thư mục cụ thể: Mã: location /unsecured/ { ModSecurityEnabled off; proxy_pass http://unsecured.mysite.com/; proxy_read_timeout 180s; } Khởi động lại Nginx để áp dụng các thay đổi: Mã: service nginx restart Tham khảo tài liệu mod_security để biết thêm thông tin.