Bảo mật web server Apache với mod Security - part 1

magicvn

Internship/Fresher
Aug 10, 2014
22
1
0
Bảo mật web server Apache với mod Security

Giới thiệu:
Mod_security là một opensource web application firewall được Ivan Ristic phá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ều năm làm việc như một developer, system architect, technical director trong phát triển phần mềm. Ông là người sáng lập ra công ty ThinkingStone làm các dịch vụ 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ài ra 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à load thêm mod_unique_id.so
Cài đặt thư viện
Code:
yum install gcc gcc-c++ httpd-devel libxml2-devel pcre-devel curl-devel apr-devel

Load module
mod_unique_id.so
- mod_unique_id : module của apache có nhiệm vụ phát sinh một unique indentifier cho mỗi HTTP request (xem thêm tại http://httpd.apache.org/docs/2.0/mod/mod...e_id.html) . Module này thường được compile sẵn khi ta build apache , để sử dụng được cần phải load module này lên trong file httpd.conf . Mở file httpd.conf và thêm vào dòng sau ở phần LoadModule :
Code:
[I]LoadModule unique_id_module modules/mod_unique_id.so[/I]

Download và giải nén source code :
- Download phiên bản stable mới nhất tại http://modsecurity.org/download/
Code:
[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 :
Code:
[root@hungn src]# ls
debug  kernels  modsecurity-apache_2.6.0.tar.gz
[root@hungn src]# tar -xvzf 'modsecurity-apache_2.6.0.tar.gz'
Restart httpd và kiểm tra lại :
Code:
[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 :
Code:
[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 install

Tí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ủa apache :

Code:
[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 :

Code:
LoadModule security2_module modules/mod_security2.so

Restart httpd và kiểm tra lại :
Code:
[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 file httpd.conf. Nhưng để cho rõ ràng và đảm bảo không sai sót trong quá trình thực hiệ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/

Code:
#vi /etc/httpd/conf.d/modsecurity.conf

Thêm vào các thông số cấu hình cơ bản

Code:
<IfModule security2_module>   
 # 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" "phase:1,id:52,t:none,t:urlDecode,t:lowercase,t:normalizePath"
 </IfModule>
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 2 floder trong thư mục web, joomla và upload chẳng hạn. Khi chúng ta truy cập và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ình thường
Còn khi truy cập vào upload thì trình duyệt báo lỗi :

404 – Forbidden

Đó 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
 

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu