Tìm hiểu giải pháp bảo vệ Web Server sử dụng Reverse ProxyHiện nay, bảo mật thông tin đang đóng một vai trò thiết yếu trong mọi hoạt động liên quan đến việc ứng dụng công nghệ thông tin. Trong đó Web Server luôn là những vùng đất màu mỡ cho các hacker tìm kiếm các thông tin giá trị hay gây rối vì một mục đích nào đó. Thời gian vừa qua, đã xảy ra hàng loạt các vụ tấn công vào hệ thống Web Server mang lại không ít phiền toái cho cả người dùng lẫn nhà cung cấp. Hiểm họa có thể là tấn công từ chối dịch vụ, quảng cáo các website có nội dung không lành mạnh, xoá, thay đổi nội dung các file hay phần mềm chứa mã nguy hiểm vv… Đây là vấn đề rất cấp bách, cần có giải pháp cụ thể để khắc phục vấn đề này. Trong đó phương pháp sử dụng Reverse Proxy là một biện pháp bảo vệ Web Server có tính khả thi cao. Reverse Proxy đứng giữa một Server và tất cả Client mà Server phải phục vụ, hoạt động như một trạm kiểm soát, các request từ Client bắt buộc phải vào Reverse Proxy. Tại Reverse Proxy sẽ kiểm soát, lọc bỏ các request không hợp lệ và luân chuyển các request hợp lệ đến đích cuối cùng là các Server. Ưu điểm của giải pháp này là chi phí để xây dựng hệ thống bảo vệ Web Server là thấp.học viện kỹ thuật mật mã
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHĨA LUẬN TỐT NGHIỆP ĐỀ TÀI: TÌM HIỂU GIẢI PHÁP BẢO VỆ WEB SERVER SỬ DỤNG REVERSE PROXY Ngành: Kỹ thuật điện tử,viễn thông Sinh viên thực hiện: Dương Hoàng Long Hà Nội - 2023 MỤC LỤC MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC HÌNH VẼ LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ WEB SERVER 1.1 Tổng quan Web Server 1.1.1 Định nghĩa Web Server 1.1.2 Nguyên lý hoạt động Web Server 1.1.3 Các giao thức bảo vệ Web Server 1.1.4 Các giao thức sử dụng Web Server 14 1.1.5 Các Web Server thông dụng 15 1.2 Các nguy an toàn Web Server 18 1.2.1 Kiểm soát truy vấn sở liệu tránh công SQL Injection 18 1.2.2 Xử lý liệu đầu vào để tránh lỗ hổng XSS 18 1.2.3 Kiểm soát file hệ thống 18 1.2.4 Kiểm tra quyền truy cập người dùng 19 1.3 Một số phương thức công Web Server 19 1.3.1 Tấn công xác thực (Authentication attacks) 19 1.3.2 HTTP Response Splitting 20 1.3.3 File Inclusion Attacks 20 1.3.4 Cross-Site Scripting 21 1.3.5 SQL Injection 22 1.3.6 Tấn công từ chối dịch vụ (DOS) 22 1.4 Một số giải pháp bảo vệ cho Web Server 25 1.4.1 Máy chủ tăng tốc bảo vệ Internet (ISA) 25 1.4.2 Bảo vệ Web Server tường lửa 26 1.4.3 Bảo vệ Web Server Reverse Proxy 28 1.5 Kết luận 29 CHƯƠNG 2: GIẢI PHÁP BẢO VỆ WEB SERVER SỬ DỤNG REVERSE PROXY 30 2.1 Tổng quan Reverse Proxy 30 2.1.1 Giới thiệu Proxy 30 2.1.2 Giới thiệu Reverse Proxy 31 2.2 Cơ chế hoạt động Reverse Proxy 32 2.2.1 Mô hình giải pháp Reverse Proxy 32 2.2.2 Cơ chế hoạt động Reverse Proxy 33 2.3 Cân tải Reverse Proxy 35 2.4 Cache Reverse Proxy 37 2.5 Lợi ích an tồn Reverse Proxy 37 2.6 Kết luận 38 CHƯƠNG 3: CẤU HÌNH VÀ CÀI ĐẶT THỬ NGHIỆM REVERSE PROXY SỬ DỤNG NGINX 39 3.1 Giới thiệu phần mềm NGINX 39 3.2 Mơ hình triển khai Nginx Reverse Proxy 41 3.3 Cài đặt cấu hình hệ thống 41 3.3.1 Tạo trang Web Web Server 41 3.3.2 Cài đặt nginx máy Reverse Proxy 42 3.4 Triển khai sử dụng Nginx để triển khai SSL/TLS cho website 44 3.5 Cài đặt ModSecurity cho Nginx Reverse Proxy 47 3.6 Kết luận 51 KẾT LUẬN 52 TÀI LIỆU THAM KHẢO 53 DANH MỤC CÁC TỪ VIẾT TẮT HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn IIS Internet Information Services Dịch vụ thông tin Internet FTP File Transfer Protocol Giao thức truyền tập tin SSL Secure Sockets Layer Tầng socket bảo mật TLS Transport Layer Security Bảo mật tầng giao vận API Application Programming Interface Giao diện lập trình ứng dụng SQL Structured Query Language Ngơn ngữ truy vấn mang tính cấu trúc HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn PHP Personal Home Page Ngơn ngữ lập trình kịch DoS Denial of Service Tấn công từ chối dịch vụ ISA Internet Acceleration and Máy chủ tăng tốc bảo mật Security Internet VPN Virtual Private Network Mạng riêng ảo DMZ Demilitarized Zone Khu phi quân WAF Web Application Firewall Tường lửa ứng dụng web URL Uniform Resource Locator Định vị tài ngun thống DANH MỤC HÌNH VẼ Hình 1.1: Mô tả phiên làm việc dịch vụ Web Hình 1.2: Cấu trúc giao thức SSL/TLS 11 Hình 1.3: Vị trí SSL/TLS mơ hình TCP/IP 12 Hình 1.4: Mơ hình hoạt động HTTPS 14 Hình 1.5: Mơ hình cơng kiểu DDoS (Distributed Denial of Service) 24 Hình 1.6: Mơ hình sử dụng phần mềm ISA 25 Hình 1.7: Mơ hình bảo vệ Web Server tường lửa 26 Hình 1.8: Mơ hình bảo vệ Web Server sử dụng Reverse Proxy 28 Hình 2.1: Mơ hình hoạt động Proxy 31 Hình 2.2: Mơ hình hoạt động Reverse Proxy 32 Hình 2.4: Mơ hình Reverse Proxy bảo vệ 32 Hình 2.5: Sơ đồ kiểm tra yêu cầu qua Reverse Proxy bảo vệ 33 Hình 2.6: Sơ đồ Reverse Proxy bỏ qua yêu cầu không hợp lệ 34 Hình 2.7: Sơ đồ cân tải Reverse Proxy 36 Hình 3.1: Sơ đồ kiến trúc Nginx 40 Hình 3.2: Mơ hình triển khai thử nghiệm Reverse Proxy Nginx 41 Hình 3.3: Nội dung trang web 42 Hình 3.4: Chỉnh sửa file host để truy cập vào trang web ductu.com 42 Hình 3.5: Giao diện trang web ductu.com 42 Hình 3.6: Cấu hình SELinux 43 Hình 3.7: Cấu hình Nginx 44 Hình 3.9: Giao diện truy cập Web Server HTTPS 46 Hình 3.10: Chứng thư số trang web ductu.com 47 Hình 3.11: Thiết lập sử dụng Modsecurity 49 Hình 3.12: Khởi động lại Nginx sau thiết lập Modsecurity 50 Hình 3.13: Trạng thái hoạt động Nginx sau thiết lập sử dụng Modsecurity 50 Hình 3.14: Ví dụ cơng lên Website 50 Hình 3.15: Thơng báo trả Website bị công 50 Hình 3.16: Nhật ký ModSecurity Website bị công 51 LỜI NĨI ĐẦU Hiện nay, bảo mật thơng tin đóng vai trị thiết yếu hoạt động liên quan đến việc ứng dụng công nghệ thông tin Trong Web Server ln vùng đất màu mỡ cho hacker tìm kiếm thơng tin giá trị hay gây rối mục đích Thời gian vừa qua, xảy hàng loạt vụ công vào hệ thống Web Server mang lại khơng phiền tối cho người dùng lẫn nhà cung cấp Hiểm họa cơng từ chối dịch vụ, quảng cáo website có nội dung khơng lành mạnh, xố, thay đổi nội dung file hay phần mềm chứa mã nguy hiểm vv… Đây vấn đề cấp bách, cần có giải pháp cụ thể để khắc phục vấn đề Trong phương pháp sử dụng Reverse Proxy biện pháp bảo vệ Web Server có tính khả thi cao Reverse Proxy đứng Server tất Client mà Server phải phục vụ, hoạt động trạm kiểm soát, request từ Client bắt buộc phải vào Reverse Proxy Tại Reverse Proxy kiểm soát, lọc bỏ request không hợp lệ luân chuyển request hợp lệ đến đích cuối Server Ưu điểm giải pháp chi phí để xây dựng hệ thống bảo vệ Web Server thấp CHƯƠNG 1: TỔNG QUAN VỀ WEB SERVER 1.1 Tổng quan Web Server 1.1.1 Định nghĩa Web Server Web Server máy chủ có dung lượng lớn, tốc độ cao, dùng để lưu trữ thông tin ngân hàng liệu, chứa website thiết kế với thông tin liên quan khác (các mã Script, chương trình, file Multimedia) Máy chủ sử dụng chương trình chạy thường trú để nhận phục vụ truy vấn http https từ máy đầu cuối Tất Web Server có địa IP (IP Address) có Domain Name Giả sử người sử dụng nhập vào Address trình duyệt máy dịng http://www.ductu.com sau gõ phím Enter, người sử dụng gửi yêu cầu đến Server có trang chủ Web www.ductu.com Server tìm trang Web có tên index.htm gửi đến trình duyệt người sử dụng Bất kỳ máy tính trở thành Web Server cách cài đặt lên chương trình phần mềm Server Software sau kết nối vào Internet Khi máy tính kết nối đến Web Server gửi đến yêu cầu truy cập thông tin từ trang Web đó, phần mềm Web Server nhận yêu cầu gửi lại thông tin mà người sử dụng mong muốn Web Server Software ứng dụng phần mềm Phần mềm Web Server cài đặt, chạy máy tính dùng làm Web Server, nhờ có chương trình mà người sử dụng truy cập đến thơng tin trang Web từ máy tính khác mạng (Internet, Intranet) Phần mềm Web Server cịn tích hợp với sở liệu (Database), hay điều khiển việc kết nối vào sở liệu để truy cập kết xuất thơng tin từ sở liệu lên trang Web truyền tải chúng đến người dùng Tất Web Server hiểu chạy file *.htm *.html, nhiên Web Server lại phục vụ số kiểu file chuyên biệt chẳng hạn IIS Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server dành cho *.jsp Phần lớn Web server sử dụng cổng 80, thay đổi để Web server cài đặt cổng không tiêu chuẩn muốn "dấu" Web server Web server đa host máy tính việc ánh xạ server cho cổng khác 1.1.2 Nguyên lý hoạt động Web Server Cơ chế hoạt động dịch vụ web điển hình mơ hình client/server Chương trình đầu client trình duyệt web ví dụ IE, Firefox, Google Chrome chương trình cuối Server trình web server (IIS WWW Service) Web server trình duyệt web giao tiếp với giao thức HTTP Khi máy client kết nối vào Internet, người dùng gõ địa trang web cần truy nhập vào trình duyệt Web Trình duyệt web tạo yêu cầu HTTP trang web gửi tới Web server Web server nhận yêu cầu, xử lý yêu cầu tạo đáp ứng HTTP gửi trả lại trình duyệt web Thơng báo dịch trình duyệt hình thành trang web tới người dùng Chi tiết phiên làm việc HTTP diễn sau: Bước 1: Trình duyệt Web tạo kết nối TCP/IP với Web server Bước 2: Trình duyệt Web thực yêu cầu trang web tới Web server; thực yêu cầu u cầu HTTP; sau gửi thơng báo tới Web server thông qua kết nối TCP/IP Bước 3: Web server nhận yêu cầu xử lý sở phương thức mà yêu cầu gửi tới sử dụng Server sau gửi trả lại đáp ứng HTTP Một phần đáp ứng gồm dòng trạng thái mô tả yêu cầu HTTP client gửi đến có đáp ứng thành cơng hay khơng Bước 4: Khi trình duyệt web nhận đáp ứng HTTP, kết nối TCP/IP bị đóng lại, phiên làm việc HTTP kết thúc Client TCP Connection Web Server HTTP Request HTTP Response Internet Explorer Connection Closed IIS WWW Service Hình 1.1: Mơ tả phiên làm việc dịch vụ Web 1.1.3 Các giao thức bảo vệ Web Server 1.1.3.1 Bộ giao thức SSL/TLS SSL (Sercure Socket Layer) giao thức an toàn làm việc tầng ứng dụng mức tầng vận tải, dùng phổ biến mạng Internet giao dịch điện tử an toàn Đến thời điểm tại, SSL có phiên sau: Hình 1.1: Bộ giao thức SSL/TLS SSL 1.0 Ra đời năm 1994, sử dụng nội Netscape Communications SSL 1.0 tồn số nhược điểm nghiêm trọng chưa sử dụng bên SSL 2.0 Được tích hợp vào Netscape Communications phiên từ 1.0 đến 2.x Với phiên SSL2.0, theo đánh giá chun gia cịn tồn số điểm yếu bảo mật như: Độ dài khóa xác thực ngắn (40bit), chế kiểm tra tính tồn vẹn liệu khơng chặt chẽ (khơng kiểm tra xác thực độ dài padding), công quay lui thuật toán,… SLL 3.0 Với phiên SSL 3.0, tồn SSL 2.0 khắc phục, ra, SSL 3.0 bổ sung số tính so với phiên trước Giao thức SSL 3.0 thông số kỹ thuật cơng bố thức vào tháng năm 1996 Nó tích hợp tất trình duyệt bao gồm Microsoft Internet Explorer 3.0, Netscape Navigator 3.0 OpenSSL 3.0 điều chỉnh IETF TLS WG TLS 1.0 Là giao thức an toàn sử dụng Internet, phát triển từ SSL3.0 vào năm 1999 Giao thức SSL (Secure Socket Layer) giao thức an toàn có sử dụng nhiều thuật tốn mật mã nhằm đảm bảo q trình trao đổi thơng tin mạng an toàn, bảo mật Việc thiết lập kênh an toàn thực mã hóa/giải mã liệu diễn cách suốt, hỗ trợ nhiều giao thức khác chạy giao thức TCP Bộ giao thức SSL/TLS cung cấp tính xác thực, bí mật toàn vẹn liệu cho giao dịch an tồn Xác thực: Đảm bảo tính xác thực nguồn gốc thơng tin tính chân thực người dùng tham gia giao dịch Bí mật: Đảm bảo tính bí mật thơng tin thơng qua việc sử dụng kỹ thuật mật mã để mã hóa thơng tin truyền nhận Tồn vẹn liệu: Đảm bảo thông tin không bị sai lệch, thay đổi trái phép trình truyền nhận Cấu trúc giao thức SSL/TLS Cấu trúc SSL/TLS mơ tả Hình 1.2 Thực chất, SSL/TLS chồng giao thức bảo mật bổ sung vào tầng ứng dụng tầng trung gian phía tầng ứng dụng, phía tầng vận tải SSL/TLS cung cấp dịch vụ an toàn cho ứng dụng sử dụng giao thức TCP/IP, ví dụ bảo mật giao dịch WEB, Email, mạng riêng ảo VPN Bộ giao thức SSL/TLS bao gồm: Giao thức SSL handshake: Thực việc thiết lập thỏa thuận tham số cho phiên truyền thông Giao thức SSL Change Cipher Spec: Thực việc trao đổi thỏa thuận tham số an toàn như: Thuật tốn mã hóa, thuật tốn Hash, khóa mật mã,… dùng cho phiên liên lạc an toàn 10