Thông tin tài liệu:
Mod_security là một opensource web application firewall được Ivan Risticphát triển dành cho Apache Web Server. Ivan Ristic là tác giả quyển sách.Ông làmột người có rất nhiều kinh nghiệm trong bảo vệ Apache Web Server. Ông đãcó nhiều thời gian nghiên cứu Web Application Security, Web Intrusion Detection,và Security Patterns.
Nội dung trích xuất từ tài liệu:
Bảo mật web server Apache với mod Security Bảo mật web server Apache với mod SecurityGiới thiệu: Mod_security là một opensource web application firewall được Ivan Risticphát triển dành cho Apache Web Server. Ivan Ristic là tác giả quyển sách.Ông làmột người có rất nhiều kinh nghiệm trong bảo vệ Apache Web Server. Ông đãcó nhiều thời gian nghiên cứu Web Application Security, Web Intrusion Detection,và Security Patterns. Trước khi chuyển sang lĩnh vực security, Ivan đã có nhiềunăm làm việc như một developer, system architect, technical director trong pháttriển phần mềm. Ông là người sáng lập ra công ty ThinkingStone làm các dịchvụ liên quan đến web application security. Hiện tại mod_security sử dụng giấy phép GPL, hoàn toàn miễn phí. Ngoàira nếu muốn có sự hỗ trợ thì bạn có thể mua nó tại công ty ThinkingStone củaông (http://www.thinkingstone.com)Các tính năng của mod_security Logging traffic HTTP • Real-Time Monitoring and attack Detection • Attack Prevention and just in time patching • Flexible rule engine • Embedded-mode Deployment • Network-based Deployment • Licensing •Cài đặt và cấu hình mod_security:Trước khi cài đặt chúng ta cần cài các thư các thư viện apxs, libxml2 và loadthêm mod_unique_id.soCài đặt thư việnyum install httpd-devel libxml2-devel pcre-devel curl-devel apr-develLoad module mod_unique_id.so- mod_unique_id : module của apache có nhiệm vụ phát sinh một uniqueindentifier cho mỗi HTTP request (xem thêm tạihttp://httpd.apache.org/docs/2.0/mod/mod...e_id.html) . Module này thường đượccompile sẵn khi ta build apache , để sử dụng được cần phải load module này lêntrong file httpd.conf . Mở file httpd.conf và thêm vào dòng sau ở phầnLoadModule :LoadModule unique_id_module modules/mod_unique_id.so Download và giải nén source code :- Download phiên bản stable mới nhất tại http://modsecurity.org/download/[root@hungn src]# cd /usr/src[root@hungn src]# wget http://www.modsecurity.org/download/modsecurity-apache_2.6.0.tar.gz- Giải nén file vừa download :[root@hungn src]# lsdebug kernels modsecurity-apache_2.6.0.tar.gz[root@hungn src]# tar -xvzf modsecurity-apache_2.6.0.tar.gzRestart httpd và kiểm tra lại : [root@hungn src]# httpd -t -D DUMP_MODULES...unique_id_module (shared)...Compile source code :- cd vào thư mục chứa source code đã giải nén ở bước 1 :[root@hungn /]# cd /usr/src/modsecurity-apache_2.6.0[root@hungn modsecurity-apache_2.6.0]# ./configure[root@hungn modsecurity-apache_2.6.0]# make[root@hungn modsecurity-apache_2.6.0]# make installTích hợp mod_sec vào apache :- Khi make xong sẽ tạo ra file mod_security2.so ở thư mục modsecurity-apache_2.6.0/apache2/.libs . Bạn cần copy file này bỏ vào thư mục modules củaapache :[root@hungn modsecurity-apache_2.6.0]# cp apache2/.libs/mod_security2.so/etc/httpd/modules- Thêm dòng sau vào file httpd.conf để load module mod_sec lên :LoadModule security2_module modules/mod_security2.soRestart httpd và kiểm tra lại : [root@hungn /]# httpd -t -D DUMP_MODULES...security2_module (shared)...Tạo file config :Chúng ta có thể cấu hình trực tiếp các thông số và rule của ModSecurity vào filehttpd.conf. Nhưng để cho rõ ràng và đảm bảo không sai sót trong quá trình thựchiện - gây ảnh hưởng Apache, Chúng ta nên tạo một file cấu hình riêng và sau đóinclude vào.Trong CentOS các file cấu hình riêng mặc định chứa trong /etc/httpd/conf.d/#vi /etc/httpd/conf.d/modsecurity.confThêm vào các thông số cấu hình cơ bản # Bat che do loc cua Modsecurity SecRuleEngine On # Thiet lap action mac dinh SecDefaultAction phase:2,deny,log,status:404 # rule thu nghiem block tat ca request co uri chua upload SecRule REQUEST_URI upload Kiểm tra hoạt động :Thực hiện thử nghiệm để kiểm tra hoạt động của ModSecurity. Tiến hành tạo 2floder trong thư mục web, joomla và upload chẳng hạn. Khi chúng ta truy cậpvào khi chúng ta truy câp vào thư mục joomla thì trình duyệt trả về kết quả bìnhthườngCòn khi truy cập vào upload thì trình duyệt báo lỗi :Đó là kết quả do ModSecurity đã chặn những URI có chứa chuỗi upload và cũngđồng nghĩa với việc ModSecurity đã hoạt động.Cấu trúc của rulesSecRule VARIABLES OPERATOR [ACTIONS]Variables:REMOTE_ADDR : Địa chỉ IP của clientREMOTE_HOST : hostname của client (nếu tồn tại)REMOTE_USER : Authenticated username (nếu tồn tại)REMOTE_IDENT : Remote Username (lấy từ inetd, ít dùng)REQUEST_METHOD : Request Method (GET, HEAD, POST..)SCRIPT_FILENAME : Đường dẫn đầy đủ của script được thực thiPATH_INFO : Phần mở rộng của URI phía sau tên của một script, ví dụ: /archive.php/5 thì PATH_INFO là /5QUERY_STRING : URI phía sau dấu ?. Ví dụ /index.php?i=1 thì QUERY_STRING là i=1AUTH_TYPE : Basic hoặc Digest AuthenticationDOCUMENT_ROOT : đường dẫn đến documentrootSERVER_ADMIN : email của Server Administrator ...