ứng dụng biểu thức chính quy trong bảo mật web

95 207 0
ứng dụng biểu thức chính quy trong bảo mật web

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG ỨNG DỤNG BIỂU THỨC CHÍNH QUY TRONG BẢO MẬT WEB S K C 0 9 MÃ SỐ: T2011 - 97 S KC 0 3 Tp Hồ Chí Minh, 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƢỜNG ỨNG DỤNG BIỂU THỨC CHÍNH QUY TRONG BẢO MẬT WEB Mã số: T2011-97 Chủ nhiệm đề tài: GVC Ths NGUYỄN MINH ĐẠO TP HCM, 11/2011 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƢỜNG ỨNG DỤNG BIỂU THỨC CHÍNH QUY TRONG BẢO MẬT WEB Mã số: T2011-97 Chủ nhiệm đề tài: GVC ThS NGUYỄN MINH ĐẠO Thành viên đề tài: GVC ThS NGUYỄN MINH ĐẠO TP HCM, 11/2011 MỤC LỤC PHẦN MỞ ĐẦU 10 Tính cấp thiết đề tài Đặt vấn đề Giải vấn đề Mục Tiêu đề tài PHẦN THỨ 1: TÌM HIỂU VỀ CƠ SỞ LÝ THUYẾT BẢO MẬT CHƢƠNG 1: TỔNG QUAN VỀ TÌNH HÌNH AN NINH MẠNG 1.1 NHỮNG ĐẶC ĐIỂM VÀ XU HƢỚNG AN NINH MẠNG 1.1.1 Đặc điểm tình hình an ninh mạng năm gần 1.1.2 Những xu hƣớng thách thức an toàn mạng 1.1.3 Những vấn đề lỗ hổng Website 1.2 VẤN ĐỀ BẢO MẬT WEBSITE CHƢƠNG 2: LÝ THUYẾT VỀ WEBSITE VÀ BẢO MẬT WEBSITE 10 2.1 WEB SERVER 10 2.1.1 Webserver gì? 10 2.1.2 Cơ chế hoạt động Webserver 11 2.2 WEB APPLICATION 17 2.2.1 Web application gì? 17 2.2.2 Cấu trúc Web Application? 17 2.2.3 Các ứng dụng Web lợi ích? 18 2.3 CÁC LỖ HỔNG WEB 21 2.3.1 Cross-Site Scripting (XSS) 21 2.3.1.1 Cross-Site Scripting ? 21 2.3.1.3 Khai thác lỗi XSS 24 2.3.1.4 Cách phát XSS: 2Error! Bookmark not defined 2.3.1.5 Các biện pháp ngăn ngừa XSS 27 2.3.2 Session hijacking (Bắt cóc phiên nối): 28 2.3.2.1 Session hijacking lớp mạng (TCP Session hijacking): 28 2.3.2.2 Session hijacking: 29 2.3.2.3 Session ID 29 2.3.2.4 Cookie? 29 2.3.3 SQL Injection : 30 2.3.3.1 SQL Injection gì? 30 2.3.3.2 Hoạt động SQL Injection 31 2.3.3.3 Dò tìm lỗ hổng SQL injection Web 32 2.3.3.4 Tại „or 1=1 by pass 32 2.3.3.5 Nhận data qua „database using ODBC error message‟ 33 2.3.3.6 Thu thập liệu quan trọng 34 2.3.3.7 Ngăn chặn lỗi SQL Injection 35 2.3.4 Web Shell 35 2.3.4.1 Giới thiệu Shell 35 2.3.4.2 Cách hoạt động Shell 36 2.3.4.3 Chức Shell 36 2.3.4.4 Dùng shell để công (Local Attack) 36 2.3.5 Path Traversal 40 2.3.5.1 Path Traversal gì? 40 2.3.5.2 Khai thác Path Traversal 40 2.3.5.3 Phòng chống Path Traversal 42 2.3.6 Tấn công từ chối dịch vụ (Dos &DDoS) 43 CHƢƠNG 3: TỔNG QUAN VỀ MODSECURITY 45 3.1 TỔNG QUAN TƢỜNG LỬA ỨNG DỤNG 45 3.1.1 Tổng quan tƣờng lửa ứng dụng tƣờng lửa 45 3.1.2.1 Công nghệ Proxy services 46 3.1.2.2 Công nghệ máy chủ ủy quyền chuyên biệt 47 3.1.2.3 Công nghệ hỗn hợp 47 3.2 MODSECURITY 48 3.2.1 Giới thiệu chung Modsecurity 48 3.2.2.Các tính vai trò Modsecurity 49 3.2.2.1 Lọc (Filter), phân tích ghi nhật ký (log) luồng liệu HTTP 49 3.2.2.2.Giám sát theo thời gian thực phát công 51 3.2.2.3.Phòng chống công vá lỗi 51 3.2.2.4 Tính linh hoạt Ruler engine (lọc) 52 3.2.2.5 Phát triển mẫu nhúng 52 3.2.2.6.Triển khai mạng 52 3.2.3.Cách thức hoạt động Modsecurity 53 3.2.4.Kiến trúc thành phần modsecurity 53 3.2.4.1 Modsecurity core rule 53 3.2.4.1.1 Tổng quan Core rule 53 1.2.4.1.2 Nội dung Core rule 53 1.2.4.1.3 Cấu trúc Core rule 53 3.2.4.2.1 Secrule Engine 54 3.2.4.2.2 SecAction 55 3.2.4.2.3 SecRule 55 3.2.4.2.4 Các biến Rules 56 3.2.4.2.5 SecArgumentSeparator 57 3.2.4.2.6 SecAuditEngine 58 3.2.4.2.7 SecAuditLog 58 3.2.4.2.8 SecAuditLogParts 58 3.2.4.2.9 SecAuditLogRelevantStatus 59 3.2.4.2.10 SecAuditLogStorageDir 59 3.2.4.2.11 SecAuditLogType 60 3.2.4.3 Các pha xử lý 60 3.2.4.3.1 Phase Request Headers 60 3.2.4.3.2 Phase Request body 61 3.2.4.3.3 Phase Response headers 61 3.2.4.3.4 Phase Response body 61 3.2.4.3.5 Phase Logging 61 3.2.4.4 Các biến (Variables) 62 3.2.4.5 Các hàm chuyển đổi 65 3.2.4.6 Hành động (Action) 66 3.2.4.6.1 Primary Actions 66 3.2.4.6.2 Secondary Actions 67 3.2.4.6.3 Flow Action 68 3.2.4.6.4 Default Action 69 3.2.4.7 Logging 69 3.2.5 Xây dựng số Rules phát phòng chống công nguy hiểm 72 3.2.5.1 HTML Tags 72 3.2.5.2 SQL Injection 72 3.2.5.3 XSS Attack 73 3.2.5.4 Command Excution and file disclosure 73 3.2.5.5 Bad User-Agent 73 PHẦN THỨ 2: CƠ SỞ THỰC HÀNH XÂY DỰNG MODSECURITY TRÊN WEB SERVER APACHE 75 CHƢƠNG 4: CÀI ĐẶT VÀ SỬ DỤNG MODSECURITY TRÊN WEBSERVER APACHE 75 4.1 CÁC MÔ HÌNH BẢO MẬT 75 4.1.1 NON – DMZ 75 4.1.2 DMZ 78 4.1.3 Mô hình triển khai thực tế 80 4.2 CÀI ĐẶT 81 4.2.1 Cài đặt Apache2 81 4.2.2 Cài đặt PHP5 83 4.2.3 Cài đặt MySQL 86 4.2.4 Cài đặt Modsecurity 88 4.2.5 Cấu hình cho Modsecurity 95 TỔNG KẾT VÀ ĐÁNH GIÁ 98 TÀI LIỆU THAM KHẢO 99 MỤC LỤC BẢNG Bảng 1- Cấu hình thành phần triển khai 80 MỤC LỤC HÌNH Hình 1- Thống kê công Website từ nƣớc vào ViệtNam từ 2002 đến 2007 (trích dẫn nguồn VNCERT, trang 11) Hình 2- Web Server 10 Hình 3- Công nghệ Webserver Database 13 Hình 4- Công nghệ Webserver tách Database 14 Hình 5- Công nghệ giải pháp hệ thống lâu dài bền vững 15 Hình 6- Đồng liệu 16 Hình 7- Cấu trúc Web Application 18 Hình 8- Cách thức hoạt động XSS 23 Hình 9- Mô hình công DDoS 44 Hình 10- Tƣờng lửa 45 Hình 11- Mô hình tổng quan Modsecurity 48 Hinh 12- Kiểm soát HTTP Traffic 49 Hình 13- Hoạt động Modsecurity 53 Hình 14- Các pha xử lý 60 Hình 15- Mô hình NON – DMZ 75 Hình 16- Mô hình DMZ 78 Hình 17- Mô hình Modsecurity local server 80 Hình 18- Lệnh cài đặt Apache2 81 Hình 19- Chỉnh sửa file httpd.conf 82 Hình 20- Cài đặt Apache2 thành công 83 Hình 21- Cài đặt PHP5 83 Hình 22- Khởi động lại Apache 84 Hình 23- Kiểm tra hoạt động PHP 85 Hình 24- PHP hoạt động 86 Hình 25- Cài đặt MySQL 68 Hình 26- Cài đặt phpmyadmin 87 Hình 27- Phpmyadmin hoạt động 88 Hình 24- PHP hoạt động 4.2.3 Cài đặt MySQL Để cài đặt MySQL, chạy lệnh sau Terminal: sudo apt-get install mysql-server php5-mysql Hình 25- Cài đặt MySQL Trang 68 Lệnh sau cài đặt thành phần: MySQL server phần giao tiếp PHP5 MySQL Trong trình cài đặt đƣợc hỏi mật tài khoản root, phải nhớ mật để truy xuất sở liệu cần thiết Khởi động lại Apache2 để hoàn tất việc cài đặt Cài đặt trình quản lý ứng dụng phpmyadmin $ sudo apt-get install libapache2-mod-auth-mysql $ sudo apt-get install phpmyadmin Hình 26- Cài đặt phpmyadmin Trang 69 $ sudo gedit /etc/php5/apache2/php.ini Bỏ dấu comment ";extension=mysql.so" thành extension=mysql.so Mở /etc/apache2/apache2.conf thêm vào dòng Include /etc/phpmyadmin/apache.conf Mở trình duyệt lên gõ vào: http://localhost/phpmyadmin Hình 27- Phpmyadmin hoạt động 4.2.4 Cài đặt Modsecurity Trƣớc hết phải cài đặt gói sau: Code: sudo apt-get install apache2-prefork-dev libxml++2.6-dev liblua5.1-0 liblua5.1-0-dev libcurl3-dev Trang 70 Hình 28- Cài đặt Modsecurity vào trang http://www.modsecurity.org để download modsecurity Code: sử dụng phiên modsecurity-apache_2.5.13, sau download tiếp tục giải nén Code: tar xvf modsecurity-apache_2.5.13.tar.gz Trang 71 cd modsecurity-apache_2.5.13/apache2 tiến hành cài đặt Code: /configure Hình 29- Tiến hành cài đặt Trang 72 make sudo make install để load mod với apache: tạo file mod_security.load nhƣ sau: Code: cd /etc/apache2/ mods-available sudo nano /etc/apache2/mods-available/mod-security2.load Nhập vào dòng lệnh sau: Code: LoadFile /usr/lib/libxml2.so LoadFile /usr/lib/liblua5.1.so LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so Trang 73 save lại thoát Phải enable mod với apache Code: sudo ln -s /etc/apache2/mods-available/mod-security2.load /etc/apache2/mods-enabled sudo ln -s /etc/apache2/mods-available/unique_id.load /etc/apache2/mods-enabled tạo file mod_security config nhƣ sau Code: sudo nano /etc/apache2/conf.d/modsecurity2.conf Nhập vào dòng lệnh sau: Code: Include /etc/modsecurity/*.conf save thoát Trang 74 tiếp đến tạo thƣ mục cho log mod security Code: sudo mkdir /etc/modsecurity sudo mkdir /etc/modsecurity/logs sudo touch /etc/modsecurity/logs/modsec_audit.log sudo touch /etc/modsecurity/logs/modsec_debug.log với vị trí logs mod tùy chọn, để folder foder modsecurity để thuận tiện cho việc config rules triển khai Trở lại folder modsecurity giải nén chuyển đến thƣ mục rules Code: cd /home/khang/Downloads/modsecurity-apache_2.5.13/rules sudo cp *.conf /etc/modsecurity/ Tiếp đến đổi đƣờng dẫn cho log mod_security ( đƣờng dẫn tùy vào vị trí tạo ) mở file Code: nano /etc/modsecurity/modsecurity_crs_10_config.conf tìm dòng Code: SecAuditLog logs/modsec_audit.log đổi thành Code: SecAuditLog /etc/modsecurity/logs/modsec_audit.log tìm dòng Code: SecDebugLog logs/modsec_debug.log đổi thành Code: Trang 75 SecDebugLog /etc/modsecurity/logs/modsec_debug.log cuối khởi động lại apache Code: /etc/init.d/apache2 restart kiểm tra xem mod security có hoạt động không Code: curl -i http://localhost/ -A Nessus chƣa cài curl bạn dùng lệnh sau để cài Code: apt-get install curl thử lại Code: curl -i http://localhost/ -A Nessus thấy báo nhƣ thành công Hình 30- Cài đặt Modsecurity thành công 4.2.5 Cấu hình cho Modsecurity Sau cài đặt mặc định máy filtering disable (muốn dùng modsecurity phải Trang 76 bật lên) Chỉ thêm vào dòng sau file modsecurity.conf: SecRuleEngine On ( or Off , DynamicOnly ) Sau cách cấu hình cho modsecurity để hạn chế kiểu công bản: #Chống lại kiểu công thực thi lệnh: SecFilter /etc/password SecFilter /bin/ls SecRule ARGS "/etc/" t:normalisepathwin #Chống lại kiểu công Directory traversal SecFilter "\.\./" SecRule REQUEST_URI "\.\./" #Lọc kí tự hay dùng shell code SecFilterForceByteRange 32 126 #Lọc kí tự hay dùng XSS attack SecRule ARGS "" SecRule ARGS "

Ngày đăng: 04/09/2016, 14:38

Từ khóa liên quan

Mục lục

  • SKC003392 1.pdf

    • Page 1

    • SKC003392.pdf

      • SKC003392 1.pdf

        • Page 1

        • SKC003392.pdf

          • 1 BIA TRUOC bckqnckh CTRUONG.pdf

            • Page 1

            • 2 DetaiNCKH_T2011_97.pdf

            • 3 BIA SAU.pdf

              • Page 1

Tài liệu cùng người dùng

Tài liệu liên quan