Tải bản đầy đủ (.doc) (59 trang)

ỨNG DỤNG OPENVPN TRONG bảo mật hệ THỐNG MẠNG CHO DOANH NGHIỆP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.89 MB, 59 trang )

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
HỮU NGHỊ VIỆT-HÀN
KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH MẠNG MÁY TÍNH
ĐỀ TÀI
ỨNG DỤNG OPENVPN TRONG BẢO MẬT HỆ
THỐNG MẠNG CHO DOANH NGHIỆP
Sinh viên thực hiện: Lê Long Bảo
Lớp : CCMM03A
Niên khóa : 2009 - 2012
Cán bộ hướng dẫn : Lê Kim Trọng
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Đà Nẵng, tháng 6 năm 2012
LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này, lời đầu tiên em xin chân thành cảm ơn các
thầy giáo, cô giáo Khoa Khoa Học Máy Tính, những người đã dạy dỗ, trang bị cho em
những kiến thức bổ ích trong năm học vừa qua.
Em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy Lê Kim Trọng, người đã tận tình
hướng dẫn em trong suốt quá trình làm đồ án.
Một lần nữa em xin chân thành cảm ơn sự giúp đỡ của các thầy cô.
Đà nẵng, ngày 2 tháng 6 năm 2012
Sinh viên: Lê Long Bảo – MM03A Trang
2
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Từ viết tắt Ý nghĩa
VPN Virtual Private Network
GNU General Public License


FSF Free Software Foundation
GCC GNU C Compiler
PMMNM Phần mềm mã nguồn mở
GPL General Public License
DLL Dynamic Link Library
WAN Wire Area Network
L2F Layer 2 Forwarding
L2TP Layer 2 Tunneling Protocol
PPTP Point-to-Point Tunneling Protocol
GRE Generic Routing Encapsulation
Sinh viên: Lê Long Bảo – MM03A Trang
3
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
DANH MỤC BẢNG BIỂU
Sinh viên: Lê Long Bảo – MM03A Trang
4
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
DANH MỤC HÌNH VẼ, ĐỒ THỊ
MỞ ĐẦU
1. Lý do chọn đề tài.
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:
Sinh viên: Lê Long Bảo – MM03A Trang
5
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
- Hệ điều hành mã nguồn mở Ubuntu.
- Mô hình VPN và các giao thức liên quan.
Phạm vi nghiên cứu: Mô hình doanh nghiệp vừa và nhỏ.
4. Phương pháp nghiên cứu.
Tổng hợp từ các tài liệu tiếng anh cũng như tiếng việt đã thu thập được để làm
phần cơ sở lý thuyết, kết hợp với việc tìm hiểu các câu lệnh cài đặt, cấu hình liên quan
đến mã nguồn mở và OpenVPN, ứng dụng phần mềm máy ảo vmware để làm phần demo
thực nghiệm.
5. Ý nghĩa khoa học và thực tiễn.
Ý nghĩa khoa học:
+ giúp sinh viên nắm được các kiến thức về mạng máy tính và phần mềm
nguồn mở.
+ 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.
Sinh viên: Lê Long Bảo – MM03A Trang
6
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MÁY TÍNH
1.1. TỔNG QUAN VỀ MẠNG MÁY TÍNH
1.1.1. Lịch sử hình thành
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.
Sinh viên: Lê Long Bảo – MM03A Trang
7

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Vào giữa thập niên 1980, người sử dụng dùng các máy tính độc lập bắt đầu chia sẻ
các tập tin bằng cách dùng modem kết nối các máy tính khác. Cách thức này được gọi là
điểm nối điểm, hay truyền theo kiểu quay số. Khái niệm này được mở rộng bằng cách
dùng các máy tính là trung tâm truyền tin trong một kết nối quay số. Các máy tính này
được gọi là sàn thông báo. Các người dùng kết nối đến sàn thông báo này, để lại đó hay
lấy đi các thông điệp, cũng như gửi lên hay tải về các tập tin. Hạn chế của hệ thống là có
rất ít hướng truyền tin, và chỉ với những ai biết về sàn thông báo đó. Ngoài ra, các máy
tính tại sàn thông báo cần một modem cho mỗi kết nối, khi số lượng kết nối tăng lên, hệ
thống không thể đáp ứng được nhu cầu.
Qua các thập niên 1950, 1970, 1980, 1990, Bộ Quốc Phòng Hoa Kỳ đã phát triển
các mạng diện rộng WAN có độ tin cậy cao, nhằm phục vụ các mục đích quân sự và khoa
học. Công nghệ này khác truyền tin điểm nối điểm. Nó cho phép nhiều máy tính kết nối
lại với nhau bằng các đường dẫn khác nhau. Bản thân mạng sẽ xác định dữ liệu di chuyển
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ủ)
Sinh viên: Lê Long Bảo – MM03A Trang
8

Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Hình 1.1. Mạng ngang hàng
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
Sinh viên: Lê Long Bảo – MM03A Trang
9
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Đối với phương thức truyền điểm-nối-điểm, mạng máy tính sử dụng phương thức
này bao gồm tập hợp nhiều kết nối giữa các máy trạm. Gói dữ liệu từ đầu phát dữ liệu đến
đầu thu dữ liệu có thể sẽ đi qua một hoặc nhiều máy trạm trung gian theo nhiều tuyến
truyền dẫn khác nhau với độ dài khác nhau.
Trường hợp mạng máy tính sử dụng phương thức truyền điểm-nối-điểm với một
đầu phát và một đầu thu được gọi là phương thức truyền unicasting
Phương thức phân loại thứ hai dựa vào quy mô mạng hay kích thước vật lý của
mạng. Theo quy mô từ nhỏ đến lớn ta có các loại mạng sau:
- Mạng cá nhân (Personal Are Network-PAN)
- Mạng LAN (Local Area Network)-mạng cục bộ: kết nối các nút trên một phạm vi
giới hạn. Phạm vi này có thể là một công ty, hay một tòa nhà.
- Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với nhau tạo thành
mạng WAN.
- MAN (Metropolitan Area Network), tương tự như WAN, nó cũng kết nối nhiều
mạng LAN. Tuy nhiên, một mạng MAN có phạm vi là một thành phố hay một đô thị

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
Sinh viên: Lê Long Bảo – MM03A Trang
10
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Hình 1.3. Mô hình OSI
Mô hình OSI có 7 lớp và được thiết kế theo các nguyên tắc sau:
- Một lớp được tạo ra tương ứng với một khái niệm trừu tượng
- Một lớp thực hiện một chức năng hoàn chỉnh nào đó.
- Chức năng của mỗi lớp phải được chọn theo xu hướng phù hợp với các giao
thứcđã được chuẩn hóa
- Biên của các lớp phải được thiết kế sao cho tối thiểu hóa được lượng thông tin
truyền qua các giao diện
- Số lượng các lớp không quá ít để đảm bảo thực hiện đủ các chức năng cần thiết và
không được quá nhiều để kiến trúc của nó không trở nên cồng kềnh
1.2.1.1. Lớp vật lý
Lớp vật lý bao gồm việc truyền tải các tín hiệu trong môi trường từ máy tính này
đến máy tính khác. Lớp này gồm có các chi tiết kỹ thuật về các đặc tính điện và cơ như:
mức điện áp, định thời tín hiệu, tốc độ dữ liệu, độ dài truyền tải lớn nhất và các kết nối vật
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)
Sinh viên: Lê Long Bảo – MM03A Trang
11
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Lớp con LLC là phần trên so với các giao thức truy cập đường truyền khác, nó
cung cấp sự mềm dẻo về giao tiếp. Bởi vì lớp con LLC hoạt động độc lập với các giao
thức truy cập đường truyền, cho nên các giao thức lớp trên hơn (ví dụ như IP ở lớp mạng)
có thể hoạt động mà không phụ thuộc vào loại phương tiện LAN. Lớp con LLC có thể lệ
thuộc vào các lớp thấp hơn trong việc cung cấp truy cập đường truyền. Lớp con MAC
cung cấp tính thứ tự truy cập vào môi trường LAN. Khi nhiều trạm cùng truy cập chia sẻ
môi trường truyền, để định danh mỗi trạm, lớp cho MAC định nghĩa một trường địa chỉ
phần cứng, gọi là địa chỉ MAC address.
Địa chỉ MAC là một con số đơn nhất đối với mỗi giao tiếp LAN (card mạng). Lớp
vật lý (Physical Layer): định nghĩa các qui cách về điện, cơ, thủ tục và các đặc tả chức
năng để kích hoạt, duy trì và dừng một liên kết vật lý giữa các hệ thống đầu cuối.
Một số các đặc điểm trong lớp vật lý này bao gồm:
- Mức điện thế.
- Khoảng thời gian thay đổi điện thế.
- Tốc độ dữ liệu vật lý.
- Khoảng đường truyền tối đa.
- 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:
Sinh viên: Lê Long Bảo – MM03A Trang
12
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
- Xếp thứ tự các phân đoạn: khi một thông điệp lớn được tách thành nhiều phân
đoạn nhỏ để bàn giao, lớp vận chuyển sẽ sắp xếp thứ tự các phân đoạn trước khi ráp nối
các phân đoạn thành thông điệp ban đầu.
- Kiểm soát lỗi: khi có phân đoạn bị thất bại, sai hoặc trùng lắp, lớp vận chuyển sẽ
yêu cầu truyền lại.
- Kiểm soát luồng: lớp vận chuyển dùng các tín hiệu báo nhận để xác nhận. Bên gửi
sẽ không truyền đi phân đoạn dữ liệu kế tiếp nếu bên nhận chưa gởi tín hiệu xác nhận
rằng đã nhận được phân đoạn dữ liệu trước đó đầy đủ.
1.2.1.5. Lớp phiên
Lớp này có chức năng thiết lập, quản lý, và kết thúc các phiên thông tin giữa hai
thiết bị truyền nhận. Lớp phiên cung cấp các dịch vụ cho lớp trình bày. Lớp Session cung
cấp sự đồng bộ hóa giữa các tác vụ người dùng bằng cách đặt những điểm kiểm tra vào
luồng dữ liệu. Bằng cách này, nếu mạng không hoạt động thì chỉ có dữ liệu truyền sau
điểm kiểm tra cuối cùng mới phải truyền lại. Lớp này cũng thi hành kiểm soát hội thoại
giữa các quá trình giao tiếp, điều chỉnh bên nào truyền, khi nào, trong bao lâu. Ví dụ như:
RPC, NFS, Lớp này kết nối theo ba cách: Haft duplex,Simplex, Full-duplex.
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
Sinh viên: Lê Long Bảo – MM03A Trang
13
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Hình 1.4. Mô hình TCP/IP
Sự ra đời của họ giao thức TCP/IP gắn liền với sự ra đời của Internet mà tiền thân
là mạng ARPAnet (Advanced Research Projects Agency) do Bộ Quốc phòng Mỹ tạo ra.
Đây là bộ giao thức được dùng rộng rãi nhất vì tính mở của nó. Hai giao thức được dùng
chủ yếu ở đây là TCP (Transmission Control Protocol) và IP (Internet Protocol). Chúng
đã nhanh chóng được đón nhận và phát triển bởi nhiều nhà nghiên cứu và các hãng công
nghiệp máy tính với mục đích xây dựng và phát triển một mạng truyền thông mở rộng
khắp thế giới mà ngày nay chúng ta gọi là Internet.
TCP/IP có cấu trúc tương tự như mô hình OSI, tuy nhiên để đảm bảo tính tương
thích giữa các mạng và sự tin cậy của việc truyền thông tin trên mạng, bộ giao thức
TCP/IP được chia thành 2 phần riêng biệt: giao thức IP sử dụng cho việc kết nối mạng và
giao thức TCP để đảm bảo việc truyền dữ liệu một cách tin cậy.
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à
Sinh viên: Lê Long Bảo – MM03A Trang
14
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
nơi gửi sẽ truyền lại những gói dữ liệu bị mất. Tuy nhiên trong những môi trường truyền
dẫn tốt như cáp quang chẳng hạn thì việc xy ra lỗi là rất nhỏ. Lớp giao vận có cung cấp
một giao thức khác đó là UDP.
1.2.2.3. Lớp internet
Nhiệm vụ cơ bản của lớp này là xử lý việc liên lạc của các thiết bị trên mạng. Nó
nhận được một yêu cầu để gửi gói dữ liệu từ lớp trên cùng với một định danh của máy mà
gói dữ liệu phía được gửi đến. Nó đóng segment vào trong một packet, điền vào phần đầu
của packet, sau đó sử dụng các giao thức định tuyến để chuyển gói tin đến được đích của
nó hoặc trạm kế tiếp. Khi đó tại nơi nhận sẽ kiểm tra tính hợp lệ của chúng, và sử dụng
tiếp các giao thức định tuyến để xử lý gói tin. Đối với những packet được xác định thuộc
cùng mạng cục bộ, phần mềm Internet sẽ cắt bỏ phần đầu của packet, và chọn một trong
các giao thức lớp chuyên trở thích hợp để xử lý chúng. Cuối cùng, lớp Internet gửi và
nhận các thông điệp kiểm soát và xử lý lỗi ICMP.
1.2.2.4. Lớp giao tiếp mạng
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.
Sinh viên: Lê Long Bảo – MM03A Trang
15
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
- Phân chia hoạt động truyền thông của hệ thống thành nhiều lớp theo các nguyên
tắc nhất định
- Việc xét các module một cách độc lập với nhau cho phép giảm độ phức tạp cho
việc thiết kế và cài đặt. Phương pháp này được sử dụng rộng rãi trong việc xây dựng
mạng và các chương trình truyền thông và được gọi là phương pháp phân tầng (layer).
1.3.2. Nguyên tắc của phương pháp phân tầng
Mỗi hệ thống thành phần trong mạng được xây dựng như một cấu trúc nhiều tầng
và đều có cấu trúc giống nhau như: số lượng tầng và chức năng của mỗi tầng.
Các tầng nằm chồng lên nhau, dữ liệu được chỉ trao đổi trực tiếp giữa hai tầng kề
nhau từ tầng trên xuống tầng dưới và ngược lại.
Cùng với việc xác định chức năng của mỗi tầng chúng ta phải xác định mối quan
hệ giữa hai tầng kề nhau. Dữ liệu được truyền đi từ tầng cao nhất của hệ thống truyền lần
lượt đến tầng thấp nhất sau đó truyền qua đường nối vật lý dưới dạng các bit tới tầng thấp
nhất của hệ thống nhận, sau đó dữ liệu được truyền ngược lên lần lượt đến tầng cao nhất
của hệ thống nhận.
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
Sinh viên: Lê Long Bảo – MM03A Trang
16
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
o Mô hình Internet : TCP/IP
Xét trên phương diện lập trình với máy tính, ta xét mô hình phân tầng thu gọn:
Nói chung trong truyền thông có sự tham gia của các thành phần: các chương trình ứng
dụng, các chương trình truyền thông, các máy tính và các mạng. Các chương trình ứng
dụng là các chương trình của người sử dụng được thực hiện trên máy tính và có thể tham
gia vào quá trình trao đổi thông tin giữa hai máy tính. Trên một máy tính với hệ điều hành
đa nhiệm (như Windows, UNIX) thường được thực hiện đồng thời nhiều ứng dụng trong
đó có những ứng dụng liên quan đến mạng và các ứng dụng khác. Các máy tính được nối
với mạng và các dữ liệu được trao đổi thông qua mạng từ máy tính này đến máy tính
khác.
Việc gửi dữ liệu được thực hiện giữa một ứng dụng với một ứng dụng khác trên
hai máy tính khác nhau thông qua mạng được thực hiện như sau: Ứng dụng gửi chuyển
dữ liệu cho chương trình truyền thông trên máy tính của nó, chương trình truyền thông sẽ
gửi chúng tới máy tính nhận. Chương trình truyền thông trên máy nhận sẽ tiếp nhận dữ
liệu, kiểm tra nó trước khi chuyển giao cho ứng dụng đang chờ dữ liệu.
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.
Sinh viên: Lê Long Bảo – MM03A Trang
17
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Tầng ứng dụng: sẽ chứa các module phục vụ cho tất cả những ứng dụng của người
sử dụng. Với các loại ứng dụng khác nhau (như là truyền file, truyền thư mục) cần các
module khác nhau.
Hình 1.6. Trao đổi giữa các tầng
1.3.3. Địa chỉ IP
Mỗi địa chỉ IP có độ dài 32 bits (đối với IP4) được tách thành 4 vùng (mỗi vùng 1
byte), có thể được biểu thị dưới dạng thập phân, bát phân, thập lục phân hoặc nhị phân.
Cách viết phổ biến nhất là dùng ký pháp thập phân có dấu chấm để tách giữa các vùng.
Địa chỉ IP là để định danh duy nhất cho một host bất kỳ trên liên mạng. Khuôn dạng địa
chỉ IP: mỗi host trên mạng TCP/IP được định danh duy nhất bởi một địa chỉ có khuôn
dạng <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.
Sinh viên: Lê Long Bảo – MM03A Trang
18
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
- Mạng diện rộng (Wide Area Networks - WAN): phạm vi của mạng có thể vượt qua
biên giới quốc gia và thậm chí cả lục địa.
- Mạng toàn cầu (Global Area Networks - GAN): phạm vi rộng khắp các lục địa.
1.4.2. Theo kỹ thuật chuyển mạch
Phân làm 3 loại: mạng chuyển mạch kênh, mạng chuyển mạch thông báo, mạng
chuyển mạch gói.
1.4.3. Theo cơ chế hoạt động
Cơ chế hoạt động dựa theo mô hình chuẩn OSI và TCP/IP thông qua các lớp.
CHƯƠNG 2 : TỔNG QUAN VỀ PHẦN MỀM NGUỒN MỞ
2.1. 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
Sinh viên: Lê Long Bảo – MM03A Trang
19
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
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.
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
Sinh viên: Lê Long Bảo – MM03A Trang
20
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Sử dụng phần mềm: Cài đặt và sử dụng phần mềm trên máy tính. Máy tính này
có thể là máy tính cá nhân, máy chủ, máy tính công cộng,…Tùy theo từng bối cảnh việc
sử dụng phần mềm có thể có các ràng buộc khác nhau (cài trên một máy, cài trên nhiều
máy, cài trên nhiều CPU,…). Các phần mềm có bản quyền thường bảo vệ việc sử dụng
phần mềm bằng serial key, active code và có những trường hợp bằng khóa vật lý.
Thay đổi phần mềm: Trong quá trình sử dụng có thể xuất hiện nhu cầu thay đổi.
Việc thay đổi này có thể được tiến hành bởi nhà tác giả sản xuất phần mềm, hoặc có thể
do một người khác. Để thay đổi tính năng phần mềm cần có mã nguồn của phần mềm.
Nếu không có mã nguồn có thể dịch ngược để thu mã nguồn từ mã thực hiện. Mã nguồn
phần mềm có thể được phân phối theo nhiều kênh khác nhau (mạng, lưu trữ, truyền tay,
lây nhiễm).
Các thao tác khác: Phân tích ngược mã nguồn, phân tích giao diện, mô phỏng,
thực hiện luân phiên,…Phần mềm được quản lý bởi các quy tắc về bản quyền và sở hữu
trí tuệ, cho phép thực hiện hoặc không thực hiện các thao tác nói trên trong các điều kiện
khác nhau.
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
Sinh viên: Lê Long Bảo – MM03A Trang
21
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
mang nhiều đặc tính ưu việt và giúp cho Linux bắt đầu trở thành đối thủ cạnh tranh đáng
kể của MSWindows trên môi trường Server. Năm 2000 phiên bản nhân v2.4 hỗ trợ nhiều
thiết bị mới (đa xử lý tới 32 chip, USB, RAM trên 2GB…) bắt đầu đặt chân vào thị
trường máy chủ cao cấp. Quá trình phát triển Linux như sau:
- Năm 1991: 100 người dùng.
- Năm 1997: 7.000.000 người dùng.
- Năm 2000: hàng trăm triệu người dùng, hơn 15.000 người tham gia phát triển
Linux. Hàng năm thị trường cho Linux tăng trưởng trên 100%.
Các phiên bản Linux là sản phẩm đóng gói kernel và các gói phần mềm miễn phí
khác. Các phiên bản này được công bố dưới license GPL. Một số phiên bản nổi bật là:
Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake.
Giống như Unix, Linux gồm 3 thành phần chính: kernel, shell và cấu trúc file.
Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị phần
cứng như đĩa và máy in
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.
Sinh viên: Lê Long Bảo – MM03A Trang
22
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
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.
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
Sinh viên: Lê Long Bảo – MM03A Trang
23
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
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
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.
Sinh viên: Lê Long Bảo – MM03A Trang
24
Ứng dụng OpenVPN trong bảo mật hệ thống mạng cho doanh nghiệp
Các tệp thư mục lưu trữ các thư mục con và tệp. Các thư mục con và tệp đều được
đặt tên. Giống như trong HĐH Windows, Linux cho phép tên tệp có thể dài đến 255 ký
tự, có thể bao gồm các ký tự đặt biệt.
Để truy cập được vào các thư mục và tệp, xuất phát từ các nút gốc truy cập vào các
thư mục con cho đến khi đến được tệp cần thiết. Tập hợp tên của các thư mục con từ nút
gốc đến tệp cần truy cập, phân cách các tên bằng dấu /, gọi là đường dẫn tuyệt đối đến
tệp. Trong mọi trường hợp, luôn luôn có thể dùng đường dẫn tuyệt đối để tham chiếu tới

tệp.
Khi người sử dụng truy cập vào hệ thống hoặc khi các chương trình đang thực hiện,
một thư mục được sử dụng để tham chiếu tới tất cả các tệp và thư mục khác trong hệ
thống. Với người sử dụng đó thường là thư mục /home. Với chương trình, đó thường là
thư mục gọi câu lệnh thực hiện, thư mục này được gọi là thư mục làm việc hiện tại.
Trong một thư mục luôn luôn có 2 thư mục đặt biệt: ./ để biểu diễn thư mục hiện tại
và / biểu diễn thư mục cha của thư mục hiện tại.
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.
Sinh viên: Lê Long Bảo – MM03A Trang
25

×