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 Apache trên CentOS 7.
Cài đặt ModSecurity với Apache – ModSecurity là một 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 Apache trên CentOS 7
1. Cài đặt Apache
Trước tiên, bạn cần cài đặt Apache trên VPS của mình. Để cài đặt Apache, bạn có thể xem hướng dẫn cài đặt LAMP (Apache – MariaDB – PHP-FPM) trên CentOS 7.
2. Cài đặt mod_security
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 gcc make httpd-devel libxml2 pcre-devel libxml2-devel curl-devel git -y
Tải xuống mã nguồn từ trang tải xuống mod_security vào máy chủ của bạn.
cd /opt/ wget https://www.modsecurity.org/tarball/2.9.3/modsecurity-2.9.3.tar.gz
Tiến hành giải nén tệp đã tải xuống
tar xzfv modsecurity-2.9.3.tar.gz cd modsecurity-2.9.3
Bây giờ chúng ta hãy tiến hành biên dịch và cài đặt ModSecurity từ mã nguồn
./configure make && make install
3. Cấu hình Apache
Sao chép cấu hình ModSecurity mặc định và tệp unicode.mapping vào thư mục tệp cấu hình Apache
cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf cp unicode.mapping /etc/httpd/conf.d/
Với bước này, ModSecurity được cài đặt trên máy chủ của bạn. Bây giờ chúng ta cần cấu hình máy chủ web Apache. Tạo tệp /etc/httpd/conf.modules.d/00-modsecurity.conf
nano /etc/httpd/conf.modules.d/00-modsecurity.conf
Dán phần sau vào đó
LoadModule security2_module modules/mod_security2.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. Khởi động lại Apache
systemctl restart httpd
4. Thiết lập 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/httpd 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
Mở tệp /etc/httpd/conf/httpd.conf
nano /etc/httpd/conf/httpd.conf
Thêm các dòng sau vào cuối tệp
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. Khởi động lại Apache để tải lại cấu hình
systemctl restart httpd
5. Kích hoạt ModSecurity và kiểm tra
Để kích hoạt ModSecurity bạn chạy lệnh sau
sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' //etc/httpd/conf.d/modsecurity.conf
Khởi động lại Apache để thay đổi có hiệu lực
service httpd restart
Tiếp theo, bạn tạo một tệp index.html trong thư mục / var / www / html
nano /var/www/html/index.html
Dán nội dung bên dưới
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
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. Để tiến hành kiểm tra xem ModSecurity nó có thực sự hoạt động hay không, bạn 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.
6. Liên kết tham khảo
7. 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.