« Home « Kết quả tìm kiếm

Nghiên cứu các giải pháp MultiHosting an toàn và bảo mật cho các dịch vụ hỗ trợ Virtual Host


Tóm tắt Xem thử

- 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.
- 4 CHƯƠNG 1: CÁC MÔ HÌNH WEB HOSTING.
- 5 1.2 Các dịch vụ web hosting.
- 6 1.3 Các mô hình web hosting.
- 7 1.3.1 Một máy chủ với các máy ảo.
- 7 1.3.2 Một máy chủ, máy ảo và phần mềm quản lý.
- 7 1.3.3 Nhiều máy chủ và phần mềm quản lý máy ảo.
- 9 1.3.4 Mô hình sử dụng proxy ngược.
- 9 1.3.5 Mô hình lai.
- 10 1.4 Các vấn đề bảo mật của 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.2 Các khả năng của 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 của mô hình.
- 20 2.3 Hoạt động của mô hình.
- 23 2.4 Xây dựng hệ thống phần mềm.
- 36 2 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 tấn công chèn những script độc hại SQLI SQL Injection – kiểu tấn công lợi dụng lỗ hổng SQL CPANEL Control Panel – phần mềm quản lý web hosting 3 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.
- Mô hình với một máy chủ duy nhất.
- Mô hình một máy chủ, máy ảo và phần mềm quản lý.
- Mô hình các máy chủ, các máy ảo và phần mềm quản lý.
- Mô hình sử dụng proxy ngược.
- Mô hình lai.
- Các biểu thức chính quy thường được sử dụng.
- Siêu ký tự thường được sử dụng trong biểu thức chính quy.
- Mô hình đề xuất đảm bảo an toàn bảo mật cho web hosting.
- Mô hình của một hệ thống Tường lửa ứng dụng Web (WAF.
- Mô hình Proxy ngược.
- 33 4 CHƯƠNG 1: CÁC MÔ HÌNH WEB HOSTING 1.1 Định nghĩa Web hosting là một dịch vụ cung cấp khả năng lưu trữ, ứng dụng cung cấp chức năng tải lên/tải xuống giúp người dùng có thể cập nhật các ứng dụng và các trang web của họ.
- Các ứng dụng phổ biến nhất như: PHP, .NET, Python, Cold Fusion, JSP, …LAMP (Linux, Apache, MySQL and PHP) được sử dụng phổ biến cho các trang web động.
- Nhà cung cấp dịch vụ multiple hosting sẽ đảm bảo việc truy cập vào website là an toàn và bảo mật.
- Khả năng lưu trữ, băng thông và khả năng xử lý được giới hạn để giúp nhà cung cấp hosting có thể cung cấp dịch vụ đến cho các khách hàng khác.
- Tài nguyên mạng: hạn chế số lượng địa chỉ IP, hạn chế số lượng tên miền.
- Mô hình đơn giản nhất là sử dụng kỹ thuật Virtual Host của phần mềm máy chủ web mà cho phép nhiều tên miền cùng sử dụng chung một địa chỉ IP và nằm cùng trên một máy.
- Mô hình này sẽ gây ra một số khó khăn trong việc quản lý tài khoản, quản lý phân quyền và quản lý bảo mật của hệ thống.
- Một số thành phần và kiến trúc sẽ được thêm vào mô hình này để giải quyết các vấn đề vừa nêu trên.
- Có năm mô hình được đề xuất như sau.
- Một máy chủ với các virtual host.
- Một máy chủ với các virtual host và phần mềm quản lý.
- Nhiều máy chủ với các virtual host và phần mềm quản lý.
- Nhiều máy chủ và sử dụng proxy ngược.
- 5 1.2 Các dịch vụ web hosting Dựa trên việc khảo sát các nhà cung cấp web hosting nổi tiếng trên thế giới, có một số tính năng sẽ được cung cấp như sau.
- Yêu cầu về 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 các dịch vụ của họ.
- o Dung lượng ổ cứng: dung lượng ổ cứng mà người dùng yêu cầu cho các dịch vụ của họ.
- o Hệ điều hành và phần mềm: hệ điều hành (Windows, Linux, like-Unix.
- và các phần mềm mà người dùng cần cài đặt để cung cấp được các dịch vụ mong muốn.
- Yêu cầu về mặt chức năng: o Cập nhật code và dữ liệu: nhà cung cấp dịch vụ phải đảm bảo người dùng có thế đẩy code và dữ liệu lên, thậm chí người truy cập cũng có thể đẩy dữ liệu lên và nhà cung cấp dịch vụ sẽ quản lý quyền truy cập và các quyền tương ứng.
- o Đảm bảo dữ liệu an toàn và bảo mật: nhà cung cấp dịch vụ phải đảm bảo về sự an toàn dữ liệu của người dùng.
- Hơn nữa, nhà cung cấp dịch vụ cần phải cung cấp các kỹ thuật sao lưu dự phòng cho phép người dùng có thể sao lưu dữ liệu ở các nơi khác nhau.
- o Quản trị: đảm bảo vai trò của người quản trị: quản lý tên miền.
- theo dõi các tên miền đang được sử dụng.
- chặn các tên miền khi chúng bị nhiễm mã độc hoặc đang có dấu hiện tấn công các tên miền khác.
- 6 1.3 Các mô hình web hosting 1.3.1 Một máy chủ với các máy ảo Virtual host ánh xạ từ một tên miền đến các thư mục tương ứng (chứa code của web), khi người dùng truy cập tên miền, virtual host sẽ phân tích tên miền và truy cập đến thư mục tương ứng.
- Mô hình với một máy chủ duy nhất Virtual host đảm bảo người dùng có thể tải lên tập tin và 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 được tự động hóa và phải dễ dàng quản lý cũng như sử dụng dẫn đến nhu cầu cần có phần mềm quản lý mà sẽ được giới thiệu trong mô hình tiếp theo.
- 1.3.2 Một máy chủ, máy ảo và phần mềm quản lý Mô hình này sử dụng phần mềm quản lý cho phép chúng ta quản lý tất cả các máy ảo trên máy chủ vật lý và các tên miền.
- Mô hình một máy chủ, máy ảo và phần mềm quản lý Phần mềm này sử dụng một hệ cơ sở dữ liệu để quản lý toàn bộ user MySQL, tên miền và tài khoản FTP.
- Giờ đây các công việc quản trị rời rạc có trong mô hình đầu tiên sẽ được thực hiện thông qua phần mềm quản lý này.
- Như vậy quá trình tự động hóa đã được giải quyết (nhờ vào việc sử dụng phần mềm quản lý), tuy nhiên nó yêu cầu một cơ sở dữ liệu để quản lý tên miền, cấu hình, do đó cơ chế đồng bộ hóa sẽ giúp chúng ta có thể quản lý nhiều máy chủ, đây chính là mô hình sẽ được giới thiệu tiếp theo.
- 8 1.3.3 Nhiều máy chủ và phần mềm quản lý máy ảo Hình 3.
- Mô hình các máy chủ, các máy ảo và phần mềm quản lý Việc quản lý các máy ảo trên các máy chủ dẫn đến vấn đề cần quản lý tập trung đã được giải quyết với mô hình này.
- Với mô hình này lại xuất hiện một vấn đề liên quan đến bảo mật, đó là các máy ảo có thể bị tấn công trực tiếp khi không có bất kỳ thiết bị bảo vệ nào đứng trước, chính vì thế với mô hình tiếp theo sẽ sử dụng proxy ngược để có thể giải quyết vấn đề này.
- 1.3.4 Mô hình sử dụng proxy ngược Reverse Proxy thường được xây dựng trên một máy chủ Proxy để thực hiện nhiệm vụ public các dịch vụ bên trong ra ngoài Internet, bao gồm các Website.
- Reverse Proxy có thể giúp public dịch vụ tới người dùng với một địa chỉ URL đơn giản, dễ nhớ và sẽ chuyển hướng yêu cầu từ client đến đúng server với dịch vụ tương ứng với một địa chỉ URL đầy đủ thông tin (dài, bao gồm thông tin IP, port.
- Đứng trên góc độ bảo mật thì như vậy thông tin máy chủ public dịch vụ thật sẽ được giấu đi, hacker không thể dễ dàng có được thông tin thực về server (IP, port, ứng dụng đang chạy.
- Mô hình sử dụng proxy ngược Mỗi máy chủ web sẽ nằm trên một máy chủ riêng biệt và việc ánh xạ giữa tên miền và máy chủ web sẽ được quản lý bởi máy chủ proxy.
- Với mô hình này thì chỉ có máy chủ proxy là được kết nối đến Internet, còn các máy chủ web thì không kết nối trực tiếp đến Internet, mọi truy vấn đến máy chủ web đều phải đi qua máy chủ proxy.
- Tuy nhiên mô hình này có một số nhược điểm như mỗi tên miền cần được ánh xạ đến một máy ảo và việc tất cả các kết nối đến và ra từ các máy chủ web đều phải đi qua máy chủ proxy sẽ dễ dẫn đến tình trạng thắt cổ chai khiến hệ thống bị chậm hoặc dừng hẳn hoạt động.
- 1.3.5 Mô hình lai Trong khi mô hình 3.3 có nhược điểm khi gặp phải các vấn liên quan đến bảo mật, còn mô hình 3.4 sử dụng proxy ngược sẽ giúp bảo mật hơn tuy nhiên nó lại khá giống với mô hình một máy chủ với các máy ảo khi không sử dụng phần mềm quản lý.
- Chính vì thế mà mô hình trong phần trình bày được đề xuất bằng cách tích hợp proxy ngược vào mô hình nhiều máy chủ và có sử dụng phần mềm quản lý.
- Chúng ta có thể thấy với mô hình này thì không chỉ vấn đề liên quan 10 đến bảo mật được đảm bảo mà vấn đề liên quan đến quản lý cũng được giải quyết.
- Mô hình lai Trong mô hình này, máy chủ master sẽ được sử dụng để quản lý tất cả các tên miền.
- Máy chủ proxy chịu trách nhiệm chuyển hướng truy vấn HTTP được chứa trong URL đến đúng máy chủ đích bằng cách sử dụng phần tên miền có trong URL đó.
- Điểm khác biệt giữa mô hình này với mô hình sử dụng máy chủ proxy trong mô hình trước đó là nhiều tên miền có thể được ánh xạ đến một địa chỉ IP riêng duy nhất.
- Ở phía máy chủ proxy, kỹ thuật máy ảo được sử dụng để ánh xạ các tên miền này tới các thư mục tương ứng.
- Cơ sở dữ liệu hay các thư mục chứa mã nguồn web sẽ được quản lý bởi phần mềm quản lý.
- Vậy có một câu hỏi được đặt ra là làm thế nào người sở hữu tên miền có thể truy cập phần mềm quản lý? Có hai lựa chọn được đưa ra: chỉ truy cập từ mạng nội bộ hoặc truy cập qua proxy, việc này sẽ còn phụ thuộc vào chính sách bảo mật của hệ thống.
- 11 Trong năm mô hình đã trình bày ở trên chúng ta có thể dễ dàng nhận thấy các mô hình 3.1, 3.2 và 3.3 được sử dụng rộng rãi nhất do việc triển khai cài đặt là không gặp nhiều khó khăn, tuy nhiên các mô hình này lại gặp phải vấn đề lớn về bảo mật, điều mà các mô hình 3.4 và 3.5 đã giải quyết được phần nào thông qua việc sử dụng máy chủ proxy ngược.
- Tuy nhiên việc sử dụng thêm máy chủ proxy cũng chưa thể giúp giải quyết hoàn toàn vấn đề bảo mật, phần tiếp theo sẽ trình bày việc sử dụng ModSecurity để chống lại một số kiểu tấn công phổ biến cho máy chủ web Apache, phần mềm máy chủ web phổ biến nhất trên thế giới hiện nay.
- 1.4 Các vấn đề bảo mật của web hosting Mạng Internet cùng với những ứng dụng của nó được coi là một trong những phát minh vĩ đại của văn minh nhân loại.
- Có thể dễ dàng nhận thấy sự hiện diện của website trong hầu hết các lĩnh vực: các công ty giới thiệu, quảng cáo và ra mắt các sản phẩm dịch vụ của mình trên website.
- các tổ chức y tế sử dụng website để tư vấn và mang thông tin sức khỏe đến mọi người.
- các trường học tiến hành tuyển sinh, thậm chí đào tạo ngay trên website…Các cơ quan chính phủ cũng sử dụng website như một kênh truyền thông nhằm tuyên truyền những chủ trương, quy định mới hay tiếp xúc với người dân.
- Những lỗ hổng có thể bị hacker lợi dụng để gây hại tới chính tài nguyên của website hoặc tới những người truy cập, sử dụng nó.
- Ngày nay, khi mà các dịch vụ như Internet Banking, ví điện tử hay giao dịch chứng khoán trực tuyến đang phát triển rất nhanh theo xu thế chung của thương mại điện tử thì tổn thất về tiền bạc sẽ chẳng thể đong đếm khi những hệ thống 12 website này bị tấn công.
- Cùng sự phát triển của công nghệ thông tin, các phần mềm máy tính cũng càng ngày càng trở lên phức tạp hơn.
- Không lập trình viên nào có thể khẳng định chắc chắn những dòng mã được viết ra là an toàn tuyệt đối.
- Những lỗi lập trình đó chính là các lỗ hổng an ninh của phần mềm.
- Những lỗ hổng này được các hacker tấn công và khai thác, từ đó có thể gây ra các tổn hại cho hệ thống.
- Có rất nhiều loại lỗ hổng an ninh mà một website có thể mắc phải, tương ứng với nó là các kiểu tấn công khác nhau

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt