ModSecurity là một sản phẩm thuộc dự án OWASP, cho phép người dùng cấu hình, tùy chỉnh các phương thức phát hiện tấn công vào web server. Phiên bản ModSecurity hiện tại đã hỗ trợ Apache, Nginx và IIS. Cùng với dự án ModSecurity Core Rule Set thì việc triển khai hệ thống WAF càng dễ dàng hơn cho nhân viên hệ thống cũng như các chuyên viên bảo mật.

Mod_Security là một module mở rộng cho các chương trình web server như Apache, Nginx, IIS và hoạt động như một firewall tại lớp ứng dụng web. Cùng với sự gia tăng về phương pháp tấn công web thì mod_security cũng đã cập nhật những rule và đưa ra nhiều cách phòng chống trong mã nguồn của chương trình. Một số tính chất mà mod_security có thể dùng làm Web Application Firewall:

Tính linh động (Flexibility)

Việc phân tích luồng HTTP theo một tiêu chí nhất định trong thực tế thường gặp vấn đề là làm sao để có thể so trùng mẫu mà bạn muốn. Ngoài ra, do nhu cầu của từng hệ thống web là khác nhau dẫn đến việc phân tích trên từng loại ứng dụng cũng khác nhau. Mod_security đã kết hợp với OWASP phát triển các tập rule mẫu (Core Rule Set) nhằm tạo ra tính linh động cho từng mô hình web khác nhau, hỗ trợ người quản trị phân tích theo nhu cầu thực tế của hệ thống đang quản trị.

Tính thụ động (Passivity)

ModSecurity sẽ không thực thi các tác vụ nếu như người quản trị viên không chỉ định công việc cụ thể cho chương trình, việc này là khá quan trọng trong một ứng dụng có nhiệm vụ phân tích nguy cơ như ModSecurity. Mọi cảnh báo sẽ được thực hiện thông qua cơ chế phân tích và quyết định tương tác với hệ thống sẽ do người quản trị thực hiện.

Chức Năng ModSecurity

ModSecurity hoạt động với chương trình web server (ví dụ: Apache) sẽ thực hiện các tác vụ như sau:

Parsing

ModSecurity sẽ phân tách các dữ liệu luân chuyển qua hệ thống thành cấu trúc dữ liệu mà ModSecurity định nghĩa sẵn. Cấu trúc này sẽ được chuyển qua cơ chế so trùng mẫu trong tập rule để phân tích nguy cơ.

Buffering

Chức năng buffer (đệm) đóng vai trò khá quan trọng trong cơ chế hoạt động của ModSec. Việc này có ý nghĩa khi các request gởi đến ứng dụng web thì phải thông qua ModSecurity trước khi đến ứng dụng xử lý và những response cũng sẽ được phân tích trước khi trả về phía client. Cơ chế này là cách duy nhất để có thể ngăn chặn các cuộc tấn công thời gian thực, các dữ liệu mà ModSecurity nhận được và phân tích sẽ được lưu trữ trong RAM (bao gồm request body và response data)

Logging

ModSecurity hỗ trợ ghi nhật ký các gói tin HTTP: request headers, request body, response header, response body nhằm hỗ trợ người quản trị phân tích nguy cơ mà hệ thống đang gặp phải để có thể ra quyết định kiểm soát.

Rule Engine

Các tập mẫu trong ModSecurity đóng vai trò quan trọng trong việc phát hiện các dạng tấn công và thực hiện phòng chống. ModSecurity cùng phát triển với dự án OWASP phát triển các mẫu để phân tích và phòng chống các tấn công hệ thống web (Tham khảo https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project)

Cài Đặt  Modsecurity

Cài các thư viện cần thiết cho mosecurity

Tải về bộ cài đặt Modsecurity

Cài Đăt Modsecurity

Thêm ModSecurity module Cho nginx

Sau khi biên dịch Standalone, thêm ModSecurity module thông qua “–add-module” trong quá trình biên dịch nginx:

ModSecurity được thiết kế để lọc và ngăn chặn các mối nguy hiểm trên web. Sức mạnh của nó xuất phát từ các quy tắc của nó. Các quy tắc do OWASP cung cấp được duy trì bởi các tình nguyện viên và được gọi là các quy tắc cốt lõi (CRS). Họ là đáng tin cậy và mạnh mẽ, nhưng họ cũng có thể được tùy chỉnh để đáp ứng các yêu cầu khác nhau.

Thêm Bộ Lọc

Kích Hoạt OWASP rules

Sao chép modsecurity.conf-recommended và unicode.mapping dưới thư mục mã nguồn ModSecurity vào thư mục con nginx conf và đổi tên modsecurity.conf thành modsecurity.conf.

Chỉnh sửa tệp modsecurity.conf và đặt SecRuleEngine thành Bật. Giá trị mặc định DetectOnly là chế độ quan sát. Chúng tôi khuyên bạn nên sử dụng chế độ này theo mặc định trong khi cài đặt và quan sát xem nó có ảnh hưởng không mong muốn trên trang web và máy chủ hay không.

Có rất nhiều thư mục để lưu trữ các quy tắc trong owasp-modsecurity-crs chẳng hạn như base_rules, experiment_rules, optional_rules và slr_rules. Bạn có thể kích hoạt các quy tắc bạn cần bằng cách bao gồm chúng trong modsecurity.conf

Xem xét tác động có thể xảy ra đối với hiệu suất của máy chủ, bạn nên chỉ thêm quy tắc phòng thủ cho các lỗ hổng nghiêm trọng để bảo vệ chống lại các cuộc tấn công web quan trọng nhất hiện tại.

Cấu Hình Nginx

Thêm các dòng sau vào vị trí của máy chủ ModSecurity cần được kích hoạt:
ModSecurityEnabled ON;
ModSecurityConfig modsecurity.conf;
Sau đây là các ví dụ về cấu hình của máy chủ ảo ảo conf hoặc tệp vhost:

 

Leave a Reply

avatar
  Subscribe  
Notify of