Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính - Ứng Dụng Openvpn Trong Bảo Mật Hệ Thống Mạng Cho Doanh Nghiệp

60 614 0
Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính - Ứng Dụng Openvpn Trong Bảo Mật Hệ Thống Mạng Cho Doanh Nghiệp

Đ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

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT-HÀN KHOA KHOA HỌC MÁY TÍNH ------ ĐỒ ÁN TỐT NGHIỆP NGÀNH MẠNG MÁY TÍNH ĐỀ TÀI ỨNG DỤNG OPENVPN TRONG BẢO MẬT HỆ THỐNG MẠNG CHO DOANH NGHIỆP Sinh viên thực hiện: Lê Long Bảo Lớp : CCMM03A Niên khóa : 2009 - 2012 Cán bộ hướng dẫn : Lê Kim Trọng Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Đà Nẵng, tháng 6 năm 2012 LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, lời đầu tiên em xin chân thành cảm ơn các thầy giáo, cô giáo Khoa Khoa Học Máy Tính, những người đã dạy dỗ, trang bị cho em những kiến thức bổ ích trong năm học vừa qua. Em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy Lê Kim Trọng, người đã tận tình hướng dẫn em trong suốt quá trình làm đồ án. Một lần nữa em xin chân thành cảm ơn sự giúp đỡ của các thầy cô. Đà nẵng, ngày 2 tháng 6 năm 2012 Sinh viên: Lê Long Bảo – MM03A Trang 2 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT Từ viết tắt VPN GNU FSF GCC PMMNM GPL DLL WAN L2F L2TP PPTP GRE Sinh viên: Lê Long Bảo – MM03A Ý nghĩa Virtual Private Network General Public License Free Software Foundation GNU C Compiler Phần mềm mã nguồn mở General Public License Dynamic Link Library Wire Area Network Layer 2 Forwarding Layer 2 Tunneling Protocol Point-to-Point Tunneling Protocol Generic Routing Encapsulation Trang 3 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp DANH MỤC BẢNG BIỂU Sinh viên: Lê Long Bảo – MM03A Trang 4 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp DANH MỤC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU 1. Lý do chọn đề tài. Sinh viên: Lê Long Bảo – MM03A Trang 5 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hiện nay, doanh nghiệp có chuỗi chi nhánh, cửa hàng ngày càng trở nên phổ biến. Không những vậy, nhiều doanh nghiệp còn triển khai đội ngũ bán hàng đến tận người dùng. Do đó, để kiểm soát, quản lý, tận dụng tốt nguồn tài nguyên, nhiều doanh nghiệp đã triển khai giải pháp phần mềm quản lý nguồn tài nguyên có khả năng hỗ trợ truy cập, truy xuất thông tin từ xa. Tuy nhiên, việc truy xuất cơ sở dữ liệu từ xa luôn đòi hỏi cao về vấn đề an toàn, bảo mật. Để giải quyết vấn đề này, nhiều doanh nghiệp đã chọn giải pháp mạng riêng ảo VPN (Virtual Private Network) với nhiều cấp độ bảo mật, trang thiết bị dễ tìm mua. 2. Mục tiêu và nhiệm vụ nghiên cứu. Mục tiêu sau khi nghiên cứu và thử nghiệm thành công OpenVPN trên ubuntu thì sẽ ứng dụng mô hình triển khai OpenVPN này cho các doanh nghiệp lớn, cũng như là doanh nghiệp vừa và nhỏ. Nhiệm vụ nghiên cứu là tìm hiểu để nắm rõ OpenVPN là gì, đưa ra các bảng so sánh, phân tích, đánh giá ưu và nhược điểm của OpenVPN, các giao thức được sử dụng và triển khai OpenVPN trên ubuntu 3. Đối tượng và phạm vi nghiên cứu. Đối tượng nghiên cứu: - Hệ điều hành mã nguồn mở Ubuntu. - Mô hình VPN và các giao thức liên quan. Phạm vi nghiên cứu: Mô hình doanh nghiệp vừa và nhỏ. 4. Phương pháp nghiên cứu. Tổng hợp từ các tài liệu tiếng anh cũng như tiếng việt đã thu thập được để làm phần cơ sở lý thuyết, kết hợp với việc tìm hiểu các câu lệnh cài đặt, cấu hình liên quan đến mã nguồn mở và OpenVPN, ứng dụng phần mềm máy ảo vmware để làm phần demo thực nghiệm. 5. Ý nghĩa khoa học và thực tiễn. Ý nghĩa khoa học: + giúp sinh viên nắm được các kiến thức về mạng máy tính và phần mềm nguồn mở. Sinh viên: Lê Long Bảo – MM03A Trang 6 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp + Hiểu được cơ chế và cách thức làm việc của các giao thức bảo mật VPN Ý nghĩa thực tiễn: + Giúp các nhân viên hoặc các doanh nghiệp có thể kết nối từ xa và an toàn hơn. + Có thể ứng dụng mô hình triển khai OpenVPN cho các doanh nghiệp vừa và nhỏ. 6. Nội dung đồ án. Nội dung đồ án được trình bày trong gồm 4 chương: - Chương 1: Tổng quan về mạng máy tính. - Chương 2: Tổng quan về phần mềm nguồn mở. - Chương 3: Công nghệ VPN và các giao thức hỗ trợ. - Chương 4: Mô hình hệ thống và triển khai OpenVPN trên Ubuntu Server - Cuối cùng là kết luận và tài liệu tham khảo. CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MÁY TÍNH 1.1. TỔNG QUAN VỀ MẠNG MÁY TÍNH 1.1.1. Lịch sử hình thành Sinh viên: Lê Long Bảo – MM03A Trang 7 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Máy tính của thập niên 1940 là các thiết bị cơ-điện-tử lớn và rất dễ hỏng. Sự phát minh ra transitor bán dẫn vào năm 1947 tạo ra cơ hội làm ra chiếc máy tính nhỏ và đáng tin cậy hơn. Năm 1950, các máy tính lớn chạy bởi các chương trình ghi trên thẻ đục lỗ bắt đầu được dùng trong các học viện lớn. Điều này tuy tạo ra nhiều thuận lợi với máy tính có khả năng được lập trình nhưng cũng có rất nhiều khó khăn trong việc tạo ra các chương trình dựa trên thẻ đục lỗ này. Vào cuối thập niên 1950, người ta phát minh ra mạch tích hợp IC chứa nhiều transitor trên một mẫu bán dẫn nhỏ, tạo ra một bước nhảy vọt trong việc chế tạo các máy tính mạnh hơn, nhanh hơn và nhỏ hơn. Đến nay, IC có thể chứa hàng triệu transitor trên một mạch. Vào cuối thập niên 1960, đầu thập niên 1970, các máy tính nhỏ được gọi là minicomputer bắt đầu xuất hiện. Năm 1997, công ty máy tính Apple Computer giới thiệu máy vi tính cũng được gọi là máy tính cá nhân (personal computer - PC). Năm1981, IBM đưa ra máy tính cá nhân đầu tiên. Sự thu nhỏ ngày càng tinh vi hơn của các IC đưa đến việc sử dụng rộng rãi máy tính cá nhân tại nhà và trong kinh doanh. Vào giữa thập niên 1980, người sử dụng dùng các máy tính độc lập bắt đầu chia sẽ các tập tin bằng cách dùng modem kết nối các máy tính khác. Cách thức này được gọi là điểm nối điểm, hay truyền theo kiểu quay số. Khái niệm này được mở rộng bằng cách dùng các máy tính là trung tâm truyền tin trong một kết nối quay số. Các máy tính này được gọi là sàn thông báo. Các người dùng kết nối đến sàn thông báo này, để lại đó hay lấy đi các thông điệp, cũng như gửi lên hay tải về các tập tin. Hạn chế của hệ thống là có rất ít hướng truyền tin, và chỉ với những ai biết về sàn thông báo đó. Ngoài ra, các máy tính tại sàn thông báo cần một modem cho mỗi kết nối, khi số lượng kết nối tăng lên, hệ thống không thể đáp ứng được nhu cầu. Qua các thập niên 1950, 1970, 1980, 1990, Bộ Quốc Phòng Hoa Kỳ đã phát triển các mạng diện rộng WAN có độ tin cậy cao, nhằm phục vụ các mục đích quân sự và khoa học. Công nghệ này khác truyền tin điểm nối điểm. Nó cho phép nhiều máy tính kết nối lại với nhau bằng các đường dẫn khác nhau. Bản thân mạng sẽ xác định dữ liệu di chuyển Sinh viên: Lê Long Bảo – MM03A Trang 8 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp từ máy tính này đến máy tính khác như thế nào. Thay vì chỉ có thể thông tin với một máy tính tại một thời điểm, nó có thể thông tin với nhiều máy tính cùng lúc bằng cùng một kết nối. Sau này, WAN của Bộ Quốc Phòng Hoa Kỳ đã trờ thành Internet. 1.1.2. Khái niệm mạng máy tính Mạng máy tính là tập hợp các máy tính độc lập kết nối với nhau theo một chuẩn kỹ thuật nhất định. Hai máy tính gọi là nối mạng với nhau nếu chúng có khả năng trao đổi thông tin. Phương tiện kết nối có thể là cáp đồng, cáp quang, sóng viba, hồng ngoại hoặc vệ tinh. Mạng máy tính có nhiều kích cỡ, cấu trúc và hình thức tổ chức khác nhau tùy thuộc vào từng ứng dụng cụ thể của mạng máy tính. Tuy nhiên, chúng có thể phân thành hai loại chính là: mạng có cấu trúc ngang hàng và mạng có cấu trúc Client – Server (máy trạm – máy chủ) Hình 1.1. Mạng ngang hàng Sinh viên: Lê Long Bảo – MM03A Trang 9 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 1.2. Mạng Client – Server Trên thực tế, không có một phương pháp phân loại thống nhất cho tất cả các loại mạng máy tính, tuy nhiên khi xét đến một mạng máy tính người ta quan tâm đến hai đặc điểm quan trọng: phương thức truyền dẫn và quy mô mạng. Có hai phương thức truyền dẫn được sử dụng phổ biến đó là: truyền quảng bá và truyền điểm-nối-điểm. Truyền quảng bá là phương thức sử dụng kênh thông tin đơn chung cho tất cả các máy trạm trên mạng. Gói dữ liệu được gửi từ một máy trạm mong muốn thì gói dữ liệu đó sẽ được xử lý, nếu không sẽ được bỏ qua. Một hệ thống mạng truyền quảng bá hỗ trợ việc truyền dữ liệu đến một tập hợp các máy trạm, thì được gọi là truyền đa điểm Đối với phương thức truyền điểm-nối-điểm, mạng máy tính sử dụng phương thức này bao gồm tập hợp nhiều kết nối giữa các máy trạm. Gói dữ liệu từ đầu phát dữ liệu đến đầu thu dữ liệu có thể sẽ đi qua một hoặc nhiều máy trạm trung gian theo nhiều tuyến truyền dẫn khác nhau với độ dài khác nhau. Trường hợp mạng máy tính sử dụng phương thức truyền điểm-nối-điểm với một đầu phát và một đầu thu được gọi là phương thức truyền unicasting Phương thức phân loại thứ hai dựa vào quy mô mạng hay kích thước vật lý của mạng. Theo quy mô từ nhỏ đến lớn ta có các loại mạng sau: - Mạng cá nhân (Personal Are Network-PAN) - Mạng LAN (Local Area Network)-mạng cục bộ: kết nối các nút trên một phạm vi giới hạn. Phạm vi này có thể là một công ty, hay một tòa nhà. - Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với nhau tạo thành mạng WAN. - MAN (Metropolitan Area Network), tương tự như WAN, nó cũng kết nối nhiều mạng LAN. Tuy nhiên, một mạng MAN có phạm vi là một thành phố hay một đô thị Sinh viên: Lê Long Bảo – MM03A Trang 10 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp nhỏ. MAN sử dụng các mạng tốc độ cao để kết nối các mạng LAN của trường học, chính phủ, công ty, ..., bằng cách sử dụng các liên kết nhanh tới từng điểm như cáp quang. 1.2. MÔ HÌNH PHÂN TẦNG 1.2.1. OSI Hình 1.3. Mô hình OSI Mô hình OSI có 7 lớp và được thiết kế theo các nguyên tắc sau: - Một lớp được tạo ra tương ứng với một khái niệm trừu tượng - Một lớp thực hiện một chức năng hoàn chỉnh nào đó. - Chức năng của mỗi lớp phải được chọn theo xu hướng phù hợp với các giao thứcđã được chuẩn hóa - Biên của các lớp phải được thiết kế sao cho tối thiểu hóa được lượng thông tin truyền qua các giao diện - Số lượng các lớp không quá ít để đảm bảo thực hiện đủ các chức năng cần thiết và không được quá nhiều để kiến trúc của nó không trở nên cồng kềnh 1.2.1.1. Lớp vật lý Lớp vật lý bao gồm việc truyền tải các tín hiệu trong môi trường từ máy tính này đến máy tính khác. Lớp này gồm có các chi tiết kỹ thuật về các đặc tính điện và cơ như: mức điện áp, định thời tín hiệu, tốc độ dữ liệu, độ dài truyền tải lớn nhất và các kết nối vật Sinh viên: Lê Long Bảo – MM03A Trang 11 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp lý của thiết bị mạng. Để một thiết bị hoạt động chỉ trong lớp vật lý, nó sẽ không có bất kỳ kiến thức nào về dữ liệu mà nó truyền tải. Một thiết bị lớp vật lý chỉ truyền tải hoặc nhận dữ liệu một cách đơn giản. 1.2.1.2. Lớp liên kết dữ liệu Cung cấp khả năng chuyển dữ liệu tin cậy xuyên qua một liên kết vật lý. Lớp này liên quan đến: - Địa chỉ vật lý - Mô hình mạng Cơ chế truy cập đường truyền Thông báo lỗi Thứ tự phân phối frame Điều khiển dòng. Tại lớp data link, các bít đến từ lớp vật lý được chuyển thành các frame dữ liệu bằng cách dùng một số nghi thức tại lớp này. Lớp data link được chia thành hai lớp con: - Lớp con LLC (logical link control). - Lớp con MAC (media access control) Lớp con LLC là phần trên so với các giao thức truy cập đường truyền khác, nó cung cấp sự mềm dẻo về giao tiếp. Bởi vì lớp con LLC hoạt động độc lập với các giao thức truy cập đường truyền, cho nên các giao thức lớp trên hơn (ví dụ như IP ở lớp mạng) có thể hoạt động mà không phụ thuộc vào loại phương tiện LAN. Lớp con LLC có thể lệ thuộc vào các lớp thấp hơn trong việc cung cấp truy cập đường truyền. Lớp con MAC cung cấp tính thứ tự truy cập vào môi trường LAN. Khi nhiều trạm cùng truy cập chia sẻ môi trường truyền, để định danh mỗi trạm, lớp cho MAC định nghĩa một trường địa chỉ phần cứng, gọi là địa chỉ MAC address. Địa chỉ MAC là một con số đơn nhất đối với mỗi giao tiếp LAN (card mạng). Lớp vật lý (Physical Layer): định nghĩa các qui cách về điện, cơ, thủ tục và các đặc tả chức năng để kích hoạt, duy trì và dừng một liên kết vật lý giữa các hệ thống đầu cuối. Một số các đặc điểm trong lớp vật lý này bao gồm: - Mức điện thế. - Khoảng thời gian thay đổi điện thế. Tốc độ dữ liệu vật lý. Khoảng đường truyền tối đa. Sinh viên: Lê Long Bảo – MM03A Trang 12 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp - Các đầu nối vật lý. 1.2.1.3. Lớp mạng Lớp mạng chịu trách nhiệm lập địa chỉ các thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ vật lý đồng thời nó cũng chịu trách nhiệm gởi packet từ mạng nguồn đến mạng đích. Lớp này quyết định đường đi từ máy tính nguồn đến máy tính đích. Nó quyết định dữ liệu sẽ truyền trên đường nào dựa vào tình trạng, ưu tiên dịch vụ và các yếu tố khác. Nó cũng quản lý lưu lượng trên mạng chẳng hạn như chuyển đổi gói, định tuyến, và kiểm soát sự tắc nghẽn dữ liệu.Dữ liệu ở lớp này gọi packet hoặc datagram. 1.2.1.4. Lớp vận chuyển Lớp vận chuyển phân đoạn dữ liệu từ hệ thống máy truyền và tái thiết lập dữ liệu vào một luồng dữ liệu tại hệ thống máy nhận đảm bảo rằng việc bàn giao các thông điệp giữa các thiết bị đáng tin cậy. Dữ liệu tại lớp này gọi là segment. Lớp này thiết lập, duy trì và kết thúc các mạch ảo đảm bảo cung cấp các dịch vụ sau: - Xếp thứ tự các phân đoạn: khi một thông điệp lớn được tách thành nhiều phân đoạn nhỏ để bàn giao, lớp vận chuyển sẽ sắp xếp thứ tự các phân đoạn trước khi ráp nối các phân đoạn thành thông điệp ban đầu. - Kiểm soát lỗi: khi có phân đoạn bị thất bại, sai hoặc trùng lắp, lớp vận chuyển sẽ yêu cầu truyền lại. - Kiểm soát luồng: lớp vận chuyển dùng các tín hiệu báo nhận để xác nhận. Bên gửi sẽ không truyền đi phân đoạn dữ liệu kế tiếp nếu bên nhận chưa gởi tín hiệu xác nhận rằng đã nhận được phân đoạn dữ liệu trước đó đầy đủ. 1.2.1.5. Lớp phiên Lớp này có chức năng thiết lập, quản lý, và kết thúc các phiên thông tin giữa hai thiết bị truyền nhận. Lớp phiên cung cấp các dịch vụ cho lớp trình bày. Lớp Session cung cấp sự đồng bộ hóa giữa các tác vụ người dùng bằng cách đặt những điểm kiểm tra vào luồng dữ liệu. Bằng cách này, nếu mạng không hoạt động thì chỉ có dữ liệu truyền sau điểm kiểm tra cuối cùng mới phải truyền lại. Lớp này cũng thi hành kiểm soát hội thoại giữa các quá trình giao tiếp, điều chỉnh bên nào truyền, khi nào, trong bao lâu. Ví dụ như: RPC, NFS,... Lớp này kết nối theo ba cách: Haft duplex,Simplex, Full-duplex. Sinh viên: Lê Long Bảo – MM03A Trang 13 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp 1.2.1.6. Lớp trình diễn Lớp này chịu trách nhiệm thương lượng và xác lập dạng thức dữ liệu được trao đổi. Nó đảm bảo thông tin mà lớp ứng dụng của một hệ thống đầu cuối gởi đi, lớp ứng dụng của hệ thống khác có thể đọc được. Lớp trình bày thông dịch giữa nhiều dạng dữ liệu khác nhau thông qua một dạng chung, đồng thời nó cũng nén và giải nén dữ liệu. 1.2.1.7. Lớp ứng dụng Lớp ứng dụng tương tác trực tiếp với người sử dụng và nó cung cấp các dịch vụ mạng cho các ứng dụng của ngời sử dụng nhưng không cung cấp dịch vụ cho các lớp khác. Lớp này thiết lập khả năng liên lạc giữa những ngời sử dụng, đồng bộ và thiết lập các quy trình xử lý lỗi và đảm bảo tính toàn vẹn của dữ liệu. 1.2.2. TCP/IP Hình 1.4. Mô hình TCP/IP Sự ra đời của họ giao thức TCP/IP gắn liền với sự ra đời của Internet mà tiền thân là mạng ARPAnet (Advanced Research Projects Agency) do Bộ Quốc phòng Mỹ tạo ra. Đây là bộ giao thức được dùng rộng rãi nhất vì tính mở của nó. Hai giao thức được dùng chủ yếu ở đây là TCP (Transmission Control Protocol) và IP (Internet Protocol). Chúng đã nhanh chóng được đón nhận và phát triển bởi nhiều nhà nghiên cứu và các hãng công nghiệp máy tính với mục đích xây dựng và phát triển một mạng truyền thông mở rộng khắp thế giới mà ngày nay chúng ta gọi là Internet. TCP/IP có cấu trúc tương tự như mô hình OSI, tuy nhiên để đảm bảo tính tương thích giữa các mạng và sự tin cậy của việc truyền thông tin trên mạng, bộ giao thức TCP/IP được chia thành 2 phần riêng biệt: giao thức IP sử dụng cho việc kết nối mạng và giao thức TCP để đảm bảo việc truyền dữ liệu một cách tin cậy. Sinh viên: Lê Long Bảo – MM03A Trang 14 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp 1.2.2.1. Lớp ứng dụng Tại mức cao nhất này, người sử dụng thực hiện các chương trình ứng dụng truy xuất đến các dịch vụ hiện hữu trên TCP/IP Internet. Một ứng dụng tương tác với một trong những protocol ở mức giao vận (transport) để gửi hoặc nhận dữ liệu. Mỗi chương trình ứng dụng chọn một kiểu giao vận mà nó cần, có thể là một dãy tuần tự từng thông điệp hoặc một chuỗi các byte liên tục. Chương trình ứng dụng sẽ gửi dữ liệu đi dưới dạng nào đó mà nó yêu cầu đến lớp giao vận. 1.2.2.2. Lớp giao vận Nhiệm vụ cơ bản của lớp giao vận là cung cấp phương tiện liên lạc từ một chương trình ứng dụng này đến một chưng trình ứng dụng khác. Việc thông tin liên lạc đó thường được gọi là end-to-end. Mức chuyên trở có thể điều khiển luông thông tin. Nó cũng có thể cung cấp sự giao vận có độ tin cậy, bảo đảm dữ liệu đến nơi mà không có lỗi và theo đúng thứ tự. Để làm được điều đó, phần mềm protocol lớp giao vận cung cấp giao thức TCP, trong quá trình trao đổi thông tin nơi nhận sẽ gửi ngược trở lại một xác nhận (ACK) và nơi gửi sẽ truyền lại những gói dữ liệu bị mất. Tuy nhiên trong những môi trường truyền dẫn tốt như cáp quang chẳng hạn thì việc xy ra lỗi là rất nhỏ. Lớp giao vận có cung cấp một giao thức khác đó là UDP. 1.2.2.3. Lớp internet Nhiệm vụ cơ bản của lớp này là xử lý việc liên lạc của các thiết bị trên mạng. Nó nhận được một yêu cầu để gửi gói dữ liệu từ lớp trên cùng với một định danh của máy mà gói dữ liệu phía được gửi đến. Nó đóng segment vào trong một packet, điền vào phần đầu của packet, sau đó sử dụng các giao thức định tuyến để chuyển gói tin đến được đích của nó hoặc trạm kế tiếp. Khi đó tại nơi nhận sẽ kiểm tra tính hợp lệ của chúng, và sử dụng tiếp các giao thức định tuyến để xử lý gói tin. Đối với những packet được xác định thuộc cùng mạng cục bộ, phần mềm Internet sẽ cắt bỏ phần đầu của packet, và chọn một trong các giao thức lớp chuyên trở thích hợp để xử lý chúng. Cuối cùng, lớp Internet gửi và nhận các thông điệp kiểm soát và xử lý lỗi ICMP. 1.2.2.4. Lớp giao tiếp mạng Sinh viên: Lê Long Bảo – MM03A Trang 15 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Lớp thấp nhất của mô hình TCP/IP chính là lớp giao tiếp mạng, có trách nhiệm nhận các IP datagram và truyền chúng trên một mạng nhất định. Người ta lại chia lớp giao tiếp mạng thành 2 lớp con là: - Lớp vật lý: Lớp vật lý làm việc với các thiết bị vật lý, truyền tới dòng bit 0, 1 từ ni gửi đến nơi nhận. - Lớp liên kết dữ liệu: Tại đây dữ liệu được tổ chức thành các khung (frame). Phần đầu khung chứa địa chỉ và thông tin điều khiển, phần cuối khung dành cho việc phát hiện lỗi. 1.3. KIẾN TRÚC MẠNG MÁY TÍNH 1.3.1. Nguyên tắc truyền thông Để một mạng máy tính trở một môi trường truyền dữ liệu thì nó cần phải có những yếu tố sau: - Các hệ thống được liên kết với nhau theo một cấu trúc kết nối (topology) nào đó - Việc chuyển dữ liệu từ máy tính này đến máy tính khác do mạng thực hiện thông qua những quy định thống nhất gọi là giao thức của mạng. - Phân chia hoạt động truyền thông của hệ thống thành nhiều lớp theo các nguyên tắc nhất định - Việc xét các module một cách độc lập với nhau cho phép giảm độ phức tạp cho việc thiết kế và cài đặt. Phương pháp này được sử dụng rộng rãi trong việc xây dựng mạng và các chương trình truyền thông và được gọi là phương pháp phân tầng (layer). 1.3.2. Nguyên tắc của phương pháp phân tầng Mỗi hệ thống thành phần trong mạng được xây dựng như một cấu trúc nhiều tầng và đều có cấu trúc giống nhau như: số lượng tầng và chức năng của mỗi tầng. Các tầng nằm chồng lên nhau, dữ liệu được chỉ trao đổi trực tiếp giữa hai tầng kề nhau từ tầng trên xuống tầng dưới và ngược lại. Cùng với việc xác định chức năng của mỗi tầng chúng ta phải xác định mối quan hệ giữa hai tầng kề nhau. Dữ liệu được truyền đi từ tầng cao nhất của hệ thống truyền lần lượt đến tầng thấp nhất sau đó truyền qua đường nối vật lý dưới dạng các bit tới tầng thấp nhất của hệ thống nhận, sau đó dữ liệu được truyền ngược lên lần lượt đến tầng cao nhất của hệ thống nhận. Sinh viên: Lê Long Bảo – MM03A Trang 16 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Chỉ có hai tầng thấp nhất có liên kết vật lý với nhau còn các tầng trên cùng thứ tư chỉ có các liên kết logic với nhau. Liên kết logic của một tầng được thực hiện thông qua các tầng dưới và phải tuân theo những quy định chặt chẽ, các quy định đó được gọi giao thức của tầng. Hình 1.5. Mô hình truyền thông đơn giản 3 tầng Trong kiến trúc phân tầng, một số mô hình được phát triển o Mô hình tham chiếu kết nối các hệ thống mở OSI o Mô hình Internet : TCP/IP Xét trên phương diện lập trình với máy tính, ta xét mô hình phân tầng thu gọn: Nói chung trong truyền thông có sự tham gia của các thành phần: các chương trình ứng dụng, các chương trình truyền thông, các máy tính và các mạng. Các chương trình ứng dụng là các chương trình của người sử dụng được thực hiện trên máy tính và có thể tham gia vào quá trình trao đổi thông tin giữa hai máy tính. Trên một máy tính với hệ điều hành đa nhiệm (như Windows, UNIX) thường được thực hiện đồng thời nhiều ứng dụng trong đó có những ứng dụng liên quan đến mạng và các ứng dụng khác. Các máy tính được nối với mạng và các dữ liệu được trao đổi thông qua mạng từ máy tính này đến máy tính khác. Việc gửi dữ liệu được thực hiện giữa một ứng dụng với một ứng dụng khác trên hai máy tính khác nhau thông qua mạng được thực hiện như sau: Ứng dụng gửi chuyển dữ liệu cho chương trình truyền thông trên máy tính của nó, chương trình truyền thông sẽ gửi chúng tới máy tính nhận. Chương trình truyền thông trên máy nhận sẽ tiếp nhận dữ liệu, kiểm tra nó trước khi chuyển giao cho ứng dụng đang chờ dữ liệu. Sinh viên: Lê Long Bảo – MM03A Trang 17 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Với mô hình truyền thông đơn giản người ta chia chương trình truyền thông thành ba tầng không phụ thuộc vào nhau là: tầng ứng dụng, tầng giao vận và tầng tiếp cận mạng. Tầng tiếp cận mạng liên quan tới việc trao đổi dữ liệu giữa máy tính và mạng mà nó được nối vào. Để dữ liệu đến được đích máy tính gửi cần phải chuyển địa chỉ của máy tính nhận cho mạng và qua đó mạng sẽ chuyển các thông tin tới đích. Ngoài ra máy gửi có thể sử dụng một số phục vụ khác nhau mà mạng cung cấp như gửi ưu tiên, tốc độ cao. Trong tầng này có thể có nhiều phần mềm Tầng giao vận: thực hiện quá trình truyền thông end-to-end giữa 2 ứng dụng không liên quan tới mạng và nằm ở trên tầng tiếp cận mạng. Tầng truyền dữ liệu không quan tâm tới bản chất các ứng dụng đang trao đổi dữ liệu mà quan tâm tới làm sao cho các dữ liệu được trao đổi một cách an toàn. Tầng truyền dữ liệu đảm bảo các dữ liệu đến được đích và đến theo đúng thứ tự mà chúng được xử lý. Trong tầng truyền dữ liệu người ta phải có những cơ chế nhằm đảm bảo sự chính xác đó và rõ ràng các cơ chế này không phụ thuộc vào bản chất của từng ứng dụng và chúng sẽ phục vụ cho tất cả các ứng dụng. Tầng ứng dụng: sẽ chứa các module phục vụ cho tất cả những ứng dụng của người sử dụng. Với các loại ứng dụng khác nhau (như là truyền file, truyền thư mục) cần các module khác nhau. Hình 1.6. Trao đổi giữa các tầng 1.3.3. Địa chỉ IP Mỗi địa chỉ IP có độ dài 32 bits (đối với IP4) được tách thành 4 vùng (mỗi vùng 1 byte), có thể được biểu thị dưới dạng thập phân, bát phân, thập lục phân hoặc nhị phân. Cách viết phổ biến nhất là dùng ký pháp thập phân có dấu chấm để tách giữa các vùng. Địa chỉ IP là để định danh duy nhất cho một host bất kỳ trên liên mạng. Khuôn dạng địa chỉ IP: mỗi host trên mạng TCP/IP được định danh duy nhất bởi một địa chỉ có khuôn dạng . Sinh viên: Lê Long Bảo – MM03A Trang 18 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Do tổ chức và độ lớn của các mạng con của liên mạng có thể khác nhau, người ta chia các địa chỉ IP thành 5 lớp ký hiệu A,B,C, D, E. Các bit đầu tiên của byte đầu tiên được dùng để định danh lớp địa chỉ (0-lớp A; 10 lớp B; 110 lớp C; 1110 lớp D; 11110 lớp E).Subneting. Trong nhiều trường hợp, một mạng có thể được chia thành nhiều mạng con(subnet), lúc đó có thể đưa thêm các vùng subnetid để định danh các mạng con. Vùng subnetid được lấy từ vùng hostid, cụ thể đối với 3 lớp A, B, C . 1.4. PHÂN LOẠI MẠNG MÁY TÍNH 1.4.1. Theo khoảng cách địa lý Phân làm 4 loại: mạng cục bộ, mạng đô thị, mạng diện rộng, mạng toàn cầu - Mạng cục bộ (Local Area Networks - LAN): cài đặt trong phạm vi tương đối hẹp, khoảng cách lớn nhất giữa các máy tính nối mạng là vài chục km. - Mạng đô thị (Metropolitan Area Networks - MAN): cài đặt trong phạm vi một đô thị, một trung tâm kinh tế xã hội, có bán kính nhỏ hơn 100 km. - Mạng diện rộng (Wide Area Networks - WAN): phạm vi của mạng có thể vượt qua biên giới quốc gia và thậm chí cả lục địa. - Mạng toàn cầu (Global Area Networks - GAN): phạm vi rộng khắp các lục địa. 1.4.2. Theo kỹ thuật chuyển mạch Phân làm 3 loại: mạng chuyển mạch kênh, mạng chuyển mạch thông báo, mạng chuyển mạch gói. 1.4.3. Theo cơ chế hoạt động Cơ chế hoạt động dựa theo mô hình chuẩn OSI và TCP/IP thông qua các lớp. CHƯƠNG 2 : TỔNG QUAN VỀ PHẦN MỀM NGUỒN MỞ 2.1. GIỚI THIỆU PHẦN MỀM MÃ NGUỒN MỞ VÀ HỆ ĐIỀU HÀNH LINUX 2.1.1. Khái niệm phần mềm mã nguồn mở 2.1.1.1. Lịch sử phát triển phần mềm mã nguồn mở Sinh viên: Lê Long Bảo – MM03A Trang 19 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Việc sử dụng hệ điều hành UNIX và các công cụ hỗ trợ đi kèm đã khiến cho các nhà phát triển phần mềm cảm thấy bản quyền hạn chế sự sáng tạo của họ. Năm 1983, dự án GNU ra đời, do Richard Stallman sáng lập. Dự án này phát triển thành Tổ chức phần mềm tự do FSF (Free Software Foundation). Tổ chức này tập hợp các nhà phát triển thường xuyên sử dụng UNIX, hướng tới mục tiêu là phát triển các công cụ tương tự như của UNIX nhưng hoàn toàn tự do và mã nguồn mở. GCC (GNU C Compiler) là sản phẩm đầu tiên, cho phép phát triển các sản phẩm khác, vi là chương trình soạn thảo thông dụng, …và các sản phẩm khác Năm 1988 các nỗ lực ủng hộ PMMNM (Phần mềm mã nguồn mở) đã hình thành OSI (Open Source Initiative). OSI nỗ lực để tạo ra các khung pháp lý, cung cấp các thông tin cần thiết cho người sử dụng, các nhà phát triển, các công ty dịch vụ có thể phát triển, khai thác, cung cấp dịch vụ, kinh doanh PMMNM Mặc dù có một quá trình phát triển khá lâu dài, tuy nhiên trên thực tế phải đến năm 2008 mới có những quy định chặt chẽ của pháp luật, một số nước bảo hộ PMMNM. Ví dụ khi bạn vi phạm bản quyền của phần mềm, tất cả các quyền được gán trong bản quyền lập tức trở thành vô hiệu. Quy định này không tác động nhiều đến phần mềm sở hữu, nhưng với PMMNM, khi các quyền trở thành vô hiệu hầu như chắc chắn người sử dụng sẽ vi phạm các sỡ hữu trí tuệ. 2.1.1.2. Định nghĩa phần mềm nguồn mở Để hiểu được phần mềm mã nguồn mở là gì, đầu tiên chúng ta phải hiểu phần mềm là gì, mã nguồn mở là gì, và phần mềm mã nguồn mở là gì. Phần mềm hiểu theo nghĩa đen là một tập hợp các câu lệnh, được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó. Hiểu theo nghĩa bóng thì phần mềm là một sản phẩm đặc biệt, đặc trưng cho ngành Công nghệ thông tin và Công nghệ phần mềm. Mã nguồn mở, tên tiếng anh là Open Source, là thuật ngữ chỉ các phần mềm công khai mã nguồn. Người dùng không phải trả một khoản chi phí nào, hơn thế nữa họ có quyền xem, sửa đổi và cải tiến, nâng cấp theo một số nguyên tắc chung quy định trong giấy phép phần mềm nguồn mở GPL (General Public License). Ông tổ của mã nguồn mở Sinh viên: Lê Long Bảo – MM03A Trang 20 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp là Richard Stallman, người đã xây dựng dự án GNU, và cho ra giấy phép mã nguồn mở GPL, hai nền tảng then chốt cho sự phát triển của mã nguồn mở. Từ hai định nghĩa trên ta có thể hiểu được, phần mềm nguồn mở là gì. Phần mềm nguồn mở là phần mềm được cung cấp dưới dạng mã và nguồn, không chỉ miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền. Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung quy định trong giấy phép phần mềm nguồn mở (ví dụ như GPL – General Public License) mà không cần xin phép ai, điều mà họ không được phép làm với phần mềm nguồn đóng (tức là phần mềm thương mại). 2.1.1.3. Các thao tác trên phần mềm mã nguồn mở Trên phần mềm, có thể thực hiện các thao tác: Sản xuất phần mềm: Nghiên cứu nhu cầu của người sử dụng, thiết kế, coding, compiling và releasing Cài đặt phần mềm: Để có thể sử dụng, phần mềm cần được cài đặt. Cài đặt là thao tác ghi các mã cần thiết cho việc thực hiện môi trường vào bộ nhớ thích hợp để người sử dụng có thể sử dụng Sử dụng phần mềm: Cài đặt và sử dụng phần mềm trên máy tính. Máy tính này có thể là máy tính cá nhân, máy chủ, máy tính công cộng,…Tùy theo từng bối cảnh việc sử dụng phần mềm có thể có các ràng buộc khác nhau (cài trên một máy, cài trên nhiều máy, cài trên nhiều CPU,…). Các phần mềm có bản quyền thường bảo vệ việc sử dụng phần mềm bằng serial key, active code và có những trường hợp bằng khóa vật lý. Thay đổi phần mềm: Trong quá trình sử dụng có thể xuất hiện nhu cầu thay đổi. Việc thay đổi này có thể được tiến hành bởi nhà tác giả sản xuất phần mềm, hoặc có thể do một người khác. Để thay đổi tính năng phần mềm cần có mã nguồn của phần mềm. Nếu không có mã nguồn có thể dịch ngược để thu mã nguồn từ mã thực hiện. Mã nguồn phần mềm có thể được phân phối theo nhiều kênh khác nhau (mạng, lưu trữ, truyền tay, lây nhiễm). Các thao tác khác: Phân tích ngược mã nguồn, phân tích giao diện, mô phỏng, thực hiện luân phiên,…Phần mềm được quản lý bởi các quy tắc về bản quyền và sở hữu trí tuệ, cho phép thực hiện hoặc không thực hiện các thao tác nói trên trong các điều kiện khác nhau. Sinh viên: Lê Long Bảo – MM03A Trang 21 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Bản quyền phần mềm: Là tài liệu quy định việc thực hiện các thao tác trên phần mềm. Có thể có các bản quyền phần mềm sở hữu, bản quyền cho phần mềm miễn phí / phần mềm chia sẽ, bản quyền cho phần mềm tự do và mã nguồn mở. 2.1.2. Giới thiệu hệ điều hành Linux 2.1.2.1. Lịch sử Linux Linux là hệ điều hành mô phỏng Unix, được xây dựng trên phần nhân (kernel), và gói phần mềm mã nguồn mở. Linux được công bố dưới bản quyền của GPL (General Public License). Unix ra đời giữa những năm 1960, ban đầu được phát triển bởi AT&T, sau đó được đăng ký thương mại và phát triển theo nhiều dòng dưới cái tên khác nhau. Năm 1990 xu hướng phát triển phần mềm nguồn mở xuất hiện và được thúc đẩy bởi tổ chức GNU. Một số license về mã nguồn mở ra đời ví dụ BSD, GPL. Năm 1991, Linus Torval viết thêm phiên bản nhân v0.01 (kernel) đầu tiên của Linux đưa lên các BBS, nhóm người dùng để mọi người cùng sử dụng và phát triển. Năm 1996, nhân v1.0 chính thức công bố và ngày càng nhân được sự quan tâm của người dùng. Năm 1999, phiên bản nhân v2.2 mang nhiều đặc tính ưu việt và giúp cho Linux bắt đầu trở thành đối thủ cạnh tranh đáng kể của MSWindows trên môi trường Server. Năm 2000 phiên bản nhân v2.4 hỗ trợ nhiều thiết bị mới (đa xử lý tới 32 chip, USB, RAM trên 2GB…) bắt đầu đặt chân vào thị trường máy chủ cao cấp. Quá trình phát triển Linux như sau: - Năm 1991: 100 người dùng. - Năm 1997: 7.000.000 người dùng. - Năm 2000: hàng trăm triệu người dùng, hơn 15.000 người tham gia phát triển Linux. Hàng năm thị trường cho Linux tăng trưởng trên 100%. Các phiên bản Linux là sản phẩm đóng gói kernel và các gói phần mềm miễn phí khác. Các phiên bản này được công bố dưới license GPL. Một số phiên bản nổi bật là: Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake. Giống như Unix, Linux gồm 3 thành phần chính: kernel, shell và cấu trúc file. Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị phần cứng như đĩa và máy in Sinh viên: Lê Long Bảo – MM03A Trang 22 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Shell (môi trường) cung cấp giao diện cho người sử dụng, còn được mô tả như một bộ biên dịch. Shell nhận các câu lệnh từ người sử dụng, và gửi các câu lệnh đó cho nhân thực hiện. Nhiều shell được phát triển, linux cung cấp một số shell như: desktops, windows manager, và môi trường dòng lệnh. Hiện nay chủ yếu tồn tại 3 shell: Bourne, Korn và C Shell. Bourne được phát triển tại phòng thí nghiệm, Bell và C Shell được phát triển cho phiên bản BSD của Unix, Korn shell là phiên bản cải tiến của Bourne Shell. Những phiên bản hiện nay của Unix, bao gồm cả Linux, tích hợp cả 3 shell trên. Cấu trúc file quy định cách lưu trữ file trên đĩa. File được nhóm trong các thư mục. Mỗi thư mục có thể chứa file và các thư mục con khác. Một số thư mục là các thư mục chuẩn do hệ thống sử dụng. Người dùng có thể tạo các file/ thư mục của riêng mình cũng như dịch chuyển các file giữa các thư mục đó. Hơn nữa, với Linux người dùng có thể thiết lập quyền truy nhập file/ thư mục, cho phép hay hạn chế một người dùng hoặc một nhóm truy cập file. Các thư mục trong Linux được tổ chức theo cấu trúc cây, bắt đầu bằng thư mục gốc (root). Các thư mục khác được phân nhánh từ thư mục này Kernel, shell và cấu trúc file cấu thành nên cấu trúc hệ điều hành. Với những thành phần trên người dùng có thể chạy chương trình, quản lý file, và tương tác với hệ thống. 2.1.2.2. Giao tiếp trên môi trường Linux Terminal: Khái niệm Terminal xuất hiện từ xa xưa khi các hệ thống máy tính rất lớn, người sử dụng không tương tác trực tiếp với hệ thống mà thông qua các Terminal ở xa. Các hệ thống Terminal này gồm màn hình và bàn phím, ngày nay do kích thước bé đi nên các Terminal này chính là máy tính của người sử dụng. Console: Ngoài ra hệ thống Linux nói chung hay các máy chủ dịch vụ của các hệ điều hành khác nói riêng đều cung cấp cho người quản trị một giao diện Terminal đặc biệt gọi là Console. Trước kia console tồn tại dưới dạng một cổng giao tiếp riêng biệt, còn ngày nay dưới dạng một Console ảo cho phép mở cùng lúc nhiều phiên làm việc trên một máy tính. Trình soạn thảo vi: Chương trình vi là một chương trình soạn thảo mạnh mà gần như chắc chắn được tìm thấy trên tất cả các hệ điều hành họ Linux, bởi kích thước và khả năng của vi không đòi hỏi nhiều tài nguyên, thêm vào đó là chức năng soạn thảo cơ Sinh viên: Lê Long Bảo – MM03A Trang 23 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp bản, vi có thể tìm kiếm, thay thế, kết nối các file và nó có ngôn ngữ macro của chính nó, cũng như đặc điểm bổ sung. Có hai chế độ trong vi: - Chế độ thứ nhất là chế độ input: Trong chế độ này, văn bản được đưa vào trong tài liệu, bạn có thể chèn và bổ sung văn bản. - Chế độ thứ hai là chế độ dòng lệnh: Khi ở chế độ này, bạn có thể dịch chuyển trên tài liệu, trộn các dòng, tìm kiếm…Bạn có thể thực hiện tất cả các chức năng của vi từ chế độ dòng lệnh, ngoại trừ việc nhập văn bản Tiện ích MC (Midnight Commander): Trong thời kỳ của DOS trước Windows, việc định hướng các tập tin thông qua hệ thống menu và các chương trình quản lý bắt đầu phát triển mạnh, cho dù chúng chỉ dựa trên chế độ text. Linux cũng có một chương trình tiện ích với chức năng tương tự như vậy gọi là Midnight Commander. Bạn không phải mất công tìm kiếm MC, phần lớn các nhà phân phối Linux đều cung cấp kèm theo HĐH và nó được cài trong /usr/bin/mc. Chương trình chạy ở hai chế độ textmode và đồ họa. MC có một số tính năng mà DOS không có. Bạn có thể thay đổi quyền sở hữu tập tin và xem chi tiết về quyền truy cập tập tin. MC còn có khả năng quản lý quy trình, cho phép bạn xem những quá trình đang được thực hiện ở chế độ nền, và bạn có thể dừng chúng, khởi động lại hoặc tắt chúng hoàn toàn 2.1.2.3. Giới thiệu hệ thống tập tin và thư mục Các hệ thống máy tính sử dụng thiết bị lưu trữ ngoài để lưu trữ thông tin một cách bền vững. Các thiết bị lưu trữ quản lý không gian bộ nhớ ngoài theo từng khối dữ liệu. Giữa các khối dữ liệu chỉ liên quan về mặt vật lý, không có liên quan gì về mặt ngữ nghĩa. Để có thể sử dụng các khối dữ liệu này một cách thuận tiện, các khối dữ liệu có chung ngữ nghĩa, có chung mục đích sử dụng, được gộp lại với nhau và được quản lý bởi một khối dữ liệu điều khiển. Các khối dữ liệu gộp lại như vậy gọi là một tệp (file). Khi người sử dụng có nhiều tệp, để có thể quản lý các tệp dễ dàng hơn, các tệp được gộp lại với nhau theo yêu cầu của người sử dụng, bổ sung thêm một tệp chứa danh mục và vị trí của các tệp được gộp. Tệp chứa danh mục này được gọi là tệp thư mục. Về phần mình, tệp thư mục cũng có thể được gộp vào với các tệp, khác để tạo thành thư mục. Với cách nhóm tệp như vậy, trong hệ thống sẽ có 2 loại tệp cơ bản: Sinh viên: Lê Long Bảo – MM03A Trang 24 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp - Tệp thông thường chỉ chứa dữ liệu. - Tệp thư mục chỉ chứa danh mục các tệp và các thư mục con nằm trong thư mục đó. Các tệp và các thư mục kết hợp với nhau tạo ra một hoặc nhiều cây thư mục, trong đó có các tệp thông thường là các nút lá. Nút gốc của các cây là các điểm cố định để từ đó có thể truy cập được nút lá trong cây. Ở dưới HĐH Linux, các tệp và thư mục tạo thành một cây duy nhất có thư mục gốc ký hiệu là / - (thư mục gốc). Các thư mục con thường gặp của thư mục gốc là các thư mục: - /bin: thư mục tệp chương trình cơ bản. - /boot: thư mục chứa hạt nhân của HĐH. - /etc: thư mục chứa tệp cấu hình. - /dev: thư mục các tệp thiết bị. - /home: thư mục chứa dữ liệu người sử dụng. - /lib: thư viện hệ thống. - /usr: thư muc ứng dụng. - /var: thư mục dữ liệu cập nhật. - /proc: thư mục chứa các dữ liệu của nhân hệ điều hành và BIOS. Các tệp thư mục lưu trữ các thư mục con và tệp. Các thư mục con và tệp đều được đặt tên. Giống như trong HĐH Windows, Linux cho phép tên tệp có thể dài đến 255 ký tự, có thể bao gồm các ký tự đặt biệt. Để truy cập được vào các thư mục và tệp, xuất phát từ các nút gốc truy cập vào các thư mục con cho đến khi đến được tệp cần thiết. Tập hợp tên của các thư mục con từ nút gốc đến tệp cần truy cập, phân cách các tên bằng dấu /, gọi là đường dẫn tuyệt đối đến tệp. Trong mọi trường hợp, luôn luôn có thể dùng đường dẫn tuyệt đối để tham chiếu tới tệp. Khi người sử dụng truy cập vào hệ thống hoặc khi các chương trình đang thực hiện, một thư mục được sử dụng để tham chiếu tới tất cả các tệp và thư mục khác trong hệ thống. Với người sử dụng đó thường là thư mục /home. Với chương trình, đó thường là thư mục gọi câu lệnh thực hiện, thư mục này được gọi là thư mục làm việc hiện tại. Trong một thư mục luôn luôn có 2 thư mục đặt biệt: ./ để biểu diễn thư mục hiện tại và ../ biểu diễn thư mục cha của thư mục hiện tại. Sinh viên: Lê Long Bảo – MM03A Trang 25 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Trong nhiều trường hợp, sẽ hiệu quả hơn nếu truy cập vào một tệp thông qua đường đi trong cây từ thư mục hiện tại đến tệp cần truy cập bằng cách sử dụng ./ và ../. Một đường dẫn như vậy sẽ phụ thuộc vào thư mục làm việc hiện tại, được gọi là đường dẫn tương đối. 2.1.3. Phân loại phần mềm nguồn mở 2.1.3.1. Theo phương thức hoạt động Phần mềm hệ thống: dùng để vận hành máy tính và các phần cứng máy tính, ví dụ như các hệ điều hành máy tính Windows XP, Linux, Unix, các thư viện động DLL (Dynamic Link Library) của hệ điều hành, các trình điều khiển (driver), phần sụn firmware và BIOS. Phần mềm ứng dụng: để người dùng có thể hoàn thành một hay nhiều công việc nào đó, ví dụ như phần mềm văn phòng, phần mềm doanh nghiệp, phần mềm quản lý nguồn nhân lực Phần mềm chuyển dịch mã bao gồm trình biên dịch và thông dịch: các loại chương trình này sẽ đọc các câu lệnh từ các mã nguồn được viết bởi lập trình viên bằng một ngôn ngữ lập trình và dịch nó sang ngôn ngữ máy mà máy tính có thể hiểu được. 2.1.3.2. Theo khả năng ứng dụng Những phần mềm không phụ thuộc, nó có thể được bán cho bất kỳ khách hàng nào trên thị trường tự do. Ví dụ phần mềm về cơ sở dữ liệu Oracle, Photoshop…Những phần mềm được viết theo đơn đặt hàng hay hợp đồng của một khách hàng cụ thể nào đó (một công ty, bệnh viện, trường học…) 2.1.3.3. Theo điều kiện sử dụng Phần mềm mã nguồn mở, FreeWare,ShareWare 2.1.3.4. Theo hiệu quả xã hội Phần mềm độc hại, Phần mềm giáo dục 2.1.3.5. Theo kích thước Phần mềm khổng lồ, phần mềm mini 2.1.4. Phân biệt phần mềm nguồn mở với một số phần mềm khác 2.1.4.1. Phần mềm sở hữu Sinh viên: Lê Long Bảo – MM03A Trang 26 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Là phần mềm có bản quyền ràng buộc chặt chẽ các thao tác trên phần mềm, đảm bảo quyền lợi của người làm ra phần mềm. Copy Right (bản quyền) là thuật ngữ chỉ quyền quản lý đối với phần mềm, cho phép / không cho phép thực hiện các thao tác trên phần mềm. Với các phần mềm sở hữu, thông thường bản quyền có các ràng buộc chặt chẽ đảm bảo quyền lợi của người làm ra phần mềm. Do đó, bản quyền của các phần mềm chủ sở hữu thường rất chặt chẽ về quyền phân phối và quản lý, hạn chế quyền thay đổi và cải tiến và hầu như không cho phép việc phân tích ngược mã. Ví dụ: MS Office, Photoshop… 2.1.4.2. Phần mềm miễn phí Là phần mềm không mất phí sử dụng nhưng không nhất thiết là mã nguồn mở. Phần mềm sẽ được phân phối kèm theo tất cả các quyền, trừ quyền quản lý. Các chủ thể có thể sử dụng hoàn toàn tự do phần mềm, trừ việc sử dụng quyền quản lý để áp đặt hạn chế lên các quyền còn lại. Các phần mềm được phân phối theo cách thức này được gọi là phần mềm tự do hay phần mềm miễn phí. Ví dụ: Yahoo Messenger, Skype, IE,… 2.1.4.3. Phần mềm chia sẽ Phần mềm cung cấp miễn phí với một số hạn chế chức năng hoặc mức độ thuận tiện. Người dùng chỉ có đầy đủ chức năng khi trả tiền mua giấy phép. CHƯƠNG 3 : CÔNG NGHỆ VPN VÀ CÁC GIAO THỨC HỖ TRỢ 3.1. TỔNG QUAN VỀ CÔNG NGHỆ VPN Sinh viên: Lê Long Bảo – MM03A Trang 27 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp 3.1.1. Giới thiệu về công nghệ VPN VPN là một mô hình mạng mới tận dụng lại những cơ sơ hạ tầng hiện có của Internet. Với mô hình mạng mới này, người ta không phải đầu tư thêm nhiều về cơ sở hạ tầng mà các tính năng như bảo mật, độ tin cậy đảm bảo, đồng thời có thể quản lý riêng được sự hoạt động của mạng này. VPN cho phép người sử dụng làm việc tại nhà, trên đường đi hay văn phòng chi nhánh có kết nối an toàn đến máy chủ. Trong nhiều trường hợp VPN cũng giống như WAN (Wire Area Network), tuy nhiên đặt tính quyết định của VPN là chúng có thể dùng mạng công cộng như Internet mà đảm bảo tính riêng tư và tiết kiệm hơn nhiều. 3.1.2. Định nghĩa VPN VPN được hiểu đơn giản như là sự mở rộng của một mạng riêng (private network) thông qua các mạng công cộng. Về căn bản, mỗi VPN là một mạng riêng lẽ sử dụng một mạng chung (thường là internet) để kết nối cùng các site (các mạng riêng lẽ) hay nhiều người dùng từ xa. Thay cho việc sử dụng bởi một kết nối thực, chuyên dụng như đường lease line, mỗi VPN sử dụng các kết nối ảo được dẫn đường qua Internet từ mạng riêng của công ty tới các site hay các nhân viên từ xa. Để có thể gửi và nhận dữ liệu thông qua mạng công cộng mà vẫn đảm bảo tính an toàn và bảo mật, VPN cung cấp cơ chế mã hóa dữ liệu trên đường truyền tạo ra một đường ống bảo mật giữa nơi nhận và nơi gửi (Tunnel) giống như một kết nối point-to-point trên mạng riêng. Để có thể tạo ra một đường ống bảo mật đó, dữ liệu phải được mã hóa hay che dấu đi, chỉ cung cấp phần đầu gói dữ liệu (header) là thông tin về đường đi cho phép nó có thể đi đến đích thông qua mạng công cộng một cách nhanh chóng. Dữ liệu được mã hóa một cách cẩn thận do đó nếu các packet bị bắt lại trên đường truyền công cộng cũng không thể đọc được nội dung vì không có khóa để giải mã. Liên kết với dữ liệu được mã hóa và đóng gói được gọi là kết nối VPN. Các đường kết nối VPN thường được gọi là đường ống VPN (VPN Tunnel). Sinh viên: Lê Long Bảo – MM03A Trang 28 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 3.1. Minh họa mô hình kết nối VPN VPNs có thể sử dụng một hoặc cả hai kỹ thuật: dùng các kênh thuê bao riêng của các nhà cung cấp dịch vụ (cái này gọi là một Trusted VPN) hoặc gửi các dữ liệu đã được mã hóa lên mạng Internet (cái này gọi là Secure VPN). Dùng một Secure VPN qua một Trusted VPN thì gọi là Hybrid VPN. Kết hợp cả hai loại của Secure VPN trong một cổng vào, chẳng hạn như IPsec và SSL cũng gọi là Hybrid VPN. Qua nhiều năm, các Trusted VPN đã có sự thay đổi từ các thuê bao riêng từ các đại lý viễn thông đến các thuê bao IP riêng từ các nhà cung cấp dịch vụ Internet. Công nghệ chủ yếu của sự vận hành của Trusted VPN với mạng địa chỉ IP là các kênh ATM, mạch tiếp sóng khung, và MPLS. ATM và bộ tiếp sóng khung hoạt động tại tầng liên kết dữ liệu, là tầng 2 trong mô hình OSI (tầng 1 là tầng vật lý, tầng 3 là tầng mạng). MPLS mô phỏng một số thuộc tính của mạng chuyển mạch và mạng chuyển gói. Nó hoạt động cùng một tầng, thường được coi là tầng “2,5” vì nó nằm ngay giữa tầng liên kết và tầng mạng. MPLS bắt đầu thay thế ATM và bộ tiếp sóng khung để thực thi Trusted VPN với lượng lớn các doanh nghiệp và nhà cung cấp dịch vụ. Secure VPN có thể dùng IPsec trong việc mã hoá. IPsec nằm trong giao thức L2TP (Layer 2 Tunneling Protocol), trong thành phần SSL (Secure Sockets Layer) 3.0 hay trong Sinh viên: Lê Long Bảo – MM03A Trang 29 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp TLS (Transport Layer Security) với bộ mã hoá, L2F (Layer Two Forwarding) hay PPTP (Point-to-Point Tunneling Protocol). Chúng ta hãy xem qua các thành phần chính này. IPsec hay IP security – là tiêu chuẩn cho sự mã hoá cũng như cho thẩm định các gói IP tại tầng mạng. IPsec có một tập hợp các giao thức mật mã với 2 mục đích: an ninh gói mạng và thay đổi các khoá mật mã. Mộ số chuyên gia an ninh như Bruce Schneier của Counterpane Internet Security, đã xem IPsec như là một giao thức cho VPNs từ cuối những năm 1990. IPsec được hỗ trợ trong Windows XP, 2000, 2003 và Vista; trong Linux 2.6 và các phiên bản sau; trong Mac OS X, Net BDS, FreeBDS và OpenBDS, trong Solari, AIX, và HP-UX, trong VxWorks. Nhiều đã cung cấp dịch vụ IPsec VPN server và IPsec VPN client. L2TP/IPsec kết hợp đường dẫn ảo của L2TP với kênh an toàn của IPsec. Nó cho phép thay đổi Internet Key Exchange dễ dàng hơn so với thuần IPsec . Microsoft đã cung cấp một bản VPN client L2TP/IPsec miễn phí cho Windows 98, ME, và NT từ năm 2002, và gắn một VPN client L2TP/IPsec cho Windows XP, 2000, 2003 và Vista. Windows server 2003 và Windows 2000 server có L2TP/IPsec server. SSL và TLS là các giao thức cho luồng dữ liệu an toàn tại tầng 4 của mô hình OSI.. SSL 3.0 và TLS 1.0 là các bản thừa kế được dùng phổ biến với HTTP nhằm cho phép bảo vệ các đường dẫn Web an toàn, gọi là HTTPS. Tuy nhiên SSL/TLS cũng được dùng để tạo ra một đường dẫn ảo tunnel VPN. Ví dụ: OpenVPN là một gói VPN nguồn mở cho Linux, xBSD, Mac OS X, Pocket PCs và Windows 2000, XP, 2003, và Vista. Nó dùng SSL để cung cấp mã hoá cho cả dữ liệu và kênh điều khiển. Một vài hãng đã cung cấp SSL VPN server và client. 3.1.3. Lợi ích của VPN Một mạng riêng ảo có thể xoá bỏ các hàng rào địa lí trong kinh doanh, cho phép các nhân viên làm việc một cách hiệu quả tại nhà và cho phép một doanh nghiệp kết nối một cách an toàn tới các đại lý của họ cùng các hãng hợp tác. Một mạng riêng ảo thường rẻ hơn và có hiệu quả hơn các đường riêng ảo. Nhưng mặt khác, cách dùng của một VPN có thể phô bày các rủi ro an ninh tiềm ẩn. Trong khi hầu hết các mạng riêng ảo đang được dùng khá an toàn thì một mạng riêng Sinh viên: Lê Long Bảo – MM03A Trang 30 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp ảo cũng có thể làm cho chính nó khó phá hoại hơn bằng cách bảo vệ tham số của mạng một cách thích hợp. Phận sự của người quản trị mạng là áp dụng các tiêu chuẩn an ninh giống nhau trong việc kết nối các máy tính tới mạng thông qua VPN khi các máy tính kết nối trực tiếp vào mạng LAN. Kết hợp đồng thời cách dùng của cả hai kiểu VPNs có thể thấy được tiềm năng mạng của công ty này với công ty khác. Thêm vào đó, sử dụng phần mềm điều khiển từ xa như PC Anywhere, GoToMyPC hay VNC kết hợp với một VPN có thể khai thác được khả năng mạng của công ty tới các malware trong một máy trạm xa không kết nối VPN. Bởi Secure VPN sử dụng mã hoá, và vì một số hàm mật mã được dùng khá là đắt tiền nên một VPN được dùng khá nặng có thể tải xuống server của nó. Đặc thù của người quản trị là quản lí việc tải server bằng cách giới hạn số kết nối đồng thời để biết server nào có thể điều khiển. Khi số người cố gắng kết nối tới VPN đột nhiên tăng vọt đến đỉnh điểm, phá vỡ hết quá trình truyền tin, các nhân viên cũng thấy chính họ không thể kết nối được.Vì tất cả các cổng của VPN đều bận. Điểu đó chính là động cơ thúc đẩy người quản trị tạo ra các khoá ứng dụng làm việc mà không đòi hỏi VPN. Chẳng hạn thiết lập dịch vụ proxy hoặc dịch vụ Internet Message Access Protocol để cho phép nhân viên truy cập e-mail từ nhà hay trên đường. VPN cung cấp nhiều đặc tính hơn so với những mạng truyền thống và những mạng lease-line. Những lợi ích đầu tiên bao gồm: - Chi phí thấp hơn những mạng riêng: VPN có thể giảm chi phí khi truyền tới 20- 40% so với những mạng thuộc mạng lease-line và giảm việc chi phí truy cập từ xa từ 6080%. - Tính linh hoạt cho khả năng kinh tế trên Internet. VPN vốn đã có tính linh hoạt và có thể leo thang những kiến trúc mạng hơn là mạng cổ điển, bằng cách đó nó có thể hoạt động kinh doanh nhanh chóng và chi phí một cách hiệu quả cho việc kết nối mở rộng. Theo cách này VPN có thể dễ dàng kết nối hoặc ngắt kết nối từ xa của những văn phòng, những vị trí ngoài quốc tế, những người truyền thông, những người dùng điện thoại di Sinh viên: Lê Long Bảo – MM03A Trang 31 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp động, những người hoạt động kinh doanh bên ngoài như những yêu cầu kinh doanh đã đòi hỏi. - Đơn giản hóa những gánh nặng. - Những cấu trúc mạng ống, vì thế giảm việc quản lý những gánh nặng. Sử dụng một giao thức Internet backbone loại trừ những PVC tích hợp với kết nối hướng những giao thức như là Frame Relay và ATM - Tăng tính bảo mật: các dữ liệu quan trọng sẽ được che giấu đối với những người không có quyền truy cập và cho phép truy cập đối với những người dùng có quyền truy cập. - Hỗ trợ các giao thức mạng thông dụng hiện nay như TCP/IP. - Bảo mật địa chỉ IP: bởi vì thông tin được gửi đi trên VPN đã được mã hóa do đó các địa chỉ bên trong mạng riêng được che giấu và chỉ sử dụng các địa chỉ bên ngoài Internet. 3.1.4. Các thành phần cần thiết để tạo kết nối VPN User Authentication: cung cấp cơ chế chứng thực người dùng, chỉ cho phép người dùng hợp lệ kết nối và truy cập hệ thống VPN. Address Management: cung cấp địa chỉ IP hợp lệ cho người dùng sau khi gia nhập hệ thống VPN để có thể truy cập tài nguyên mạng nội bộ. Data Encryption: cung cấp giải pháp mã hóa dữ liệu trong quá trình truyền nhằm đảm bảo tính riêng tư và toàn vẹn dữ liệu. Key Management: cung cấp giải pháp quản lý các khóa dùng cho quá trình mã hóa và giải mã dữ liệu. 3.2. CÁC GIAO THỨC VPN 3.2.1. L2TP Trước khi xuất hiện chuẩn L2TP (tháng 8 năm 1999), Cisco sử dụng Layer 2 Forwarding (L2F) như là giao thức chuẩn để tạo kết nối VPN. L2TP ra đời sau với những tính năng được tích hợp từ L2F. L2TP là dạng kết hợp của Cisco L2F và Microsoft Point-to-Point Tunneling Protocol (PPTP). Microsoft hỗ trợ chuẩn PPTP và L2TP trong các phiên bản WindownNT và 2000 Sinh viên: Lê Long Bảo – MM03A Trang 32 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp L2TP được sử dụng để tạo kết nối độc lập, đa giao thức cho mạng riêng ảo quay số (Virtual Private Dial-up Network). L2TP cho phép người dùng có thể kết nối thông qua các chính sách bảo mật của công ty (security policies) để tạo VPN hay VPDN như là sử mở rộng của mạng nội bộ công ty. L2TP không cung cấp mã hóa Hình 3.2. Giao thức L2TP L2TP là sự kết hợp của PPP (giao thức Point-to-Point) với giao thức L2F (Layer 2 Forwarding) của Cisco do đó rất hiệu quả trong kết nối mạng dial, ADSL và các mạng truy cập từ xa khác. Giao thức mở rộng này sử dụng PPP để cho phép truy cập VPN bởi những người sử dụng từ xa. 3.2.2. L2F Là giao thức lớp 2 được phát triển bởi Cisco System. L2F được thiết kế cho phép tạo đường hầm giữa NAS và một thiết bị VPN Gateway để truyền các Frame, người sử dụng từ xa có thể kết nối đến NAS và truyền Frame PPP từ remote user đến VPN Gateway trong đường hầm được tạo ra. 3.2.3. PPTP Đây là giao thức đường hầm phổ biến nhất hiện nay. Giao thức được phát triển bởi Microsoft. PPTP cung cấp một phần của dịch vụ truy cập từ xa RAS (Remote Access Sinh viên: Lê Long Bảo – MM03A Trang 33 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Service). Như L2F, PPTP cho phép tạo đường hầm từ phía người dùng truy cập vào VPN Gateway PPTP được định nghĩa bởi IETF trong RFC 2673, cho phép các kết nối chi phí thấp đến các mạng doanh nghiệp thông qua mạng Internet công cộng. Các phiên kết nối PPTP bảo mật cho phép kết nối vào mạng doanh nghiệp thông qua Internet. Các cuộc gọi này thường được gọi vào các thiết bị phần cứng, sau đó thiết bị này kết nối vào một Windows NT Server. Bởi vì PPP hỗ trợ nhiều giao thức khác nhau, nó có thể truy cập các hạ tầng mạng rất khác nhau. Kiến trúc này bao gồm các ứng dụng client/server trong đó client là các PC của người dùng, chạy PPTP. Về phía Server, sẽ có các dial-in routers, VPN concentrator. Cả hai đều có thể khởi tạo tunnel. Khi người dùng ở xa khởi tạo một tunnel, nó được gọi là chế độ xung phong. Khi tunnel được tạo từ server chế độ này được gọi là compulsory mode. Một NAS có thể khởi tạo một tunnel ngay cả khi một client không có chạy PPTP. PPTP sẽ đóng gói các frame PPP vào các IP datagrams để truyền trên hệ thống mạng IP, chẳng hạn như mạng Internet/ Intranet. PPTP sẽ kế thừa các đặc tính của PPP như mã hóa, nén…PPTP yêu cầu một hạ tầng mạng IP giữa một PPTP clients và một PPTP server. PPTP client có thể được kết nối vào một mạng IP mà PPTP Server cũng kết nối vào mạng IP này. Hoặc PPTP clients cũng có thể quay vào một NAS để thiết lập kết nối IP PPTP dùng TCP để tạo và hủy các tunnel. PPTP cũng dùng một phiên bản bổ sung của GRE để đóng gói PPP như là dữ liệu của tunnel. Tải của khung PPP có thể được mã hóa hoặc nén hoặc cả hai. Quá trình xác thực diễn ra trong giai đoạn tạo các kết nối VPN PPTP sử dụng cùng một cơ chế như các kết nối PPP, nghĩa là cũng dùng PAP hoặc CHAP. Một phiên bản nâng cao của CHAP, được gọi là MS-CHAP được tạo ra bởi Microsoft dùng các thông tin trong NT Domain. Một chọn lựa khác cho quá trình xác thực là IETF PPP. Microsoft cũng đã tích hợp một giao thức khác gọi là Microsoft Point-to-Point-Encryption để mã hóa traffic trên các kết nối PPP. MPPE dựa trên thuật toán RSA R4. Nếu quá trình mã hóa Sinh viên: Lê Long Bảo – MM03A Trang 34 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp trên toàn bộ kết nối là cần thiết, IPSEC có thể mã hóa IP traffic từ đầu kết nối cho đến cuối kết nối sau khi một kênh PPTP đã được thiết lập. PPTP là sự mở rộng của giao thức PPP cơ bản cho nên giao thức PPTP không hỗ trợ những kết nối nhiều điểm liên tục mà nó chỉ hỗ trợ kết nối từ điểm tới điểm. Để tận dụng ưu điểm của kết nối được tạo ra bởi PPP, PPTP định nghĩa hai loại gói tin: Gói điều khiển và gói dữ liệu rồi gán chúng lên hai kênh riêng. Sau đó PPTP, phân tách các kênh điều khiển và kênh dữ liệu thành luồng điều khiển với giao thức TCP và luồng dữ liệu với giao thức IP. Kết nối TCP được tạo ra giữa client PPTP với máy chủ PPTP được sử dụng để chuyển thông báo điều khiển. Sau khi đường hầm được thiết lập thì dữ liệu được truyền từ client sang máy chủ PPTP chứa các gói dữ liệu IP. Gói dữ liệu IP được đóng gói tiêu đề như hình sau: Hình 3.3. Định dạng gói tin điều khiển thông điệp PPTP Hình 3.4. Định dạng gói tin dữ liệu PPTP Khi đóng gói nó có sử dụng số ID của host cho điều khiển truy cập. ACK cho giám sát tốc độ truyền dữ liệu trong đường hầm. PPTP cũng có cơ chế điều khiển tốc độ nhằm giới hạn số lượng dữ liệu truyền đi. Chế độ này làm giảm tối thiểu kích thước dữ liệu phải truyền lại do mất gói. Kết nối PPTP giữa địa chỉ IP và PPTP client và IP address của PPTP server dùng port 1723. Các gói dữ liệu PPTP mang các thông tin điều khiển kết nối để duy trì PPTP tunnel. Sinh viên: Lê Long Bảo – MM03A Trang 35 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Sau giai đoạn bắt tay ban đầu, hai bên sẽ trao đổi một loạt các thông điệp bao gồm 12 thông điệp thiết lập và duy trì kết nối PPTP. Quá trình đóng gói dữ liệu thông qua nhiều mức đóng gói khác nhau. Dữ liệu ban đầu được mã hóa và đóng gói trong các PPP Header để tạo ra các frame PPP. Frame PPP này sau đó sẽ được đóng gói với các GRE Header. Để tóm tắt quá trình xử lý gói tin PPTP, chúng ta có thể hình dung thông qua ba bước sau: - Quá trình thiết lập kết nối PPP. - Điều khiển kết nối - PPTP Tunneling và trao đổi dữ liệu Quá trình điều khiển kết nối: Sau khi kết nối PPP giữa PPTP Client và Server được thiết lập, quá trình điều khiển PPTP được thiết lập dựa trên cơ sở địa chỉ IP của client và server, sử dụng cổng TCP động và chiếm giữ cổng TCP 1723. Sau khi quá trình điều khiển kết nối được thiết lập, các thông tin điều khiển và quản lý sẽ được trao đổi giữa các bên có liên quan trong quá trình giao tiếp. Những thông tin đảm nhiệm vai trò bảo trì, quản lý và kết thúc PPP tunnel. Những thông điệp này là những thông điệp có định kỳ bao gồm “PPTP-Echo-Request, PPTP-Echo-Reply” dùng để giúp đỡ trong quá trình dò tìm các kết nối PPTP hư hỏng giữa server và client Hình 3.5. Quá trình điều khiển kết nối Một số thông điệp phổ biến trong quá trình điều khiển kết nối PPTP Control Tên Start-Control- Mô tả Yêu cầu từ PPTP Client để thiết lập kết nối điều khiển Sinh viên: Lê Long Bảo – MM03A Trang 36 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Connection-Request Start-Control- Hồi đáp từ PPTP server đến thông điệp Start-Control- Connection-Reply Outgoing-Call-Request Connection-Request từclient Yêu cầu từ PPTP Client đến Server để thiết lập một PPTP Outgoing-Call-Reply Tunnel Hồi đáp từ PPTP-Server đến thông điệp Outgoing-Call- Echo-Request Request của Client Cơ chế duy trì của client hoặc server. Nếu bên đối diện không Echo-Reply Set-Link-Info Call-Clear-Request hồi đáp lại thông điệp, tunnel sẽ được ngắt Hồi đáp lại thông điệp Echo-Request từ bên yêu cầu Thông điệp tùy chọn từ một bên có liên quan PPP Thông điệp từ PPTP Client khởi tạo quá trình kết thúc của Call-Disconnect-Notify tunnel Hồi đáp từ server đến Call-Clear-Request của client. Nó cũng được xem là thông điệp từ server khởi tạo quá trình kết thúc WAN-Error-Notify tunnel. Thông điệp từ PPTP Server đến tất cả các PPTP Client nhằm Stop-Control- thông báo trong PPP interface của server Thông điệp từ PPTP Client hoặc server thông báo một sự kết Connection-Request Stop-Control- thúc trong quá trình kết thúc kết nối điều khiển Hồi đáp từ phía đối diện đến thông điệp Stop-Control- Connection-Reply Connection-Request Bảng 3.1. Bảng các thông điệp điều khiển kết nối PPTP Quá trình tạo đường hầm dữ liệu và xử lý PPTP: Một gói dữ liệu PPTP phải trải qua nhiều giai đoạn đóng gói, bao gồm những giai đoạn sau: - Quá trình đóng gói dữ liệu: Thông tin nguyên bản tối đa được mã hóa và được đóng gói bên trong một PPP Frame. Một PPP Header được thêm vào Frame. - Quá trình đóng gói PPP Frame: Tổng hợp các PPP Frame sau đó đóng gói bên trong một Generic Routing Encapsulation (GRE) đã được sửa đổi. GRE Header chứa trường 4 byte ACK và một bit ACK hồi đáp. Ngoài ra trường khóa GRE Frame được thay Sinh viên: Lê Long Bảo – MM03A Trang 37 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp thế bằng trường 2 byte gói là chiều dài tối đa và 2 byte được xem là ID. PPTP Client xây dựng những trường này khi nó tạo PPTP Tunnel. - Quá trình đóng gói GRE: Kế tiếp, một IP Header đã được đóng gói bên trong GRE được thêm vào PPP Frame. Phần IP header này chứa đựng địa chỉ IP nguồn của PPTP client và đích của server. - Quá trình đóng gói tầng Data Link: PPTP là một giao thức tạo đường hầm nằm ở tầng 2. Vì vậy phần header của Data Link và phần đuôi giữ vai trò quan trọng trong việc tạo đường hầm dữ liệu. Trước khi được đặt vào môi trường truyền thông, tầng Data Link thêm phần đầu và đuôi của nó vào gói dữ liệu. Nếu gói dữ liệu được truyền qua PPTP tunnel cục bộ, gói dữ liệu được đóng gói bằng phần đầu và đuôi theo công nghệ LAN (như Ethernet). Ở một khía cạnh khác, nếu tunnel được đáp lại thông qua một kết nối WAN, phần đầu và đuôi mà được thêm vào gói dữ liệu một lần nữa thì không thay đổi. Hình 3.6. Quá trình xử lý dữ liệu PPTP 3.2.4. GRE Đây là đa giao thức truyền thông đóng gói IP, CLNP và tất cả các gói dữ liệu bên trong đường ống IP (IP Tunnel). Với GRE Tunnel, Cisco router sẽ đóng gói cho mỗi vị trí một giao thức đặc trưng chỉ định trong gói IP header, tạo một đường kết nối ảo (virtual point-to-point) tới Cisco router cần đến. Và khi gói dữ liệu đến đích IP header sẽ được mở ra. Sinh viên: Lê Long Bảo – MM03A Trang 38 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Bằng việc kết nối nhiều mạng con với giao thức khác nhau trong môi trường có một giao thức chính. GRE Tunneling cho phép các giao thức khác có thể thuận lợi trong việc định tuyến cho gói IP GRE được định nghĩa trong RFC 1701 và 1702, đơn giản chỉ là một cơ chế để thực hiện quá trình đóng gói một giao thức lớp network tùy ý vào một giao thức khác. GRE cung cấp một cơ chế đơn giản, gọn nhẹ để đóng gói data để gửi trên mạng IP. GRE là một cơ chế đóng gói đơn giản, nhẹ cân, đa năng cho dữ liệu cơ sở. GRE thường được dùng bởi nhà cung cấp ISPs dùng để chuyển hướng thông tin định tuyến bên trong mạng Intranet của họ. Tuy nhiên các Internet backbone router trong mạng Intranet của ISP trích lọc lưu lượng GRE này. Do đó, PPTP Tunnel đã được thiết lập có thể đảm bảo và bí mật chuyển đến cho người nhận. Khi dữ liệu này chuyển thành công đến người nhận, người nhận phải xử lý gói dữ liệu đã tunnel trích ra thành dữ liệu nguyên bản. Để nhận được dữ liệu nguyên gốc người nhận theo các bước sau: - Người nhận xử lý và gỡ bỏ phần đầu và phần đuôi của Data Link Header mà đã được thêm vào bởi người gửi. - Kế tiếp, phần đầu GRE được gỡ bỏ. - Phần đầu IP được xử lý và được gỡ bỏ. - Phần đầu PPP được xử lý và gỡ bỏ. 3.2.5. IPSec IPSec là sự lựa chọn cho việc bảo mật trên VPN. IPSec là một khung bao gồm bảo mật dữ liệu (data confidentiality), tính toàn vẹn của dữ liệu và việc chứng thực dữ liệu. IPSec cung cấp dịch vụ bảo mật ứng dụng KDE cho phép thỏa thuận các giao thức và thuật toán trên nền chính sách cục bộ (group policy) và sinh ra các khóa bảo mật mã hóa và chứng thực được sử dụng trong IPSec Sinh viên: Lê Long Bảo – MM03A Trang 39 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 3.7. IPSec 3.2.6. Bảng so sánh các giao thức Tên IPSEC Điểm mạnh Điểm yếu Sử dụng trong mạng + Hoạt động một +Không có quản lý + Phần mềm tốt cách độc lập. người dùng. nhất trên máy người + Cho phép giấu địa +Ít sản phẩm có khả dùng đối với việc chỉ mạng. năng tương tác với nhà truy cập từ xa. + Đáp ứng kỹ thuật sản xuất. PPTP mã hóa + Chạy trên WINNT,98,95, +Ít hỗ trợ giao diện nền + Không cung cấp mã + Được dùng ở máy mã hóa dữ liệu từ những chủ truy cập từ xa. nguồn mở. máy chủ truy cập từ xa. + Có thể dùng cho + Định đường hầm + Mang tính độc quyền máy để bàn win9x kết nối. rộng lớn + Cung cấp khả năng hoặc máy trạm winNT đa giao thức. + Mã hóa RSA, và RC-4 L2F + Cho phép định + Không có mã hóa. + Dùng cho truy đường hầm đa giao + Yếu trong việc xác cập từ xa thức. thực người dùng. + Được cung cấp bởi +Không có điều khiển Sinh viên: Lê Long Bảo – MM03A Trang 40 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp L2TP nhiều nhà cung cấp. luồng cho đường hầm. + Kết hợp PPTP và + Chưa được cung cấp + Dùng cho truy L2F. nhiều trong sản phẩm. cập từ xa. + Chỉ cần 1 gói chạy + Không bảo mật ở trên nền X25 và những đoạn cuối. Frame Relay. + Sử dụng IPSec cho việc mã hóa Bảng 3.2. Bảng so sánh các giao thức 3.3. KẾT NỐI VPN 3.3.1. Các dạng kết nối VPN 3.3.1.1. Remote Access VPNs Remote Access VPNs cho phép truy cập bất cứ lúc nào bằng Remote, mobile và các thiết bị truyền thông của nhân viên các chi nhánh kết nối đến tài nguyên mạng của tổ chức. Remote Access VPNs mô tả việc các người dùng ở xa sử dụng các phần mềm VPN để truy cập vào mạng Intranet của công ty thông qua gateway hoặc VPN concertrator (bản chất là một server). Vì lý do này, giải pháp này thường được gọi là client/server. Trong giải pháp này, các người dùng thường thường sử dụng các công nghệ WAN truyền thống để tạo lại các tunnel về mạng HO (Home Office) của họ. Một hướng phát triển khá mới trong remote access VPN là dùng wireless VPN, trong đó một nhân viên có thể truy cập về mạng của họ thông qua kết nối không dây. Trong thiết kế này, các kết nối không dây cần phải kết nối về một trạm wireless (wireless terminal) và sau đó về mạng của công ty. Trong cả hai trường hợp, phần mềm client trên máy PC đều cho phép khởi tạo các kết nối bảo mật, còn được gọi là tunnel. Một phần quan trọng của thiết kế này là việc thiết kế quá trình xác thực ban đầu nhằm để đảm bảo là yêu cầu được xuất phát từ một nguồn tin cậy. Thường thì giai đoạn ban đầu này dựa trên cùng một chính sách về bảo mật của công ty. Chính sách bao gồm: qui trình (procedure), kỹ thuật, server, Terminal Access Controller,… Sinh viên: Lê Long Bảo – MM03A Trang 41 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Bằng việc triển khai Remote Access VPNs, những người dùng từ xa hoặc các chi nhánh văn phòng chỉ cần cài đặt một kết nối cục bộ đến nhà cung cấp dịch vụ ISP hoặc ISP’s POP và kết nối đến tài nguyên thông qua Internet. Hình 3.8. Remote Access VPN Như hình trên bạn có thể suy ra, thuận lợi chính của Remote Access VPNs: - Sự cần thiết của RAS và việc kết hợp với modem được loại trừ. - Sự cần thiết hỗ trợ cho người dùng cá nhân được loại trừ bởi vì kết nối từ xa đã được tạo điều kiện thuận lợi bởi ISP. - Việc quay số từ những khoảng cách xa được loại trừ, thay vào đó, những kết nối với khoảng cách xa sẽ được thay thế bởi các kết nối cục bộ. - Giảm giá thành chi phí cho các kết nối với khoảng cách xa. - Do đây là một kết nối mang tính cục bộ, do vậy tốc độ kết nối sẽ cao hơn so với kết nối trực tiếp đến những khoảng cách xa. - VPNs cung cấp khả năng truy cập đến trung tâm tốt hơn bởi vì nó hổ trợ dịch vụ truy cập ở mức độ tối thiểu nhất cho dù có sự tăng nhanh chóng các kết nối đồng thời đến mạng. Ngoài những thuận lợi trên, thì VPN cũng có những điểm bất lợi như: - Remote Access VPNs cũng không bảo đảm được chất lượng phục vụ. Sinh viên: Lê Long Bảo – MM03A Trang 42 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp - Khả năng mất dữ liệu là rất cao, thêm nữa là các phân đoạn của gói dữ liệu có thể đi ra ngoài và bị thất thoát. - Do độ phức tạp của thuật toán mã hóa, protocol overhead tăng đáng kể, điều này gây khó khăn cho quá trình xác nhận. Thêm vào đó việc nén dữ liệu IP và PPP-based diễn ra vô cùng chậm chạp và tồi tệ. - Do phải truyền dữ liệu thông qua Internet, nên khi trao đổi các dữ liệu lớn như các gói dữ liệu truyền thông, phim ảnh, âm thanh sẽ rất chậm. 3.3.1.2. Site-to-Site (Lan-to-Lan) Site-to-site VPN được áp dụng để cài đặt mạng từ một vị trí này kết nối tới mạng của một vị trí khác thông qua VPN. Trong hoàn cảnh này thì việc chứng thực ban đầu giữa các thiết bị mạng được giao cho người sử dụng. Nơi mà có một kết nối VPN được thiết lập giữa chúng. Khi đó các thiết bị này đóng vai trò như là một gateway, và đảm bảo rằng việc lưu thông đã được dự tính trước cho các site khác. Các router và Firewall tương thích với VPN, và các bộ tập trung VPN chuyên dụng đều cung cấp chức năng này. Hình 3.9. Site to Site VPN Lan-to-Lan có thể được xem như là intranet VPN hoặc extranet VPN. Nếu chúng ta xem xét dưới góc độ chứng thực nó có thể được xem như là một intranet VPN, ngược lại chúng được xem như là một extranet VPN. Tính chặt chẽ trong việc truy cập giữa các site có thể được điều khiển bởi cả hai (intranet và extranet VPN) theo các site tương ứng của chúng. Giải pháp Site to Site VPN không phải là một remote access VPN nhưng nó được thêm vào đây là vì tính chất hoàn thiện của nó Sinh viên: Lê Long Bảo – MM03A Trang 43 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Sự phân biệt giữa remote access VPN và Lan to Lan chỉ đơn thuần mang tính chất tượng trưng và xa hơn là nó được cung cấp cho mục đích thảo luận. Ví dụ như là các thiết bị VPN dựa trên phần cứng mới, ở đây để phân loại được, chúng ta phải áp dụng cả hai cách, bởi vì hardware-based client có thể xuất hiện nếu một thiết bị đang truy cập vào mạng. Mặc dù một mạng có thể có nhiều thiết bị VPN đang vận hành. Lan to Lan VPN là sự kết nối hai mạng riêng lẻ thông qua một đường hầm bảo mật, đường hầm bảo mật này có thể sử dụng các giao thức PPTP, L2TP, hoặc IPSec, mục đích của Lan to Lan là kết nối hai mạng không có đường nối lại với nhau, không có việc thỏa hiệp tích hợp, chứng thực, sự cẩn mật của dữ liệu, bạn có thể thiết lập một Lan to Lan VPN thông qua sự kết hợp của các thiết bị VPN Concentrators, Routers, và Firewalls. Kết nối Lan to Lan được thiết kế để tạo một kết nối mạng trực tiếp, hiệu quả bất chấp khoảng cách vật lý giữa chúng. Có thể kết nối này luân chuyển thông qua internet hoặc một mạng không được tin cậy. Bạn phải đảm bảo vấn đền bảo mật bằng cách sử dụng sự mã hóa dữ liệu trên tất cả các gói dữ liệu đang luân chuyển giữa các mạng đó. Intranet VPNs: được sử dụng để kết nối đến các chi nhánh văn phòng của tổ chức đến Backbone Router sử dụng campus router. Theo như mô hình bên dưới sẽ rất tốn chi phí do phải sử dụng 2 router để thiết lập mạng, thêm vào đó, việc triển khai, bảo trì, quản lý mạng Intranet Backbone sẽ rất tốn kém còn tùy thuộc vào lưu lượng lưu thông. Sinh viên: Lê Long Bảo – MM03A Trang 44 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 3.10. Intranet VPNs Để giải quyết vấn đề trên, sự tốn kém của WAN backbone được thay thế bởi các kết nối Internet với chi phí thấp. Với mô hình như vậy hiệu quả chi phí hơn, do giảm số Sinh viên: Lê Long Bảo – MM03A Trang 45 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp lượng router được sử dụng theo mô hình WAN backbone. Giảm thiểu đáng kể số lượng hỗ trợ yêu cầu người dùng cá nhân qua toàn cầu, các trạm ở một số remote site khác nhau. Kết nối nhanh hơn, tốt hơn. Extranet VPNs: Không giống như Intranet và Remote Access-based, Extranet không hoàn toàn cách li từ bên ngoài, Extranet cho phép truy cập những tài nguyên mạng cần thiết của các đối tác kinh doanh, chẳng hạn như khách hàng, nhà cung cấp, đối tác những người giữ vai trò quan trọng trong tổ chức. Do hoạt động trên môi trường Internet, bạn có thể lựa chọn nhà phân phối khi lựa chọn và đưa ra phương pháp giải quyết tùy theo nhu cầu của tổ chức. Bởi vì một phần Internet – Connectivity được bảo trì bởi nhà cung cấp ISP nên cũng giảm chi phí bảo trì khi thuê nhân viên bảo trì. Dễ dàng triển khai, quản lý và chỉnh sửa thông tin. Hình 3.11. Extranet VPNs Sinh viên: Lê Long Bảo – MM03A Trang 46 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 3.12. Thiết lập một kết nối Client to Server Máy VPN cần kết nối (VPN Client) tạo kết nối VPN tới máy chủ cung cấp dịch vụ VPN (VPN Server) thông qua kết nối Internet. Máy chủ cung cấp dịch vụ VPN trả lời kết nối tới Máy chủ cung cấp dịch vụ VPN chứng thực cho kết nối và cấp phép cho kết nối Bắt đầu trao đổi dữ liệu giữa máy cần kết nối VPN và mạng công ty 3.3.2. So sánh VPN Client – to – Site và VPN Site – to – Site Đặc điểm Mô hình áp dụng VPN Client – to – Site VPN Site – to - Site +Nhân viên làm việc lưu động +Kết nối các hệ thống mạng các hay làm việc ở nhà muốn kết nơi khác nhau như các doanh Yêu cầu phần cứng Kết nối mạng Bảo mật Các dạng kết nối nối vào mạng công ty. nghiệp có các chi nhánh ở xa + Mô hình này đơn giản hơn nhau. + Mô hình này phức tạp hơn. Ít Nhiều Sử dụng đường truyền Internet Sử dụng đường truyền Internet Tốt Tốt Người dùng hoặc nhân viên từ Chia làm 2 dạng: xa kết nối đến doanh nghiệp +Intranet base: các chi nhánh của cùng một công ty ở xa kết nối với nhau. +Extranet base: công ty này kết nối tới công ty khác (ví dụ như Chi phí đồng nghiệp hay nhà hỗ trợ…) Ít tốn kém hơn, chỉ cần dùng Tốn kém lúc đầu triển khai. đường truyền internet có sẵn, và phần mềm kết nối Bảng 3.3. Bảng so sánh VPN Client to Site và VPN Site to Site Sinh viên: Lê Long Bảo – MM03A Trang 47 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp CHƯƠNG 4: MÔ HÌNH HỆ THỐNG VÀ TRIỂN KHAI OPENVPN TRÊN UBUNTU SERVER 4.1. MÔ HÌNH HỆ THỐNG 4.1.1. VPN Client – to – Site Hình 4.1. Mô hình giả lập hệ thống VPN Client – to – Site Chú thích: Mô hình hệ thống gồm 1 máy OpenVPN Server Linux, hệ điều hành Ubuntu Server, một máy VPN Client, một máy Local Computer nằm trong miền mạng của doanh nghiệp. Các thông số được mô tả như sau: - Local Computer : o Hệ điều hành: WinXP. o IP: 172.16.2.4. - OpenVPN Server: Sinh viên: Lê Long Bảo – MM03A Trang 48 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp o Hệ điều hành: Ubuntu Server 10.10 o IP:  Eth1: 172.16.2.2  Eth0: 192.168.1.20 - VPN Client: o Hệ điều hành: WinXP o IP: 192.168.1.15 4.1.2. VPN Site – to – Site Hình 4.2. Mô hình giả lập VPN Site – to - Site Chú thích: Mô hình giả lập kết nối VPN Site – to – Site với 2 máy chủ, và 1 máy chủ làm Router Gateway mềm đóng vai trò định tuyến giữa 2 mạng khác nhau. VPN1_Client sẽ quay kết nối đến máy chủ Ubuntu_VPN2 thuộc miền mạng của 1 chi nhánh khác của doanh nghiệp và ngược lại VPN2_Client sẽ quay kết nối đến Ubuntu_VPN1 thuộc miền mạng bên này của doanh nghiệp. Nếu 2 máy VPN1_Client và VPN2_Client nhận IP ảo được cấp khi quay kết nối, thì kết nối lúc này đã thành công. Các thông số cấu hình được mô tả như sau: Chi nhánh 1: Sinh viên: Lê Long Bảo – MM03A Trang 49 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp - Server: o Hệ điều hành: Ubuntu Server 10.10 o IP: 192.168.1.2 o Nhiệm vụ: Máy chủ OpenVPN 1 - VPN1_Client o Hệ điều hành: WinXP o IP: 192.168.1.3 o Nhiệm vụ: Máy tính nằm trong miền mạng nội bộ Chi nhánh 2: - Server: o Hệ điều hành: Ubuntu Server 10.10 o IP: 172.16.1.2 o Nhiệm vụ: Máy chủ OpenVPN 2 - VPN2_Client o Hệ điều hành: WinXP o IP: 172.16.1.3 o Nhiệm vụ: Máy tính nằm trong miền mạng nội bộ 4.2. CÀI ĐẶT VÀ CẤU HÌNH OPENVPN 4.2.1. OpenVPN Client – to – Site Hình 4.3. Cài đặt OpenVPN trên Ubuntu Server - Để cài đặt OpenVPN Server dùng lệnh: sudo apt-get install openvpn - Sau đó khởi động lại hệ thống Sinh viên: Lê Long Bảo – MM03A Trang 50 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.4. Sao chép thư mục chứa các file chứng thực và cấu hình tới thư mục etc - Các file chứng thực như CA, và các file cấu hình mẫu nằm trong thư mục easy-rsa, chúng ta sao chép thư mục này từ đường dẫn /usr/share/doc/openvpn/example đến thư mục /etc/openvpn bằng lệnh: cp –r /usr/share/doc/openvpn/example /etc/openvpn Hình 4.5. Sao chép file cấu hình mẫu của openvpn - Tiến hành sao chép file cấu hình mẫu server.conf tới thư mục được cài đặt /etc/openvpn bằng lệnh: cp –r /usr/share/doc/openvpn/examples/sample-config files/server.conf.gz /etc/openvpn Hình 4.6. Cấu hình file vars - Di chuyển vào thư mục /etc/openvpn/easy-rsa/2.0/ - Sau đó dùng lệnh “nano vars” để chỉnh sửa thông tin như hình. Sinh viên: Lê Long Bảo – MM03A Trang 51 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.7. Tạo CA - Tiến hành build CA bằng lệnh: ./build-ca - Phần common name: đặt tên là ca Hình 4.8. Tạo khóa chứng thực server - Dùng lệnh ./build-key-server openvpnserver để build key cho server - Phần common name đặt tên là openvpnserver Sinh viên: Lê Long Bảo – MM03A Trang 52 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.9. Tạo 2 user - Tạo 2 user để cấp cho client sau này, dùng lệnh : adduser - Đặt password cho 2 user này, sau đó tiến hành tạo khóa chứng thực cho 2 user Hình 4.10. Tiến hành tạo khóa chứng thực cho 2 user - Sau khi tạo user xong, chúng ta dùng lệnh: ./build-key để tạo khóa chứng thực cho 2 user. - Phần common name đặt tên trùng với tên 2 user Sinh viên: Lê Long Bảo – MM03A Trang 53 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.11. Tiến hành cấu hình file server.conf - Di chuyển vào thư mục /etc/openvpn - Dùng lệnh: nano server.conf để cấu hình file server.conf - Các thông số quan trọng cần cấu hình o Ca (/etc/openvpn/easyrsa/2.0/keys/ca.crt) o Cert (/etc/openvpn/easyrsa/2.0/keys/openvpnserver.crt) o Key (/etc/openvpn/easyrsa/2.0/keys/openvpnserver.key) o Push “route ” Sinh viên: Lê Long Bảo – MM03A Trang 54 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.12. Tiến hành mã hóa key - Dùng lệnh ./build-dh để mã hóa tất cả. Hình 4.13. Tiến hành cấu hình iptables - Cấu hình iptables để cho phép các kết nối từ bên ngoài mạng có thể thông với bên trong mạng. 4.2.2. OpenVPN Site – to – Site Quá trình cấu hình OpenVPN Server đối với Site – to – Site cũng tương tự như trên. Cũng tiến hành cài đặt và tạo key mã hóa ở 2 bên thuộc 2 chi nhánh gồm Ubuntu Server 1 và Ubuntu Server 2. Phần quan trọng để 2 miền mạng thuộc 2 chi nhánh khác nhau có thể thông nhau nằm ở Router Gateway, ở đây sẽ dùng Ubuntu Server làm Router Gateway mềm. Sinh viên: Lê Long Bảo – MM03A Trang 55 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.14. Cấu hình IP ở Router Gateway - Để 2 Ubuntu Server ở 2 chi nhánh có thể thông nhau thì tại Router Gateway 2 card mạng nằm trên Router này được nối với card mạng ở 2 phía của 2 chi nhánh. - Cấu hình default gateway ở mỗi card mạng sao cho ip này trỏ sang ip kia như hình. Hình 4.15. Đứng ở gateway tiến hành ping sang 2 miền mạng khác nhau - Để kiểm tra kết nối chúng ta đứng ở gateway và 2 ubuntu server tiến hành ping sang nhau để kiểm tra kết nối có thông hay không, nếu đúng như hình cho cả 3 server là thông. 4.3. TIẾN HÀNH QUAY KẾT NỐI 4.3.1. Kiểm tra VPN Client – to – Site Hình 4.16. Tiến hành chạy OpenVPN ở Sinh viên: Lê Long Bảo – MM03A Server Trang 56 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Hình 4.17. IP cấp phát thành công cho VPN Client - Khi quay kết nối thành công, sẽ có 1 IP được cấp phát, IP này sẽ giúp tạo đường ống bảo mật kết nối từ Client tới Server. Nếu IP được cấp phát như hình thì quá trình quay kết nối VPN đã thành công. - IP cấp phát thành công là: 10.8.0.2 4.3.2. Kiểm tra VPN Site – to – Site Hình 4.18. IP cấp phát thành công cho máy VPN2_Client Sinh viên: Lê Long Bảo – MM03A Trang 57 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp - Tương tự VPN2_Client sau khi quay kết nối thành công, thì ip đã được cấp thành công là: 10.8.0.6. 4.4. Quan sát bằng gói tin Wireshark Hình 4.19. Kiểm tra bằng Wireshark - Kiểm tra khi quay kết nối từ Client đến Server bằng Wireshark ta thấy các gói tin đều được mã hóa và bảo mật an toàn bằng giao thức PPTP. KẾT LUẬN Trong môi trường cạnh tranh và hội nhập như hiện nay, để có thể tồn tại và phát triển thì CNTT là một vũ khí không thể thiếu đối với các doanh nghiệp hiện nay. Vấn đề lợi nhuận, chi phí, giá thành cho các trang thiết bị phục vụ công tác quản trị, hiệu quả, năng suất của công việc, được các doanh nghiệp đặt lên hàng đầu. Với mô hình kết nối sử dụng máy chủ Linux như Ubuntu Server và phần mềm OpenVPN sẽ giúp các doanh nghiệp đặt biệt là người quản trị mạng có thể quản lý, làm việc từ xa, thông qua các kết nối với các giao thức bảo mật như L2TP, PPTP,IPSec,…. Người dùng có thể truy cập tại nhà hoặc tại các văn phòng chi nhánh của công ty để truy cập kết nối tới công ty làm việc. Với giải pháp nguồn mở và việc sử dụng máy chủ Linux như Ubuntu Server làm máy chủ, sẽ giúp các doanh nghiệp giảm tải gánh nặng về tài Sinh viên: Lê Long Bảo – MM03A Trang 58 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp chính, các trang thiết bị liên quan, đồng thời tăng cường khả năng bảo mật cho doanh nghiệp.  Kết quả đạt được o Về lý thuyết: Nắm được cơ bản các kiến thức liên quan đến phần mềm nguồn mở, các giải pháp về phần mềm nguồn mở, các phiên bản hệ điều hành Linux như Redhat, Ubuntu,… Cùng với đó nắm được nguyên lý, các giao thức bảo mật liên quan đến kến nối VPN. o Về thực hành: Triển khai thành công ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp trên môi trường VMWare.  Hạn chế Do thời gian hạn hẹp, nên vẫn còn một số giải pháp bảo mật chưa áp dụng hết trong OpenVPN.  Hướng mở Tiếp tục triển khai OpenVPN kết hợp với tìm hiểu các giải pháp bảo mật an toàn hơn cho kết nối VPN như thực hiện chứng thực password một lần (One time password),v…v… TÀI LIỆU THAM KHẢO  Tài liệu tiếng việt [1]. Th.s. Đặng Quang Hiển, Giáo trình Hệ điều hành Linux, Trường Cao Đẳng CNTT Hữu Nghị Việt Hàn. [2]. Th.s Ngô Bá Hùng, Giáo trình Linus Operating System, Trường Đại Học Cần Thơ. [3]. Th.s Hà Quốc Trung – Lê Xuân Thành, Nhập môn Linux và phần mềm nguồn mở. [4]. Đại Học Cần Thơ, Tìm hiểu phần mềm nguồn mở Open Source Software. [5]. Đại Học Cần Thơ, Tổng quan về VPN. [6]. Đại Học Quốc Gia TP HCM, Công nghệ VPN.  Tài liệu tiếng anh Sinh viên: Lê Long Bảo – MM03A Trang 59 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp [1]. Markus Feilner, OpenVPN Building and Integrating Virtual Private Networks (2006).  Internet [1]. http://sourceforge.net/projects/openvpn-gui/ [2]. http://hvaonline.net [3]. http://nhatnghe.com [4]. http://quantrimang.com [5]. http://www.ventanazul.com Sinh viên: Lê Long Bảo – MM03A Trang 60 [...]... của người sử dụng được thực hiện trên máy tính và có thể tham gia vào quá trình trao đổi thông tin giữa hai máy tính Trên một máy tính với hệ điều hành đa nhiệm (như Windows, UNIX) thường được thực hiện đồng thời nhiều ứng dụng trong đó có những ứng dụng liên quan đến mạng và các ứng dụng khác Các máy tính được nối với mạng và các dữ liệu được trao đổi thông qua mạng từ máy tính này đến máy tính khác... này kết nối theo ba cách: Haft duplex,Simplex, Full-duplex Sinh viên: Lê Long Bảo – MM03A Trang 13 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp 1.2.1.6 Lớp trình diễn Lớp này chịu trách nhiệm thương lượng và xác lập dạng thức dữ liệu được trao đổi Nó đảm bảo thông tin mà lớp ứng dụng của một hệ thống đầu cuối gởi đi, lớp ứng dụng của hệ thống khác có thể đọc được Lớp trình bày thông dịch... tuy nhiên để đảm bảo tính tương thích giữa các mạng và sự tin cậy của việc truyền thông tin trên mạng, bộ giao thức TCP/IP được chia thành 2 phần riêng biệt: giao thức IP sử dụng cho việc kết nối mạng và giao thức TCP để đảm bảo việc truyền dữ liệu một cách tin cậy Sinh viên: Lê Long Bảo – MM03A Trang 14 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp 1.2.2.1 Lớp ứng dụng Tại mức cao... tối đa Sinh viên: Lê Long Bảo – MM03A Trang 12 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp - Các đầu nối vật lý 1.2.1.3 Lớp mạng Lớp mạng chịu trách nhiệm lập địa chỉ các thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ vật lý đồng thời nó cũng chịu trách nhiệm gởi packet từ mạng nguồn đến mạng đích Lớp này quyết định đường đi từ máy tính nguồn đến máy tính đích Nó quyết định... 17 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Với mô hình truyền thông đơn giản người ta chia chương trình truyền thông thành ba tầng không phụ thuộc vào nhau là: tầng ứng dụng, tầng giao vận và tầng tiếp cận mạng Tầng tiếp cận mạng liên quan tới việc trao đổi dữ liệu giữa máy tính và mạng mà nó được nối vào Để dữ liệu đến được đích máy tính gửi cần phải chuyển địa chỉ của máy tính. .. CÔNG NGHỆ VPN VÀ CÁC GIAO THỨC HỖ TRỢ 3.1 TỔNG QUAN VỀ CÔNG NGHỆ VPN Sinh viên: Lê Long Bảo – MM03A Trang 27 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp 3.1.1 Giới thiệu về công nghệ VPN VPN là một mô hình mạng mới tận dụng lại những cơ sơ hạ tầng hiện có của Internet Với mô hình mạng mới này, người ta không phải đầu tư thêm nhiều về cơ sở hạ tầng mà các tính năng như bảo mật, độ... Long Bảo – MM03A Trang 31 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp động, những người hoạt động kinh doanh bên ngoài như những yêu cầu kinh doanh đã đòi hỏi - Đơn giản hóa những gánh nặng - Những cấu trúc mạng ống, vì thế giảm việc quản lý những gánh nặng Sử dụng một giao thức Internet backbone loại trừ những PVC tích hợp với kết nối hướng những giao thức như là Frame Relay và ATM -. .. tải các tín hiệu trong môi trường từ máy tính này đến máy tính khác Lớp này gồm có các chi tiết kỹ thuật về các đặc tính điện và cơ như: mức điện áp, định thời tín hiệu, tốc độ dữ liệu, độ dài truyền tải lớn nhất và các kết nối vật Sinh viên: Lê Long Bảo – MM03A Trang 11 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp lý của thiết bị mạng Để một thiết bị hoạt động chỉ trong lớp vật lý,... Lịch sử phát triển phần mềm mã nguồn mở Sinh viên: Lê Long Bảo – MM03A Trang 19 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp Việc sử dụng hệ điều hành UNIX và các công cụ hỗ trợ đi kèm đã khiến cho các nhà phát triển phần mềm cảm thấy bản quyền hạn chế sự sáng tạo của họ Năm 1983, dự án GNU ra đời, do Richard Stallman sáng lập Dự án này phát triển thành Tổ chức phần mềm tự do FSF (Free... tầng mạng MPLS bắt đầu thay thế ATM và bộ tiếp sóng khung để thực thi Trusted VPN với lượng lớn các doanh nghiệp và nhà cung cấp dịch vụ Secure VPN có thể dùng IPsec trong việc mã hoá IPsec nằm trong giao thức L2TP (Layer 2 Tunneling Protocol), trong thành phần SSL (Secure Sockets Layer) 3.0 hay trong Sinh viên: Lê Long Bảo – MM03A Trang 29 Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

Ngày đăng: 23/10/2015, 19:50

Từ khóa liên quan

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

Tài liệu liên quan