Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
1,11 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN THANH TÙNG NGHIÊNCỨUCÁCGIẢIPHÁPMULTIHOSTINGCHOCÁCDỊCHVỤHỖTRỢVIRTUALHOSTANTOÀNVÀBẢOMẬT LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Hà Quốc Trung Hà Nội – Năm 2015 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiêncứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác Tôi xin cam đoan giúp đỡ cho việc thực luận văn cảm ơn thông tin trích dẫn luận văn rõ nguồn gốc Tác giả luận văn xin chịu trách nhiệm nghiêncứu Học viên thực luận văn Nguyễn Thanh Tùng LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn đến tất quý thầy cô giảng dạy chương trình Cao học Công nghệ thông tin khóa CH2013B – Viện Công nghệ thông tin Truyền thông – Đại học Bách khoa Hà Nội Các thầy cô truyền đạt cho kiến thức hữu ích làm sở để hoàn thành luận văn Tôi xin chân thành cảm ơn PGS.TS Hà Quốc Trung tận tình hướng dẫn cho thời gian thực luận văn Những Thầy hướng dẫn, bảocho thêm nhiều kiến thức thời gian thực luận văn Sau xin gửi lời biết ơn sâu sắc đến gia đình tạo điều kiện tốt cho suốt trình học thực luận văn Do thời gian có hạn kinh nghiệm nghiêncứu chưa nhiều nên luận văn không tránh khỏi thiếu sót, mong nhận ý kiến đóng góp thầy/cô anh chị học viên Học viên thực luận văn Nguyễn Thanh Tùng MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ CHƯƠNG 1: CÁC MÔ HÌNH WEB HOSTING 1.1 Định nghĩa 1.2 Cácdịchvụ web hosting 1.3 Các mô hình web hosting 1.3.1 Một máy chủ với máy ảo 1.3.2 Một máy chủ, máy ảo phần mềm quản lý 1.3.3 Nhiều máy chủ phần mềm quản lý máy ảo 1.3.4 Mô hình sử dụng proxy ngược 1.3.5 Mô hình lai 10 1.4 Các vấn đề bảomật web hosting 12 1.5 Sử dụng ModSecurity đảm bảoantoànbảomậtcho web hosting 14 1.5.1 Giới thiệu ModSecurity 14 1.5.2 Các khả ModSecurity 14 1.5.3 Giới thiệu Rules ModSecurity 16 CHƯƠNG 2: GIẢIPHÁP ĐỀ XUẤT ĐỂ ĐẢM BẢOANTOÀNBẢOMẬTCHO WEB HOSTING 20 2.1 Mô hình đề xuất 20 2.2 Các thành phần mô hình 20 2.3 Hoạt động mô hình 23 2.4 Xây dựng hệ thống phần mềm 26 CHƯƠNG 3: XÂY DỰNG HỆ THỐNG THỬ NGHIỆM 31 3.1 Môi trường thử nghiệm 31 3.2 Kịch thử nghiệm 31 3.2.1 Web Application Firewall 31 3.2.2 Reverse Proxy 31 3.2.3 Software Management 32 3.3 Kết thử nghiệm 32 3.3.1 Web Application Firewall 32 3.3.2 Reverse Proxy 33 3.3.3 Software Management 33 KẾT LUẬN 34 4.1 Những kết đạt 34 4.2 Định hướng phát triển 34 TÀI LIỆU THAM KHẢO 35 PHỤ LỤC 36 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Từ viết tắt Ý nghĩa WAF Web Application Firewall – tường lửa ứng dụng web XSS Cross Site Scripting – kiểu công chèn script độc hại SQLI SQL Injection – kiểu công lợi dụng lỗ hổng SQL CPANEL Control Panel – phần mềm quản lý web hosting DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình Mô hình với máy chủ Hình Mô hình máy chủ, máy ảo phần mềm quản lý Hình Mô hình máy chủ, máy ảo phần mềm quản lý Hình Mô hình sử dụng proxy ngược 10 Hình Mô hình lai 11 Hình Quá trình xử lý request Apache ModSecurity 15 Hình Các biểu thức quy thường sử dụng 18 Hình Siêu ký tự thường sử dụng biểu thức quy 18 Hình Mô hình đề xuất đảm bảoantoànbảomậtcho web hosting 20 Hình 10 Mô hình hệ thống Tường lửa ứng dụng Web (WAF) 21 Hình 11 Mô hình Proxy ngược 22 Hình 12 Hoạt động Web Application Firewall 23 Hình 13 Hoạt động Reverse Proxy 24 Hình 14 Template virtualhost 26 Hình 15 Script tạo virtualhost 27 Hình 16 Bảng chứa thông tin domain 28 Hình 17 Bảng tạm kiểm tra xử lý domain 28 Hình 18 Kết thử nghiệm Web Application Firewall 32 Hình 19 Kết thử nghiệm Reverse Proxy 33 Hình 20 Kết thử nghiệm Software Management 33 CHƯƠNG 1: CÁC MÔ HÌNH WEB HOSTING 1.1 Định nghĩa Web hosting dịchvụ cung cấp khả lưu trữ, ứng dụng cung cấp chức tải lên/tải xuống giúp người dùng cập nhật ứng dụng trang web họCác ứng dụng phổ biến như: PHP, NET, Python, Cold Fusion, JSP, …LAMP (Linux, Apache, MySQL and PHP) sử dụng phổ biến cho trang web động Nhà cung cấp dịchvụ multiple hosting đảm bảo việc truy cập vào website antoànbảomật Khả lưu trữ, băng thông khả xử lý giới hạn để giúp nhà cung cấp hosting cung cấp dịchvụ đến cho khách hàng khác Trong thực tế, tài nguyên quan trọng thường giới hạn là: • Tài nguyên phần cứng: băng thông, dung lượng ổ cứng lưu trữ, khả xử lý (Cpu Ram) • Tài nguyên mạng: hạn chế số lượng địa IP, hạn chế số lượng tên miền Mô hình đơn giản sử dụng kỹ thuật VirtualHost phần mềm máy chủ web mà cho phép nhiều tên miền sử dụng chung địa IP nằm máy Mô hình gây số khó khăn việc quản lý tài khoản, quản lý phân quyền quản lý bảomật hệ thống Một số thành phần kiến trúc thêm vào mô hình để giải vấn đề vừa nêu Có năm mô hình đề xuất sau: • Một máy chủ với virtualhost • Một máy chủ với virtualhost phần mềm quản lý • Nhiều máy chủ với virtualhost phần mềm quản lý • Nhiều máy chủ sử dụng proxy ngược • Mô hình lai 1.2 Cácdịchvụ web hosting Dựa việc khảo sát nhà cung cấp web hosting tiếng giới, có số tính cung cấp sau: • Yêu cầu mặt định lượng: o Băng thông: lưu lượng mạng mà người dùng yêu cầu chodịchvụhọ o Dung lượng ổ cứng: dung lượng ổ cứng mà người dùng yêu cầu chodịchvụhọ o Hệ điều hành phần mềm: hệ điều hành (Windows, Linux, like-Unix,…) phần mềm mà người dùng cần cài đặt để cung cấp dịchvụ mong muốn • Yêu cầu mặt chức năng: o Cập nhật code liệu: nhà cung cấp dịchvụ phải đảm bảo người dùng đẩy code liệu lên, chí người truy cập đẩy liệu lên nhà cung cấp dịchvụ quản lý quyền truy cập quyền tương ứng o Đảm bảo liệu antoànbảo mật: nhà cung cấp dịchvụ phải đảm bảoantoàn liệu người dùng Hơn nữa, nhà cung cấp dịchvụ cần phải cung cấp kỹ thuật lưu dự phòng cho phép người dùng lưu liệu nơi khác o Quản trị: đảm bảo vai trò người quản trị: quản lý tên miền; theo dõi tên miền sử dụng; chặn tên miền chúng bị nhiễm mã độc có dấu công tên miền khác 1.3 Các mô hình web hosting 1.3.1 Một máy chủ với máy ảo Virtualhost ánh xạ từ tên miền đến thư mục tương ứng (chứa code web), người dùng truy cập tên miền, virtualhost phân tích tên miền truy cập đến thư mục tương ứng Hình Mô hình với máy chủ Virtualhost đảm bảo người dùng tải lên tập tin thư mục theo ba cách sau: • Truy cập trực tiếp đến thiết bị máy chủ • FTP • WWW Các công cụ quản trị phức tạp cần tự động hóa phải dễ dàng quản lý sử dụng dẫn đến nhu cầu cần có phần mềm quản lý mà giới thiệu mô hình 1.3.2 Một máy chủ, máy ảo phần mềm quản lý Mô hình sử dụng phần mềm quản lý cho phép quản lý tất máy ảo máy chủ vật lý tên miền • Bước 3: Tạo ghi DNS gán tên miền web site vừa tạo địa máy chủ Reverse Proxy • Bước 4: Tiến hành truy cập website tên miền thành công 3.2.3 Software Management Sử dụng IPSConfig để quản lý tài nguyên máy chủ dịch vụ, kịch thử nghiệm sau: • Bước 1: Trên master tạo web site tài khoản truy cập có giới hạn tài nguyên truy cập sử dụng: tạo cấp phát tài nguyên cho website, tạo database cho website, tạo tài khoản FTP, tạo tài khoản SSH • Bước 2: Kiểm tra tài khoản trước chuyển cho Developer: tài khoản kết nối thành công đến host chứa web site, tài khoản sau truy cập có quyền giới hạn cấp • Bước 3: Chuyển tài khoản cho Developer • Bước 4: Developer sử dụng tài khoản cấp upload nội dung (code database) web site lên • Bước 5: Kiểm tra truy cập web site nhận nội dung 3.3 Kết thử nghiệm 3.3.1 Web Application Firewall Kết thử nghiệm thể qua bảng sau: Web Site Security Hole ModSecurity Exploit Vulnerabilities http://sqli/dienthoai/index.php SQL Injection On Error http://xss XSS On Error Directory On Error http://directory/directory/index.php Traversal Hình 18 Kết thử nghiệm Web Application Firewall Chi tiết cụ thể trình thử nghiệm trình bày phụ lục 32 3.3.2 Reverse Proxy Kết thử nghiệm thể bảng sau: Domain IP Public Name (IP of Reverse Proxy) test1.com.vn 10.7.0.253 Web Hosting Folder Web Connect Success slave1 /var/www/test1.com yes /var/www/test2.com yes /var/www/test3.com yes (10.7.0.251) test2.com.vn 10.7.0.253 slave1 (10.7.0.251) test3.com.vn 10.7.0.253 slave3 (10.7.0.211) Hình 19 Kết thử nghiệm Reverse Proxy 3.3.3 Software Management Kết thử nghiệm thể bảng sau: Master Slave Create Client connect Resources Account success to Slave Limit Slave SSH yes yes (Web Server 1: FTP ISPConfig Master 10.7.0.251) MYSQL (10.7.0.250) Slave Create yes yes (Database Server: databases 10.7.0.252) for Slave1, yes yes Slave2 Slave SSH (Web Server 2: FTP 10.7.0.211) MYSQL Hình 20 Kết thử nghiệm Software Management Chi tiết cụ thể trình thử nghiệm trình bày phụ lục 33 KẾT LUẬN 4.1 Những kết đạt Sau hoàn thành, luận văn đạt kết sau: • Tìm hiểu tổng quan lỗ hổng an ninh web site • Nắm bắt công nghệ, công cụ giảipháp MultiHosting, VirtualHost • Cài đặt làm chủ HĐH Linux công cụ Nginx (hoặc/và Apache) để triển khai giảiphápMultihosting với VirtualHost sử dụng Reverse Proxy • Hệ thống thử nghiệm sử dụng phần mềm VMWare ESXi ISPConfig Những kết đạt đáp ứng yêu cầu đặt ban đầu luận văn “Nghiên cứugiảiphápMultiHostingchodịchvụhỗtrợVirtualHostantoànbảo mật” 4.2 Định hướng phát triển Luận văn đáp ứng yêu cầu đặt ban đầu Tuy nhiên điều kiện hạn chế thời gian tài liệu nên kết đạt chưa thể tìm hiểu thử nghiệm phòng chống lỗ hổng ứng dụng web nay, thêm vào việc sử dụng Reverse proxy phần mềm quản lý có giới hạn Trong thời gian tới, có điều kiện, luận văn tiếp tục phát triển hoàn thiện nội dung sau: • Nghiêncứu lỗ hổng ứng dụng web khác, lỗ hổng phát Heartbleed, Shellshock, POODLE… • Nghiêncứu sử dụng ModSecurity giảipháp khác để chống lại kiểu công • Nghiêncứu sử dụng ModSecurity cho web server khác • Nghiêncứu thêm mô hình cpanel cho web hosting: chẳng hạn với ISPConfig mô hình Mirror 34 TÀI LIỆU THAM KHẢO Magnus Mischel (November 2009), ModSecurity 2.5 - Securing your Apache installation and web applications, Published by Packt Publishing Ltd Ivan Ristic (2009), MODSECURITY HANDBOOK - The Complete Guide to Securing Your Web Applications, Feisty Duck OWASP (2013), The Ten Most Critical Web Application Security Risks, OWASP Foundation, Los Angeles https://www.owasp.org/index.php/Main_Page https://github.com/SpiderLabs/ModSecurity/wiki Falko Timme (2013), ISPConfig Manual ,Version 1.4 for ISPConfig 3.0.5 https://www.howtoforge.com/ 35 PHỤ LỤC Phụ lục 1: Chi tiết kết thử nghiệm Web Application Firewall Trang web thử nghiệm SQL Injection trang web đơn giản hiển thị thông tin loại điện thoại di động sử dụng ngôn ngữ PHP kết nối với sở liệu MySQL Tiến hành khai thác lỗ hổng SQL Injection, lấy thông tin nhạy cảm sở liệu: 36 Trang web thử nghiệm XSS trang đơn giản viết PHP nhằm hiển thị thông tin mà người dùng nhập vào Về giống form thường dùng chức tìm kiếm thường thấy nay: Tìm kiếm lỗ hổng XSS cách thay đổi giá trị biến đầu vào liệu đặc biệt: 37 Lỗ hổng XSS cho phép thực thi script máy người dùng, hacker chèn đoạn script độc hại vào link lừa người dùng click vào nhằm cài đặt mã độc, lấy trộm cookie người dùng 38 Trang web thử nghiệm Directory Traversal trang đơn giản sử dụng hàm include PHP để hiển thị file nội dung thành phần: 39 Khi người dùng click vào link có dạng: http://directory/directory/index.php?file=football.php webserver nạp trang football.php lên hiển thị Nếu biến đầu vào file không xử lý kĩ tồn lỗ hổng Directory Traversal Có thể thay đổi biến đầu vào nội dung đặc biệt để hiển thị file khác hệ thống: 40 Sau tiến hành cài đặt ModSecurity, ta tiến hành bật chức lên, ví dụ cho trang web thử nghiệm lỗ hổng Directory Traversal (các trang web thử nghiệm khác tương tự): 41 Sau thử nghiệm khai thác lỗ hổng lần theo kịch thấy báo lỗi lập tức: Kiểm tra log máy chủ thấy việc khai thác lỗ hổng bị ModSecurity chặn lại: Thực truy cập web site lần thấy web site hoạt động bình thường sau bật tính ModSecurity lên 42 Phụ lục 2: Chi tiết kết thử nghiệm Software Management Tiến hành tạo client gán cho server slave 1: Tiến hành tạo web site server slave gán cho client tạo: 43 Tiến hành tạo user SSH cho web site tạo: Sau tạo thành công ta user có tên tungnt12: 44 Thử ssh đến server slave user này, kiểm tra số lệnh ta thấy user ssh có quyền thư mục chứa code web web site test1.com: Tiếp tục kiểm tra việc tạo tài khoản FTP cho web site test1.com: 45 Thử sử dụng filezilla kết nối đến: thấy user ftp có quyền thư mục chứa code web web site test1.com: 46 ... sử dụng mô hình lai với kiến trúc sau để đảm bảo an toàn bảo mật cho web hosting: Hình Mô hình đề xuất đảm bảo an toàn bảo mật cho web hosting 2.2 Các thành phần mô hình Mô hình đề xuất bao gồm... gửi cho người truy cập Vì vậy, phải cẩn thận không action trái quy định truyền vào rule phase 19 CHƯƠNG 2: GIẢI PHÁP ĐỀ XUẤT ĐỂ ĐẢM BẢO AN TOÀN BẢO MẬT CHO WEB HOSTING 2.1 Mô hình đề xuất Dựa vào... 10 1.4 Các vấn đề bảo mật web hosting 12 1.5 Sử dụng ModSecurity đảm bảo an toàn bảo mật cho web hosting 14 1.5.1 Giới thiệu ModSecurity 14 1.5.2 Các khả ModSecurity