
| ModSecurity (Web Application Firewall) |
|
|
|
|
ModSecurity là một dạng Web Application Firewall (WAF) modules, với 70 phần trăm các cuộc tấn công là nhằm vào web application khiến cho việc bảo vệ chúng trở thành một vấn đề cần phải quan tâm hàng đầu.
- WAF thiết lập một lớp bảo vệ bên ngoài phát hiện và ngăn cản các cuộc tấn công trước khi nó tác động đến web application cần bảo vệ. - có khả năng phân tích tỉ mỉ và log toàn bộ các hoạt động của giao thức http như request, response. - có khả năng theo dõi lưu lượng gói tin http (HTTP trafic )theo thời gian thực để sớm phát hiện các cuộc tấn công tượng tự như hệ thống web intrusion detection. chủ động theo dõi những request để phát hiện những điểm không bình thường, các gói tin này sẽ bị log hoặc bị loại bỏ. - sử dụng Modsecurity dưới hai hình thức Open source hoặc thương mại với nhiều hỗ trợ từ nhà cung cấp. - có khả chạy trên nhiều hệ điều hành Linux, Windows, Solaris, FreeBSD, OpenBSD, NetBSD, AIX, Mac OS X, và HP-UX. - Trung tâm của Mod_security là rule engine, nó được thiết kế để làm việc với giao thức HTTP một cách linh hoạt và mềm dẻo, dễ dàng sử dụng cho người quản trị. Ngoài ra với những người mới bắt đầu, chưa quen với việc tạo rule, Breach Security cung cấp một tập hợp các core rule đáp ứng cho những chức năng bảo vệ chung như - HTTP protection - detecting violations of the HTTP protocol and a locally defined usage policy. - Common Web Attacks Protection - detecting common web application security attack. - Automation detection - Detecting bots, crawlers, scanners and other surface malicious activity. - Trojan Protection - Detecting access to Trojans horses. - Error Hiding - Disguising error messages sent by the server. bạn có thể dowload tại http://www.modsecurity.org/projects/rules/. Processing phase Modsecurity cho phép bạn đặt rule tại một trong năm thời điểm trong chu kỳ xử lý của Apache như sau ![]() Phase Request Header rule được đặt tại đây sẽ được thực hiện ngay say khi Apache đọc request header, lúc này phần request bod vẫn chưa được đọc. Phase Request Body đây là thời điểm các thông tin chức năng chung đưa vào vào được phân tích và xem xét, các rule mang tính application-oriented thương được đặt ở đây. Ở thời điểm này bạn đã nhận đủ các request argument và phần request body đã được đọc. Modsecurity hỗ trợ ba loại mã hoá request body application/x-www-form-urlencoded dùng để truyền form dữ liệu multipart/form-data dùng để truyền file text/xml dùng để phân tich dữ liệu XML Phase Response Header đây là thời điểm ngay sau khi phần response header được gửi trả về cho client. Bạn đặt rule ở đây nếu muốn giám sát quá trình sau khi phần response được gửi đi. Phase Response Body đây là thời điểm bạn muốn kiểm tra những dữ liệu HTML gửi trả về Phase logging đây là thời điểm các hoạt động log được thực hiện, các rules đặt ở đây sẽ định rõ việc log sẽ như thế nào, nó sẽ kiểm tra các error message log của Apache. Đây cung là thời điểm cuối cùng để bạn chặn các connection không mong muốn, kiểm tra các response header mà bạn không thể kiểm tra ở phase 3 và phase 4. Cài đặt Mod_security modsecurity 2.x dùng cho Apache 2.0.x hoặc cao hơn. trước khi cài đặt Modsecurity bạn phải đảm bảo các thành phần sau đã được cài đặt - mod_unique_id của Apache - libxml2 (có thể dowload tại http://xmlsoft.org/downloads.html). - lua (có thể dowload tại http://www.lua.org/download.html) - apxs (có trong gói develope của apache). dừng dịch vụ apache /etc/init.d/httpd stop giải nén ModSecurity (có thể dowload tại http://www.modsecurity.org/download/index.html) tar xzvf modsecurity-apache_2.5.7.tar.gz chuyển vào thư mục mà bạn vừa giải nén và chạy script config ./configure có thể bạn phải chỉ rõ đường dẫn đến apxs ./ config –with-apxs=/path/to/apxs cuối cùng là thực hiện ./make ./make install sau khi compile được file mod_security2.so bạn copy nó vào thư mục /lib/modules của apache. trước khi sử dụng modules mod_security2.so bạn phải load hai file thư viện libxml2 và lua. LoadFile /usr/lib/libxml2.so LoadFile /usr/lib/liblua5.1.so và load module mod_security2.so LoadModule security2_module modules/mod_security2.so các dòng trên bạn có thể thêm vào trực tiếp vào trong file httpd.conf hoặc đặt trong một file cấu hình riêng tuỳ theo mục đích và nhu cầu của người quản trị, hoạt động của mod_security dựa trên các rule được xây dựng từ các directive. Bạn có thể đặt các directive tại các vị trí VirtualHost, Location, LocationMatch, Directory trong file cấu hình chính của Apache (httpd.conf) tuy nhiên bạn nên đặt chúng trong một file cấu hình riêng(thuận lợi cho việc quản lý) và gọi nó từ file cấu hình chính (httpd.conf) thông qua include. sau đây là một số directive cơ bản thường dùng. Active mod_security SecRuleEngine On xác định những thành phần HTTP cần phải kiểm tra, giới hạn phần response body (có tác dụng chống Dos) SecRequestBodyAccess On SecResponseBodyAccess On SecResponseBodyMimeType (null) text/html text/plain text/xml SecResponseBodyLimit 524288 khởi tạo XML processor khi bạn muôn phân tích các xml request SecRule REQUEST_HEADERS:Content-Type "text/xml" \ "phase:1,pass,nolog,ctl:requestBodyProcessor=XML" Đạt ký tự danh định cho web server SecServerSignature "Apache/2.2.0 (CentOS)" cấu hình log engine SecAuditEngine RelevantOnly chỉ ra đường dẫn đến file log SecAuditLog logs/audit/audit.log chỉ ra thư mục chứa file log SecAuditLogStorageDir logs/audit xác định những thành phần cần log SecAuditLogParts ABCFHZ xác định kiểu log SecAuditLogType Serial Tin mới hơn:
Tin cũ hơn:
|