ModSecurity là tường lửa ứng dụng web giú p bảo vệ website khỏi các cuộc tấn công. Bài viết này sẽ hướng dẫn cài đặt ModSecurity với Apache trên CentOS 7.
Cài đặt ModSecurity với Apache – ModSecurity là tường lửa ứng dụng web miễn phí cho Apache và Nginx. Nó rất hữu ích để 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 kiểu khai thác đã biết bằng cách sử dụng các biểu thức và bộ quy tắc thông thường.
ModSecurity có thể phát hiện các cuộc tấn công bằng cách theo dõi và phân tích lưu lượng HTTP trong thời gian thực. Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cài đặt ModSecurity với OWASP rule trên VPS CentOS 7.
Cài đặt ModSecurity với Apache trên CentOS 7
1. Cài đặt Apache
Đầu tiên các bạn cần cài đặt Apache trên VPS của mình. Để cài đặt Apache các 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 ta 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 mã nguồn từ trang download mod_security về 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 file vừa tải về
tar xzfv modsecurity-2.9.3.tar.gz cd modsecurity-2.9.3
Bây giờ, 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 file cấu hình của 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 file /etc/httpd/conf.modules.d/00-modsecurity.conf
nano /etc/httpd/conf.modules.d/00-modsecurity.conf
Dán nội dung sau đây vào
LoadModule security2_module modules/mod_security2.so
bấm Ctrl + o và nhấn Enter để lưu file, Ctrl + x để thoát khỏi nano. Khởi động lại Apache
systemctl restart httpd
4. Thiết lập OWASP rule
Tải xuống OWASP (Open Web Application Security Project) rules 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ở file /etc/httpd/conf/httpd.conf
nano /etc/httpd/conf/httpd.conf
Thêm các dòng sau vào cuối file
Include modsecurity-crs/crs-setup.conf Include modsecurity-crs/rules/*.conf
Bấm Ctrl + o và nhấn Enter để lưu file, Ctrl + x để thoát khỏi nano. Khởi động lại Apache để load lại cấu hình
systemctl restart httpd
5. Kích hoạt ModSecurity và kiểm tra
Để kích hoạt ModSecurity các 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 các bạn tạo một file index.html trong thư mục /var/www/html
nano /var/www/html/index.html
Dán nội dung dưới đây vào
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
Bấm Ctrl + o và nhấn Enter để lưu file, Ctrl + x để thoát khỏi nano. Để tiến hành kiểm tra xem ModSecurity đã thực sự hoạt động hay chưa các bạn sử dụng lệnh như sau
curl localhost/index.html?exec=/bin/bash
Nếu kết quả trả về là thông báo lỗi 403 Forbidden nghĩa là ModSecurity đã hoạt động.
6. Link tham khảo
7. Kết luận
Qua bài viết này VINASTAR đã hướng dẫn các bạn cài đặt ModSecurity với OWASP rule trên VPS CentOS 7. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm Hướng dẫn cài đặt CSF Firewall trên CentOS 7.