Cài đặt ModSecurity với Apache trên CentOS 7

0
190

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 HOSTVN 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

Screenshot_129

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

Screenshot_127

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.

Screenshot_128 - Cài đặt ModSecurity với Apache

6. Link tham khảo

7. Kết luận

Qua bài viết này HOSTVN đã 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.

email-business-leaderboard-blog-v3.png
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments