1. A PA C H E H T T P S E RV E R
Apache mod security
2. CONTENTS
I. Overview
1. About Mod Security project
2. Web Application Firewall
3. Features
4. Request Processing
II. Mod Security Configuration File
III. Mod Security Rules
I. Collections and Variables
II. Operator
III. Actions
3. OVERVIEW
Là một dự án mã nguồn mở, phiên bản đầu tiên được phát hành tháng 11
năm 2002, hiện nay phiên bản mới nhất là phiên bản 2.7
Là một Web Application Firewall.
Website chính của dự án: http://www.modsecurity.org
4. WEB APPLICATION FIREWALL
Các firewall layer 3 và layer 4
càng tỏ ra không hiệu quả trước
các cuộc tấn công lớp ứng dụng
Mod Security là một Web
Application Firewall.
5. FEATURES
Parsing (Phân tích): Phân tích các dữ liệu nhận được để sử dụng với các
rule.
Buffering (Đệm): Mặc định, Mod security sẽ nhớ đệm tất cả các bản tin
request và response. Điều này có nghĩa là Mod sec có thể kiểm soát nội
dung của bản tin request trước khi nó được server xử lý, và nội dung của
bản tin response trước khi nó được gửi trả cho client.
Logging (Ghi log): Tính năng ghi log sẽ được sử dụng để người quản trị có
thể kiểm soát được đầy đủ lưu lượng HTTP, thay vì sử dung access_log đơn
thuần.
6. FEATURES
Rule Engine: Nhằm làm nhiệm vụ kiểm soát hoạt động của các thành phần
khác thông qua hệ thống rule.
Request Filtering: Tất cả các request tới web server đều được phân tích
bởi Mod Security trước khi được đưa đến các module khác để xử lý.
Compressed content filtering: ModSecurity sẽ phân tích sau khi đã giải
nén các các dữ liệu được yêu cầu.
7. REQUEST PROCESSING
Quá trình phân tích bản tin của mod-security được chia thành 5 giai đoạn, lần lượt như sau:
Request Header
Request Body
Response Header
Response Body
Logging
9. INSTALLING MOD SECURITY
Khi cài đặt mod security yêu cầu cần có những thành phần sau:
apxs
libxml2
mod_unique_id
Yum install httpd-devel pcre* curl* libxml2-dev*
11. RULES
SecRule VARIABLES OPERATOR ACTIONS
Directive chỉ ra Quy định hành động
đây là một Rule Thành phần khi Rule được so
Mod Security khớp
sẽ kiểm tra
Cách Mod Security
tiến hành kiểm tra
13. HANDLING REQUEST BODY
SecRequestBodyAccess (On/Off)
SecRequestBodyLimit (kích thước tính theo byte)
SecRequestBodyInMemoryLimit (đơn vị tính theo byte)
SecRequestBodyLimit (kích thước tính theo byte)
SecRequestBodyInMemoryLimit (kích thước tính theo byte)
SecRequestBodyNoFilesLimit (kích thước tính theo byte)
14. HANDLING RESPONSE BODY
SecResponseBodyAccess
SecResponseBodyMimeType
SecResponseBodyLimit (kích thước tính theo byte)
15. RULES
SecRule VARIABLES OPERATOR ACTIONS
Directive chỉ ra Quy định hành động
đây là một Rule Thành phần khi Rule được so
Mod Security khớp
sẽ kiểm tra
Cách Mod Security
tiến hành kiểm tra
17. REQUEST VARIABLES
Các thông tin này được lấy ra trong phase
1 của quá trình kiểm tra 5 giai đoạn của
Mod Security. Trong phần này sẽ lấy được
các thông tin trong từng Request line
(Request Method, URI, protocol….).
Được chứa trong phần Header của bản tin
HTTP Request
20. OPERATORS
Operator bắt đầu bằng ký tự @
Luôn có khoảng trắng sau mỗi operator để ngăn cách với thành phần tham
số phía sau
Toàn bộ Opearator và thành phần tham số được đặt trong dấu ngoặc kép
(“”) bởi vì tồn tại một khoảng trắng ở giữa.
Ví dụ: SecRule REQUEST_URI “@rx haidinhtuan”
22. ACTIONS
Disruptive Actions: Block bản tin
Flow Actions: Thay đổi các giai đoạn xử lý
Metadata Actions: Các thông tin bổ sung cho Rule (ID, Tags)
Variable Actions: Thiết lập, xóa, sửa các biến
Logging Actions: Kiểm soát việc ghi log
Special Actions: Một số actions đặc biệt (t)
Miscellaneous Action: Các Actions khác
23. LOGGING
Trong Mod Security có hai loại log cần lưu ý:
Debug Log: Lưu log chi tiết từng bước hoạt động của Mod Security
Audit Log: Lưu trư chi tiết các bản tin HTTP
24. DEBUG LOG
SecDebugLog: Cấu hình vị trí lưu trữ log
SecDebugLogLevel: Mức độ chi tiết của log
0 – Không ghi log
1 – Chỉ ghi log các lỗi
2 – warnings
3 – notices
4 – chi tiết các quá trình trao đổi giữa client và server
5 – như level 4, bổ sung thêm một số thông tin
9 – log tất cả mọi thứ chi tiết.
25. AUDIT LOG
SetAuditEngine On|Off|RelevantOnly: tắt mở chức năng ghi log audit
SetAuditLog: xác định đường dẫn ghi log, tương tự như SecDebugLog
26. DEMONSTRATIONS
Thiết lập các Rule đơn giản, kiểm tra với Change HTTP Request
Header
Kiểm tra Audit Log
Sử dụng TX Collection
CanonicalName