85
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

Datotnghiep openvpn

Embed Size (px)

Citation preview

Page 1: Datotnghiep openvpn

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ỆPNGÀ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

Đà Nẵng, tháng 6 năm 2012

Page 2: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

Page 3: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

MỤC LỤC

LỜI CẢM ƠN......................................................................................................................2

MỤC LỤC............................................................................................................................3

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT..........................................................6

DANH MỤC BẢNG BIỂU..................................................................................................7

DANH MỤC HÌNH VẼ, ĐỒ THỊ........................................................................................8

MỞ ĐẦU............................................................................................................................10

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MÁY TÍNH.....................................................12

1.1. TỔNG QUAN VỀ MẠNG MÁY TÍNH.............................................................12

1.1.1. Lịch sử hình thành........................................................................................12

1.1.2. Khái niệm mạng máy tính............................................................................13

1.2. MÔ HÌNH PHÂN TẦNG....................................................................................15

1.2.1. OSI...............................................................................................................15

1.2.2. TCP/IP..........................................................................................................19

1.3.1. Nguyên tắc truyền thông..............................................................................21

1.3.2. Nguyên tắc của phương pháp phân tầng......................................................21

1.3.3. Địa chỉ IP......................................................................................................23

1.4. PHÂN LOẠI MẠNG MÁY TÍNH......................................................................24

1.4.1. Theo khoảng cách địa lý...............................................................................24

1.4.2. Theo kỹ thuật chuyển mạch.........................................................................24

1.4.3. Theo cơ chế hoạt động.................................................................................24

CHƯƠNG 2 : TỔNG QUAN VỀ PHẦN MỀM NGUỒN MỞ.........................................24

2.1. KHÁI NIỆM PHẦN MỀM NGUỒN MỞ...........................................................24

2.1.1. Lịch sử phát triển phần mềm mã nguồn mở.................................................24

2.2. GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX.............................................................26

2.2.1. Lịch sử Linux...............................................................................................27

2.2.2. Giao tiếp trên môi trường Linux..................................................................28

2.2.3. Giới thiệu hệ thống tập tin và thư mục.........................................................29

2.2.4. Phân loại phần mềm nguồn mở....................................................................30

2.2.5. Phân biệt phần mềm nguồn mở với một số phần mềm khác........................31

Sinh viên: Lê Long Bảo – MM03A Trang 3

Page 4: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

CHƯƠNG 3 : CÔNG NGHỆ VPN VÀ CÁC GIAO THỨC HỖ TRỢ.............................32

3.1. TỔNG QUAN VỀ CÔNG NGHỆ VPN..............................................................32

3.1.1. Giới thiệu về công nghệ VPN......................................................................32

3.1.2. Định nghĩa VPN...........................................................................................33

3.1.4. Các thành phần cần thiết để tạo kết nối VPN...............................................37

3.2. CÁC GIAO THỨC VPN.....................................................................................37

3.2.1. L2TP.............................................................................................................37

3.2.3. PPTP.............................................................................................................38

3.2.4. GRE..............................................................................................................43

3.2.5. IPSec.............................................................................................................44

3.2.6. Bảng so sánh các giao thức..........................................................................45

3.3. KẾT NỐI VPN....................................................................................................46

3.3.1. Các dạng kết nối VPN..................................................................................46

3.3.2. So sánh VPN Client – to – Site và VPN Site – to – Site..............................51

CHƯƠNG 4: GIỚI THIỆU MÔ HÌNH TRIỂN KHAI OPENVPN TRÊN UBUNTU

SERVER.............................................................................................................................52

4.1. MÔ HÌNH HỆ THỐNG......................................................................................52

4.1.1. VPN Client – to – Site..................................................................................52

4.1.2. VPN Site – to – Site.....................................................................................53

4.2. CÀI ĐẶT VÀ CẤU HÌNH OPENVPN..............................................................54

4.2.1. OpenVPN Client – to – Site.........................................................................54

4.2.2. OpenVPN Site – to – Site.............................................................................56

4.3. TIẾN HÀNH QUAY KẾT NỐI..........................................................................57

4.3.1. Kiểm tra VPN Client – to – Site...................................................................57

4.3.2. Kiểm tra VPN Site – to – Site......................................................................58

4.4. Quan sát bằng gói tin Wireshark.........................................................................58

KẾT LUẬN........................................................................................................................59

TÀI LIỆU THAM KHẢO..................................................................................................60

Sinh viên: Lê Long Bảo – MM03A Trang 4

Page 5: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

Từ viết tắt Ý nghĩaVPN Virtual Private Network GNU General Public LicenseFSF Free Software FoundationGCC GNU C Compiler

PMMNM Phần mềm mã nguồn mởGPL General Public LicenseDLL Dynamic Link LibraryWAN Wire Area NetworkL2F Layer 2 Forwarding

L2TP Layer 2 Tunneling ProtocolPPTP Point-to-Point Tunneling ProtocolGRE Generic Routing Encapsulation

DANH MỤC BẢNG BIỂUSinh viên: Lê Long Bảo – MM03A Trang 5

Page 6: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

Bảng 3.1. Bảng các thông điệp điều khiển kết nối PPTP...................................................40

Bảng 3.2. Bảng so sánh các giao thức................................................................................43

Bảng 3.3. Bảng so sánh VPN Client to Site và VPN Site to Site.......................................50

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Sinh viên: Lê Long Bảo – MM03A Trang 6

Page 7: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

Hình 1.1. Mạng ngang hàng...............................................................................................14

Hình 1.2. Mạng Client – Server..........................................................................................14

Hình 1.3. Mô hình OSI.......................................................................................................16

Hình 1.4. Mô hình TCP/IP.................................................................................................19

Hình 1.5. Mô hình truyền thông đơn giản 3 tầng...............................................................22

Hình 1.6. Trao đổi giữa các tầng........................................................................................23

Hình 3.1. Minh họa mô hình kết nối VPN.........................................................................34

Hình 3.2. Giao thức L2TP..................................................................................................38

Hình 3.3. Định dạng gói tin điều khiển thông điệp PPTP..................................................40

Hình 3.4. Định dạng gói tin dữ liệu PPTP..........................................................................40

Hình 3.5. Quá trình điều khiển kết nối...............................................................................41

Hình 3.6. Quá trình xử lý dữ liệu PPTP.............................................................................43

Hình 3.7. IPSec...................................................................................................................45

Hình 3.8. Remote Access VPN..........................................................................................47

Hình 3.9. Site to Site VPN.................................................................................................48

Hình 3.10. Intranet VPNs...................................................................................................50

Hình 3.11. Extranet VPNs..................................................................................................50

Hình 3.12. Thiết lập một kết nối Client to Server..............................................................51

Hình 4.1. Mô hình giả lập hệ thống VPN Client – to – Site...............................................52

Hình 4.2. Mô hình giả lập VPN Site – to - Site..................................................................54

Hình 4.3. IP cấp phát thành công cho VPN Client.............................................................57

Hình 4.4. IP cấp phát thành công cho máy VPN2_Client..................................................58

Hình 4.5. Kiểm tra bằng Wireshark....................................................................................58

MỞ ĐẦU

Sinh viên: Lê Long Bảo – MM03A Trang 7

Page 8: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

1. Lý do chọn đề tài.

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:

Sinh viên: Lê Long Bảo – MM03A Trang 8

Page 9: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

+ 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ở.

+ 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

Sinh viên: Lê Long Bảo – MM03A Trang 9

Page 10: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

1.1. TỔNG QUAN VỀ MẠNG MÁY TÍNH

1.1.1. Lịch sử hình thành

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.

Sinh viên: Lê Long Bảo – MM03A Trang 10

Page 11: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

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 11

Page 12: Datotnghiep openvpn

Ứ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à.

Sinh viên: Lê Long Bảo – MM03A Trang 12

Page 13: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

- 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ị

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

Sinh viên: Lê Long Bảo – MM03A Trang 13

Page 14: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

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.

Sinh viên: Lê Long Bảo – MM03A Trang 14

Page 15: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

Đị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.

- 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 đủ.

Sinh viên: Lê Long Bảo – MM03A Trang 15

Page 16: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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

Sinh viên: Lê Long Bảo – MM03A Trang 16

Page 17: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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

Sinh viên: Lê Long Bảo – MM03A Trang 17

Page 18: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

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.

Sinh viên: Lê Long Bảo – MM03A Trang 18

Page 19: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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

Sinh viên: Lê Long Bảo – MM03A Trang 19

Page 20: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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

Sinh viên: Lê Long Bảo – MM03A Trang 20

Page 21: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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 <Network Number, Host number>.

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.

Sinh viên: Lê Long Bảo – MM03A Trang 21

Page 22: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

CHƯƠNG 2 : TỔNG QUAN VỀ PHẦN MỀM NGUỒN MỞ

2.1. KHÁI NIỆM PHẦN MỀM NGUỒN MỞ

2.1.1. Lịch sử phát triển phần mềm mã nguồn mở

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.1. Đị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.

Sinh viên: Lê Long Bảo – MM03A Trang 22

Page 23: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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ở

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.2. 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).

Sinh viên: Lê Long Bảo – MM03A Trang 23

Page 24: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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.2. GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX

2.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.

Sinh viên: Lê Long Bảo – MM03A Trang 24

Page 25: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

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.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.

Sinh viên: Lê Long Bảo – MM03A Trang 25

Page 26: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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ơ

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.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

Sinh viên: Lê Long Bảo – MM03A Trang 26

Page 27: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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:

- 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ệ

Sinh viên: Lê Long Bảo – MM03A Trang 27

Page 28: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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.2.4. Phân loại phần mềm nguồn mở

2.2.4.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.2.4.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.2.4.3. Theo điều kiện sử dụng

Phần mềm mã nguồn mở, FreeWare,ShareWare

2.2.4.4. Theo hiệu quả xã hội

Phần mềm độc hại, Phần mềm giáo dục

Sinh viên: Lê Long Bảo – MM03A Trang 28

Page 29: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

2.2.4.5. Theo kích thước

Phần mềm khổng lồ, phần mềm mini

2.2.5. Phân biệt phần mềm nguồn mở với một số phần mềm khác

2.2.5.1. Phần mềm sở hữu

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.2.5.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.2.5.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.

Sinh viên: Lê Long Bảo – MM03A Trang 29

Page 30: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệ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

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 30

Page 31: Datotnghiep openvpn

Ứ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 31

Page 32: Datotnghiep openvpn

Ứ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 32

Page 33: Datotnghiep openvpn

Ứ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ừ 60-

80%.

- 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 33

Page 34: Datotnghiep openvpn

Ứ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 34

Page 35: Datotnghiep openvpn

Ứ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 35

Page 36: Datotnghiep openvpn

Ứ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 36

Page 37: Datotnghiep openvpn

Ứ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 37

Page 38: Datotnghiep openvpn

Ứ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

Bảng 3.1. Bảng các thông điệp điều khiển kết nối PPTP

Tên Mô tả

Sinh viên: Lê Long Bảo – MM03A Trang 38

Page 39: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

Start-Control-

Connection-Request

Yêu cầu từ PPTP Client để thiết lập kết nối điều khiển

Start-Control-

Connection-Reply

Hồi đáp từ PPTP server đến thông điệp Start-Control-

Connection-Request từclient

Outgoing-Call-Request Yêu cầu từ PPTP Client đến Server để thiết lập một PPTP

Tunnel

Outgoing-Call-Reply Hồi đáp từ PPTP-Server đến thông điệp Outgoing-Call-

Request của Client

Echo-Request Cơ chế duy trì của client hoặc server. Nếu bên đối diện không

hồi đáp lại thông điệp, tunnel sẽ được ngắt

Echo-Reply Hồi đáp lại thông điệp Echo-Request từ bên yêu cầu

Set-Link-Info Thông điệp tùy chọn từ một bên có liên quan PPP

Call-Clear-Request Thông điệp từ PPTP Client khởi tạo quá trình kết thúc của

tunnel

Call-Disconnect-Notify 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

tunnel.

WAN-Error-Notify Thông điệp từ PPTP Server đến tất cả các PPTP Client nhằm

thông báo trong PPP interface của server

Stop-Control-

Connection-Request

Thông điệp từ PPTP Client hoặc server thông báo một sự kết

thúc trong quá trình kết thúc kết nối điều khiển

Stop-Control-

Connection-Reply

Hồi đáp từ phía đối diện đến thông điệp Stop-Control-

Connection-Request

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.

Sinh viên: Lê Long Bảo – MM03A Trang 39

Page 40: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

- 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

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).

Sinh viên: Lê Long Bảo – MM03A Trang 40

Page 41: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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.

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 41

Page 42: Datotnghiep openvpn

Ứ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

Bảng 3.2. Bảng so sánh các giao thức

Tên Điểm mạnh Điểm yếu Sử dụng trong

mạng

IPSEC + Hoạt động một

cách độc lập.

+ Cho phép giấu địa

chỉ mạng.

+ Đáp ứng kỹ thuật

mã hóa

+Không có quản lý

người dùng.

+Ít sản phẩm có khả

năng tương tác với nhà

sản xuất.

+Ít hỗ trợ giao diện

+ Phần mềm tốt

nhất trên máy

người dùng đối với

việc truy cập từ xa.

PPTP + Chạy trên nền

WINNT,98,95, mã

nguồn mở.

+ Định đường hầm

kết nối.

+ Cung cấp khả năng

đa giao thức.

+ Mã hóa RSA, và

RC-4

+ Không cung cấp mã

hóa dữ liệu từ những

máy chủ truy cập từ xa.

+ Mang tính độc quyền

rộng lớn

+ Được dùng ở máy

chủ truy cập từ xa.

+ Có thể dùng cho

máy để bàn win9x

hoặc máy trạm

winNT

Sinh viên: Lê Long Bảo – MM03A Trang 42

Page 43: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

L2F + Cho phép định

đường hầm đa giao

thức.

+ Được cung cấp bởi

nhiều nhà cung cấp.

+ Không có mã hóa.

+ Yếu trong việc xác

thực người dùng.

+Không có điều khiển

luồng cho đường hầm.

+ Dùng cho truy

cập từ xa

L2TP + Kết hợp PPTP và

L2F.

+ Chỉ cần 1 gói chạy

trên nền X25 và

Frame Relay.

+ Sử dụng IPSec cho

việc mã hóa

+ Chưa được cung cấp

nhiều trong sản phẩm.

+ Không bảo mật ở

những đoạn cuối.

+ Dùng cho truy

cập từ xa.

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 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.

Sinh viên: Lê Long Bảo – MM03A Trang 43

Page 44: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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,…

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.

Sinh viên: Lê Long Bảo – MM03A Trang 44

Page 45: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

- 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ụ.

- 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

Sinh viên: Lê Long Bảo – MM03A Trang 45

Page 46: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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ó

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 46

Page 47: Datotnghiep openvpn

Ứ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ố lượng

Sinh viên: Lê Long Bảo – MM03A Trang 47

Page 48: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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 48

Page 49: Datotnghiep openvpn

Ứ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

Bảng 3.3. Bảng so sánh VPN Client to Site và VPN Site to Site

Đặc điểm VPN Client – to – Site VPN Site – to - Site

Mô hình áp dụng +Nhân viên làm việc lưu động

hay làm việc ở nhà muốn kết

nối vào mạng công ty.

+ Mô hình này đơn giản hơn

+Kết nối các hệ thống mạng các

nơi khác nhau như các doanh

nghiệp có các chi nhánh ở xa

nhau.

+ Mô hình này phức tạp hơn.

Yêu cầu phần cứng Ít Nhiều

Kết nối mạng Sử dụng đường truyền Internet Sử dụng đường truyền Internet

Bảo mật Tốt Tốt

Các dạng kết nối Người dùng hoặc nhân viên từ

xa kết nối đến doanh nghiệp

Chia làm 2 dạng:

+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ư

đồng nghiệp hay nhà hỗ trợ…)

Chi phí Ít tốn kém hơn, chỉ cần dùng Tốn kém lúc đầu triển khai.

Sinh viên: Lê Long Bảo – MM03A Trang 49

Page 50: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

đường truyền internet có sẵn, và

phần mềm kết nối

CHƯƠNG 4: GIỚI THIỆU MÔ HÌNH 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.

Sinh viên: Lê Long Bảo – MM03A Trang 50

Page 51: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

o IP: 172.16.2.4.

- OpenVPN Server:

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

Sinh viên: Lê Long Bảo – MM03A Trang 51

Page 52: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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:

- 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

- Để cài đặt OpenVPN Server dùng lệnh: sudo apt-get install openvpn.

- Sau đó khởi động lại hệ thống.

- 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.

Sinh viên: Lê Long Bảo – MM03A Trang 52

Page 53: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

- 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.

o Export KEY_COUNTRY = “VIETNAM”

o Export KEY_PROVINCE = “TP DANANG”

o Export KEY_CITY = “DN”

o Export KEY_ORG = “VIETHAN”

o Export KEY_EMAIL = [email protected]

- 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.

- Dùng lệnh “source ./vars”.

- Dùng lệnh “./clean-all”

- Tiến hành build CA bằng lệnh: ./build-ca

- Phần common name: đặt tên là ca

- Dùng lệnh ./build-key-server openvpnserver để build key cho server

- Phần common name đặt tên là openvpnserver

- Tạo 2 user để cấp cho client sau này, dùng lệnh : adduser longbao01mm03a

- Đặt password cho 2 user này, sau đó tiến hành tạo khóa chứng thực cho 2 user.

- Dùng lệnh “./build-key longbao01mm03a”.

- Sau khi tạo user xong, chúng ta dùng lệnh: ./build-key <tên user vừa tạo> để 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

- 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 <tên đường dẫn vừa tạo ca lúc nãy>

(/etc/openvpn/easy-rsa/2.0/keys/ca.crt)

o Cert <tên đường dẫn vừa tạo cert lúc nãy>

(/etc/openvpn/easy-rsa/2.0/keys/openvpnserver.crt)

Sinh viên: Lê Long Bảo – MM03A Trang 53

Page 54: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

o Key <tên đường dẫn vừa tạo key lúc

nãy>(/etc/openvpn/easy-rsa/2.0/keys/openvpnserver.key)

o Push “route <nhập route cần add>”

- Dùng lệnh ./build-dh để mã hóa tất cả.

- Dùng lệnh iptables:

o Sudo iptables –t nat –A POSTROUTING –s 10.8.0.0/24 –o eth0 –j

MASQUERADE.

o Sudo iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE.

o Sudo iptables –t nat –A POSTROUTING –o eth1 –j MASQUERADE.

o Sudo iptables –A FORWARD –i tun+ -j ACCEPT.

o Sudo iptables –A FORWARD –i tap+ -j ACCEPT.

o Sudo iptables –A INPUT –i tap+ -j ACCEPT.

o Sudo iptables –A INPUT –i tun+ -j ACCEPT.

o Sudo iptables –t nat –A POSTROUTING –s 10.8.0.0/24 –d 172.16.2.0/24 –

to-source 192.168.1.15

- 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.

auto eth0iface eth0 inet static

address 192.168.1.1netmask 255.255.255.0gateway 172.16.1.1

auto eth1iface eth1 inet static

address 172.16.1.1

Sinh viên: Lê Long Bảo – MM03A Trang 54

Page 55: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

netmask 255.255.255.0gateway 192.168.1.1

Để 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

Để 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 thì cả 3 server đều 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.3. 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.

Sinh viên: Lê Long Bảo – MM03A Trang 55

Page 56: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

- 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.4. IP cấp phát thành công cho máy VPN2_Client

- 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.5. 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.

Sinh viên: Lê Long Bảo – MM03A Trang 56

Page 57: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

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:

Sinh viên: Lê Long Bảo – MM03A Trang 57

Page 58: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

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

[1]. Markus Feilner, OpenVPN Building and Integrating Virtual Private

Networks (2006).

Internet

[1]. http://sourceforge.net/projects/openvpn-gui/

Sinh viên: Lê Long Bảo – MM03A Trang 58

Page 59: Datotnghiep openvpn

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp

[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 59