ModSecurity là một tường lửa ứng dụng web giúp bảo vệ các trang web khỏi các cuộc tấn công. Bài viết này sẽ hướng dẫn bạn cài đặt ModSecurity với Nginx trên CentOS 7.
Cài đặt ModSecurity với Nginx – ModSecurity là tường lửa ứng dụng web miễn phí cho Apache và Nginx. Sẽ rất hữu ích khi bảo vệ máy chủ web của bạn khỏi các cuộc tấn công khác nhau bằng cách chặn hầu hết các hành vi khai thác đã biết bằng cách sử dụng các biểu thức chính quy và bộ quy tắc.
ModSecurity có thể phát hiện các cuộc tấn công bằng cách giám sát và phân tích lưu lượng HTTP trong thời gian thực. Trong bài này HOSTVN Tôi sẽ hướng dẫn bạn cài đặt ModSecurity với quy tắc OWASP trên VPS CentOS 7.
Cài đặt ModSecurity với Nginx trên CentOS 7
1. Bước 1: Cài đặt Nginx
Nếu bạn chưa cài đặt Nginx trên VPS của mình, bạn có thể xem hướng dẫn cài đặt LEMP (Nginx – MariaDB – PHP-FPM) trên CentOS 7.
2. Bước 2: Cài đặt các thư viện cần thiết
Trước khi bắt đầu cài đặt ModSecurity chúng tôi cần cập nhật hệ thống và cài đặt các gói cần thiết sau
yum -y update yum install -y gcc-c++ flex bison yajl yajl-devel curl-devel curl GeoIP-devel doxygen zlib-devel bison bison-devel git
3. Bước 3: Biên dịch ModSecurity
Sau khi cài đặt xong các thành phần cần thiết, hãy tiến hành biên dịch ModSecurity bằng các lệnh sau
cd /opt/ git clone https://github.com/SpiderLabs/ModSecurity cd ModSecurity sh build.sh git submodule init git submodule update ./configure make && make install
4. Bước 4: Tạo Mô-đun ModSecurity cho Nginx
Tải xuống Nginx và tạo mô-đun ModSecurity cho nginx. Bạn cần tải xuống cùng một phiên bản Nginx mà bạn đang sử dụng trên máy chủ của mình. Để kiểm tra phiên bản Nginx bạn đang sử dụng, hãy sử dụng lệnh sau
nginx -v
Trong bài này HOSTVN sẽ sử dụng phiên bản ổn định Nginx mới nhất 1.18.0
cd /opt/ModSecurity wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -xvf nginx-1.18.0.tar.gz git clone https://github.com/SpiderLabs/ModSecurity-nginx cd /opt/ModSecurity/nginx-1.18.0 ./configure --add-dynamic-module=../ModSecurity-nginx --with-compat make modules
Bây giờ bạn đã tạo thành công các mô-đun và bạn cần sao chép nó vào / etc / nginx / modules /.
cd /opt/ModSecurity/nginx-1.18.0/objs cp ngx_http_modsecurity_module.so /etc/nginx/modules/
Tải các mô-đun này vào tệp /etc/nginx.conf của bạn
nano /etc/nginx/nginx.conf
Thêm dòng sau
load_module modules/ngx_http_modsecurity_module.so;
Nhấn Điều khiển + o và hãy nhấn đi vào để lưu tệp, Điều khiển + x để thoát khỏi nano. Sau đó khởi động lại Nginx để cấu hình có hiệu lực
service nginx restart
5. Bước 5: Cài đặt quy tắc OWASP
- Tải xuống OWASP (Dự án bảo mật ứng dụng web mở) quy tắc bằng cách chạy lần lượt các lệnh sau
cd /etc/nginx git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git mv owasp-modsecurity-crs modsecurity-crs cd modsecurity-crs cp crs-setup.conf.example crs-setup.conf
- Tạo tệp /etc/nginxmodsec_includes.conf
nano /etc/nginx/modsec_includes.conf
Dán nội dung bên dưới
include modsecurity.conf include modsecurity-crs/crs-setup.conf include modsecurity-crs/rules/*.conf
Nhấn Điều khiển + o và hãy nhấn đi vào để lưu tệp, Điều khiển + x để thoát khỏi nano.
- Thêm tệp cấu hình ModSecurity
cp /opt/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsecurity.conf cp /opt/ModSecurity/unicode.mapping /etc/nginx/unicode.mapping
Để kích hoạt ModSecurity, hãy sử dụng lệnh sau
sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/nginx/modsecurity.conf
6. Bước 6: Kiểm tra
Để kiểm tra xem ModSecurity có thực sự hoạt động hay không, hãy mở tệp /etc/nginx/conf.d/default.conf và thêm 2 dòng sau
server { .... modsecurity on; modsecurity_rules_file /etc/nginx/modsec_includes.conf; }
Làm tương tự với các tệp vhost khác để kích hoạt ModSecurity trên trang web bạn muốn ModSecurity hoạt động
Khởi động lại Nginx để cấu hình có hiệu lực
service nginx restart
Để kiểm tra, hãy sử dụng lệnh sau
curl localhost/index.html?exec=/bin/bash
Nếu kết quả là một thông báo lỗi 403 bị cấm nghĩa là ModSecurity đang hoạt động.
7. Liên kết tham khảo
8. Kết luận
Qua bài đăng này HOSTVN đã hướng dẫn bạn cài đặt ModSecurity với Quy tắc OWASP trên VPS CentOS 7. Nếu có góp ý gì, bạn có thể để lại bình luận bên dưới. Ngoài ra, bạn có thể xem thêm Hướng dẫn cài đặt CSF Firewall trên CentOS 7.