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,24 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ÊN CỨU CÁC GIẢI PHÁP MULTIHOSTING CHO CÁC DỊCH VỤ HỖ TRỢ VIRTUAL HOST AN TOÀN VÀ BẢO MẬ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ên cứu riêng tơi 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ên cứ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ở để tơi hồ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 tơi thời gian thực luận văn Những Thầy hướng dẫn, bảo cho 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ên cứ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ác dịch vụ 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ả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 14 1.5.3 Giới thiệu Rules ModSecurity 16 CHƯƠNG 2: GIẢI PHÁP ĐỀ XUẤT ĐỂ ĐẢM BẢO AN TOÀN BẢO MẬT CHO 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ảo an tồn bảo mật cho 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 virtual host 26 Hình 15 Script tạo virtual host 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ịch vụ 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ịch vụ multiple hosting đảm bảo việc truy cập vào website an toàn bảo mậ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ịch vụ đế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 ngun 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 Virtual Host 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ảo mậ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 virtual host • Một máy chủ với virtual host phần mềm quản lý • Nhiều máy chủ với virtual host 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ác dịch vụ 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: • 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 cho dịch vụ họ o Dung lượng ổ cứng: dung lượng ổ cứng mà người dùng yêu cầu cho dịch vụ 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ịch vụ 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ịch vụ 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ịch vụ quản lý quyền truy cập quyền tương ứng o Đảm bảo liệu an toàn bảo mật: nhà cung cấp dịch vụ phải đảm bảo an toàn liệu người dùng Hơn nữa, nhà cung cấp dịch vụ 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 Virtual host á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, virtual host 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ủ Virtual host đả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ải pháp MultiHosting, VirtualHost • Cài đặt làm chủ HĐH Linux công cụ Nginx (hoặc/và Apache) để triển khai giải pháp Multihosting với Virtual Host 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ứu giải pháp MultiHosting cho dịch vụ hỗ trợ Virtual Host an toàn bả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ịn 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 hồn thiện nội dung sau: • Nghiên cứu lỗ hổng ứng dụng web khác, lỗ hổng phát Heartbleed, Shellshock, POODLE… • Nghiên cứu sử dụng ModSecurity giải pháp khác để chống lại kiểu cơng • Nghiên cứu sử dụng ModSecurity cho web server khác • Nghiên cứ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 ... ứng yêu cầu đặt ban đầu luận văn ? ?Nghiên cứu giải pháp MultiHosting cho dịch vụ hỗ trợ Virtual Host an toàn bả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... 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... bắt cơng nghệ, cơng cụ giải pháp MultiHosting, VirtualHost • Cài đặt làm chủ HĐH Linux công cụ Nginx (hoặc /và Apache) để triển khai giải pháp Multihosting với Virtual Host sử dụng Reverse Proxy