Search…

ModSecurity - Cài Đặt ModSecurity từ Source Code

30/09/20202 min read
Cài đặt và tích hợp ModSecurity cho Apache trên Ubuntu từ source code.

Giới thiệu về ModSecurity

ModSecurity là 1 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, được phát triển dành cho Web Server, bài viết này sẽ hướng dẫn cài đặt ModSecurity từ source code cho Apache trên Ubuntu. ModSecurity là 1 reverse proxy, đứng trước Web Server và có khả năng xử lý traffic trước khi đưa vào Web Server.

Cài đặt ModSecurity

Update và upgrade hệ thống bằng 2 dòng lệnh và cài gói build-essential:

apt upgrade
apt update
apt install build-essential

Cài đặt apache trên Ubuntu:

apt install apache2 apache2-dev

Cài các gói cần thiết để có thể cài đặt ModSecurity trên Ubuntu:

apt install libxml2-dev libcurl4-openssl-dev liblua5.1-0 liblua5.1-0-dev libapache2-mod-security2

Tải source code ModSecurity tại mục ModSecurity for Apache (Stable Release Quality) và rule của OWASP.

Giải nén source code của ModSecurity và tiến hành build:

cd modsecurity-x.y.z
./autogen.sh
./configure make && make install

Sau khi cài đặt xong, tiến hành cấu hình Apache và ModSecurity:

service apache2 stop

Sửa file config của Apache:

nano /etc/apache2/apache2.conf

và thêm 3 dòng này vào cuối file:

LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so

Nếu không thấy 2 file libxml2.soliblua5.1.so thì đổi lại đường dẫn /usr/lib/x86_64-linux-gnu cho cả hai file.

Thay đổi ModSecurity detection mode, mặc định thì ModSecurity chỉ phát hiện và log event nên cần phải config lại để ModSecurity có thể tương tác với traffic, truy cập vô thư mục source ModSecurity ban đầu và chạy 3 lệnh này:

sudo cp /modsecurity.conf-recommended /etc/apache2/conf-available/modsecurity.conf
sudo cp /unicode.mapping /etc/apache2/conf-available/
sudo nano /etc/apache2/conf-available/modsecurity.conf

Thay đổi SecRuleEngine DetectionOnly sang SecRuleEngine On

Ctrl + X để thoát ra và nhấn Y + Enter để lưu lại thay đổi.

Khởi động lại Apache:

sudo systemctl restart apache2

Giải nén rule của OWASP vừa tải và copy thư mục rule vào apache2:

mv corerulesetx.y.z /etc/apache2/modsecurity-crs
cd /etc/apache2/modsecurity-crs
cp crs-setup.conf.example crs-setup.conf
mkdir /etc/apache2/modsecurity //Thêm thư mục riêng để chứa rule tự viết

Thêm các đoạn sau đây vào cuối file apache2.conf ở thư mục /etc/apache2/apache2.conf:

<IfModule security2_module>
Include modsecurity-crs/crs-setup.conf
Include modsecurity-crs/rules/*.conf
IncludeOptional modsecurity/*.conf
</IfModule>

Khởi động lại Apache:

sudo systemctl restart apache2

Việc cài đặt và tích hợp đã xong. Bài sau sẽ hướng dẫn viết rule cơ bản để kiểm tra việc cài đặt đã hoàn thiện hay chưa.

Bài chung series

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024