Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
3,07 MB
Nội dung
Báo Cáo Thực Tập Tốt Nghiệp
Đề tài: TìmhiểugiảiphápmãnguồnmởOpenVPN
trong Linux
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
I. Lời cảm ơn
Em xin chân thành cảm ơn các thầy cô giáo bộ môn Kỹ thuật hệ thống
và mạng máy tính,những người đã dạy dỗ, trang bị cho em những kiến thức bổ
ích trong suối những năm học tập.
Em xin bày tỏ lòng cảm ơn sâu sắc nhất với thầy Bùi Thanh Phong, thầy
đã tận tình giúp đỡ,hướng dẫn và cho em những lời khuyên quý báu trong quá
trình thực tập.
Hà nội,ngày 24 tháng 2 năm 2014
Lê Công Thuỷ-53PM2-MSSV: 104653
2
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
II. Mục lục
III. Danh mục từ viết tắt
VPN : Virtual private network
ISP : Internet service provider
SSL : Secure Sockets Layer
NAS : Network-attached storage
OSI : Open Systems Interconnection Reference Model
IETF : Internet Engineering Task Force
GNU : General Public License
KDE: Desktop Environment
GNOME: GNU Network Object Model Environment
HTTPS : Hypertext Transfer Protocol Secure
TCP : Transmission Control Protocol
UDP : User Datagram Protocol
NAT : Network address translation
SSH : Secure Shell
LDAP : Lightweight Directory Access Protocol
IPsec : Internet Protocol Security
DNS : Domain Name System
3
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
IV. Lời mở đầu
Hiện nay,Internet đã phát triển mạnh mẽ cả về mặt mô hình lẫn tổ chức,
đáp ứng khá đầy đủ các nhu cầu của người sử dựng. Internet đã được thiết kế
để kết nối nhiều mạng với nhau và cho phép thông tin chuyển đến người sử
dụng một cách tự do và nhanh chóng.Để làm được điều này người ta sử dụng
một hệ thống các thiết bị định tuyến để kết nối các LAN và WAN với nhau.Các
máy tính được kết nối vào Internet thông qua các nhà cung cấp dịch vụ ISP.
Với Internet, những dịch vụ như đào tạo từ xa, mua hàng trực tuyến, tư vấn các
lĩnh vực và rất nhiều điều khác đã trở thành hiện thực. Tuy nhiên do Internet có
phạm vi toàn cầu và không một tổ chức, chính phủ cụ thể nào quản lý nên rất
khó khăn trong việc bảo mật và an toàn dữ liệu, cũng như việc quản lý dịch vụ.
Các doanh nghiệp có chỗ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 nghuồn tài
nguyên, nhiều doanh nghiệp đã triển khai giảiphápphầnmề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 đề trên, nhiều doanh nghiệp đã chọn giảiphápmô
hình mạng riêng ảo VPN. Với mô hình 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 và dộ tin cậy vậy
được bảo đảm, đồng thời có thể quản lý riêng sự hoạt động của magj này. VPN
cho phép người sử dụng làm việc tại nhà riêng , trên đường đi hoặc các văn
phòng chi nhánh có thể kết nối an toàn tới máy chủ của tổ chức mình bằng cơ
sở hạ tầng được cung cấp bởi mạng công cộng. Nhưng thông thường, triển khai
phần mềm VPN và phần cứng tốn nhiều thời gian và chi phí , do đó OpenVPN
là một giảiphápmãnguồnmở VPN hoàn toàn miễn phí và cực kỳ hiệu quả cho
các doanh nghiệp.
Nội dung báo cáo được trình bày theo 2 phần chính:
Lê Công Thuỷ-53PM2-MSSV: 104653
4
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
1.Những tìmhiểu cơ bản về VPN
2.Tìm hiểu về OpenVPN và triển khai trong mô hình máy ảo
V. Tổng quan về VPN
1. Định nghĩa về VPN
Trước kia khi một công ty,tổ chức muốn kết nối các văn phòng,chinh
nhánh với nhau họ phải thuê riêng một kênh đường truyền leased line từ các
ISP.Ngày nay với sự phát triển nhanh chóng và phổ biến của internet,việc thuê
một kênh riêng đã trở nên không hiệu quả,ngoài ra chi phí cho việc thuê kênh
riêng hiện nay là khá cao.Để đáp ứng hai yêu cầu hiệu quả và chi phí thì VPN
đã ra đời,đưa đến cho các doanh nghiệp giảipháp để kết nối các văn phòng và
chi nhánh.Vậy VPN là gì?
Có khá nhiều định nghĩa về VPN,em xin đưa một vài ví dụ cụ thể :
“Mạng riêng ảo hay VPN (viết tắt cho Virtual Private Network) là một
mạng dành riêng để kết nối các máy tính của các công ty,tập đoàn hay các tổ
chức với nhau thông qua mạng Internet công cộng.” nguồn: Wikipedia
“Một mạng VPN có thể hiểu là một thiết lập logic vật lý bảo mật được
thực hiện bởi những phầnmềm đặc biệt.Thiết lập sự riêng tư bằng việc bảo vệ
kết nối điểm cuối” nguồn: OpenVPN-Markus Feiler
Nhưng có lẽ định nghĩa đơn giản nhất dành cho VPN là:
“Bản chất của VPN là một kết nối bảo mật giữa hai hoặc nhiều điểm của
mạng công cộng” nguồn: SSL VPN-Joseph Steinberg & Timothy Speed
5
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
Hình 1: Mô Hình mạng riêng ảo (VPN)
2. Tại sao phải sử dụng VPN
VPN ra đời từ nhu cầu kết nối giữa các công ty mẹ với các công ty con
và chi nhánh.Chính vì vậy,cho tới nay thì các công ty,tổ chức chính là đối
tượng chính sử dụng VPN.Đặc biệt là các công ty có nhu cầu cao về việc trao
đổi thông tin,dữ liệu giữa các văn phòng với nhau nhưng lại không đòi hỏi yêu
cầu quá cao về tính bảo mật,cũng như dữ liệu.Vì vậy đối với các doanh
nghiệp,những lý do sau khiến mỗi đơn vị,tổ chức,công ty sử dụng VPN:
1. Giảm chi phí thường xuyên
Tiết kiệm 60% chi phí thuê đường truyền,cũng như là chi phí gọi đường
dài của những văn phòng ở xa.Với những nhân viên di động thì việc đăng nhập
vào mạng VPN chung của công ty thông qua các POP tại địa điểm đó.
2. Giảm chi phí đầu tư
So với việc phải đầu tư từ đầu như trước đây thì giờ đây mọi chi phí về
máy chủ,đường truyền,bộ định tuyến,bộ chuyển mạch … Các công ty có thể
thuê chúng từ các đơn vị cung cấp dịch vụ.Như vậy vừa giảm được chi phí đầu
tư trang thiết bị.
3. Giảm chi phí duy trì nơi hệ thống và bảo trì
Thuận tiện cho việc nâng cấp hay bảo trì trong quá trình sử dụng vì hiện
nay các công ty cung cấp dịch vụ sẽ chịu trách nhiệm bảo trì hệ thống họ cung
cấp hoặc nâng cấp theo nhu cầu của khách hàng.
4. Truy cập mọi lúc mọi nơi
Mọi nhân viên có thể sử dụng hạ tầng,dịch vụ của bên cung cấp trong
điều kiện cho phép để kết nối vào mạng VPN của công ty.Điều này đặc biệt
quan trọng thời kỳ hiện nay,khi mà thông tin không chỉ còn được đánh giá bằng
độ chính xác mà còn cả tính tức thời.
3. Kiến trúc của VPN
Một hệ thống VPN được xây dựng lên bởi 2 thành phần chính là
(Tunneling) đường hầm kết nối và (Secure services) các dịch vụ bảo mật cho
kết nối đó.Tunneling chính là thành phần “Virtual” và Sercure services là thành
phần “Private” của một mạng riêng ảo VPN(Virtual Private Network).
a) Đường hầm kết nối (Tunneling)
Lê Công Thuỷ-53PM2-MSSV: 104653
6
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
Khác với việc thuê một đường truyền riêng các kết nối bằng việc sử
dụng cách tạo đường hầm không liên tục,mà chỉ được xác lập khi có yêu cầu
kết nối.Do vậy khi không còn được sử dụng các kết nối này sẽ được huỷ,giải
phóng băng thông,tài nguyên mạng cho các yêu cầu khác.Điều này cho thấy
một ưu điểm rất lớn của VPN so với việc thuê đường truyền riêng đó là sự linh
hoạt.
Cấu trúc logic của mạng được thiết lập dành cho thiết bị mạng tương
ứng của mạng đó mà không cần quan tâm đến hạ tầng mạng hiện có là một đặc
điểm “ảo” khác của VPN.Các thiết bị phần cứng của mạng đều trở nên tàng
hình với người dùng và thiết bị của mạng VPN.Chính vì thế trong quá trình tạo
ra đường hầm,những kết nối hình thành nên mạng riêng ảo không có cùng tính
chất vật lý với những kết nối cố định trong mạng Lan thông thường.
Tạo đường hầm chính là hình thành 2 kết nối đặc biệt giữa hai điểm cuối
trên mạng.Các gói tin IP trước khi chuyển đi phải được đóng gói,mã hoá gói tin
gốc và thêm IP header mới.Sau đó các gói tin sẽ được giải mã,tách bỏ phần tiêu
đề tại gateway của điểm đến,trước khi được chuyển đến điểm đến đầu cuối.
Đường hầm kết nối khiến việc định tuyến trở nên dễ dàng hơn,hoàn toàn
trong suốt với người sử dụng.
Có hai loại đường hầm kết nối thường trực và tạm thời.Tính hiệu quả và
tối ưu của một đường hầm kết nối thường trực là không cao.Do đó đường hầm
tạm thời thường được sử dụng hơn vì tính linh động và hữu dụng hơn cho
VPN.
Có hai kiểu kết nối hình thành giữa hai đầu kết nối của mỗi đường hầm
là Lan to Lan và Client to Lan.
(i) Lan to Lan
Kết nối lan to lan được hình thành giữa 2 văn phòng chi nhánh hoặc chi
nhánh với công ty.Các nhân viên tại những văn phòng và chi nhánh đều có thể
sử dụng đường hầm để trao đổi dữ liệu.
(ii) Client to lan
Kiểu kết nối client to lan dành cho các kết nối di động của các nhân viên
ở xa đến công ty hay chi nhánh.Để thực hiện được điều này,các máy client phải
chạy một phầnmềm đặc biệt cho phép kết nối với gateway của công ty hay
chinh nhánh.Khi kết nối này được thực hiện thì đã xác lập một đường hầm kết
nối giữa công ty và nhân viên ở xa.
7
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
b)Dịch vụ bảo mật (secure services)
Nếu chỉ thực hiện tạo ra một đường hầm kết nối đến chi nhánh hay nhân
viên ở xa mà không hề có cơ chế bảo vệ cho các dữ liệu di chuyển trên nó thì
cũng như việc các ngân hàng chuyển tiền mà không có lực lượng bảo vệ
vậy.Tất cả các dữ liệu sẽ không được bảo vệ,hoàn toàn có thể bị đánh cắp,thay
đổi trên quá trình vận chuyển một cách dễ dàng.Chính vì vậy các cơ chế bảo
mật cho VPN chính là xương sống của giảipháp này.
Một mạng VPN cần cung cấp 4 chức năng bảo mật cho dữ liệu:
• Xác thực(Authentication): Đảm bảo dữ liệu đến từ một nguồn quy
định.
• Điều khiển truy cập (Access control) : hạn chế quyền từ những người
dùng bất hợp pháp.
• Tin cậy (Confidentiality): Ngăn chặn việc theo dõi hay sao chép dữ
liệu trong quá trình vận chuyển trên mạng.
• Tính toàn vẹn (Data integrity): đảm bảo dữ liệu không bị thay đổi,được
bảo toàn từ đầu gửi đến đầu nhận.
Các dịch vụ bảo mật trên được cung cấp tại lớp 2 (Data link) và lớp 3
(Network) trong mô hình 7 lớp OSI.Các dịch vụ bảo mật đều được triển khai
tại các lớp thấp của mô hình OSI làm giảm sự tác động đến người dùng.Việc
bảo mật có thể thực hiện tại các đầu cuối (end to end) hoặc giữa các nút (node
to node).
Bảo mật tại các điểm đầu cuối là hình thức bảo mật có được độ tin cậy
cao,ví dụ như tại 2 máy tính đầu cuối.Tuy vậy nhưng hình thức bảo mật đầu
cuối hay client to client lại có nhược điểm làm tang sự phức tạp cho người
dùng,khó khăn cho việc quản lý.
Trái với bảo mật điểm đầu cuối,bảo mật tại các nút thân thiện hơn với
người dùng cuối.Giảm số tác vụ có thể làm chậm hệ thống máy tính như mã
hoá hay giải mã.Tuy nhiên việc bảo mật tại các nút lại yêu cầu mạng sau nó
phải có độ tin cậy cao.Mỗi hình thức bảo mật đều có ưu điểm riêng,tuỳ theo
từng yêu cầu của hệ thống cần xây dựng mà chọn hình thức phù hợp.
Lê Công Thuỷ-53PM2-MSSV: 104653
8
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
4. Các giao thức trong VPN
a) Ipsec
mô hình Ipsec
Internet Security Protocol là một cấu trúc được khởi sướng và duy trì
phát triển bởi lực lượng chuyên trách về kỹ thuật liên mạng (IETF) nhằm cung
cấp các dịch vụ bảo mật cho giao thức Ipv4 và Ipv6.Nó được xây dựng để phục
vụ cho các cấu trúc tầng trên cùng,đúng hơn là tập chung vào các thuật toán mã
hoá và phương pháp trao đổi các khoá.Ipsec được thiết kế chạy trên ứng dụng
để bảo mật cho hệ thống mạng của chính nó.Nâng cấp Ipsec chỉ có nghĩa là
nâng cấp tính năng bảo mật,các ứng dụng mạng hiện tại có thể tiếp tục sử dụng
để truyền dữ liệu.
Ipsec cung cấp ba phương thức bảo mật đó là :
➢ Thuật toán mã hoá
➢ Thuật toán xác thực
➢ Quản lý khoá
Hai lợi ích chính bắt nguồn từ IPsec là các sản phẩm hoặc dịch vụ
IPSec tăng tính năng bảo mật bổ sung cũng như khả năng tương tác với các sản
9
Giải phápmãnguồnmởOpenVPN trong Linux
February 24, 2014
phẩm khác IPSec tăng cường an ninh có nghĩa là xác thực toàn diện nhất và
mạnh mẽ nhất ,trao đổi khoá, và các thuật toán mã hóa , mạnh mẽ cho sử dụng
trong thế giới
Mặc dù IPSec vẫn còn trải qua thay đổi , nhiều nền tảng cơ bản đã được
đông lạnh đủ cho các nhà cung cấp để hoàn thiện , kiểm tra, và phân phối các
sản phẩm VPN.
IPSec được hỗ trợ hai kiểu mã hoá .Để bảo vệ khối lượng của mỗi gói
tin, trong khi các chế độ đường hầm mã hóa cả tiêu đề và khối lượng. Một cách
hợp lý đủ các chế độ đường hầm an toàn hơn, vì nó bảo vệ danh tính của người
gửi và người nhận, cùng với một số lĩnh vực ẩn IP khác có thể cung cấp cho
một người trung gian thông tin hữu ích.
Để Ipsec làm việc như mong đợi, tất cả các thiết bị phải chia sẻ một
khoá.ặMc dù các giao thức được sử dụng để mã hóa dữ liệu là rất quan trọng
vào thành công chung của hệ thống, rất nhiều công việc đã đi vào xác thực và
trao đổi khóa bằng người gửi và quá trình nhận.Tất nhiên nó được thực hiện
chủ yếu thông qua giao thức ISAKMP / oakley và X 0,509 hệ thống chứng
nhận kỹ thuật số.
b) ESP( Encapsulating Security Payload )
Lê Công Thuỷ-53PM2-MSSV: 104653
10
[...]... GiảiphápmãnguồnmởOpenVPN trong Linux February 24, 2014 Logo hiện nay của OpenVPNOpenVPN là một phầnmềm mạng riêng ảo mãnguồnmở dành cho việc tạo các đường ống (tunnel) điểm-tới-điểm được mã hóa giữa các máy chủ Phầnmềm này do James Yonan viết và được phổ biến dưới giấy phép GNU GPL OpenVPN cho phép các máy đồng đẳng xác thực lẫn nhau bằng một khóa bí mật được chia sẻ từ trước, chứng chỉ mã. .. trên file cấu hình tới server Server chứng thực kết nối và cấp phép cho kết nối tới client Bắt đầu trao đổi dữ liệu giữa client và server VI Giải phápmãnguồnmở OpenVPN trênLinux 23 Giải phápmãnguồnmở OpenVPN trong Linux February 24, 2014 1 Lịch sử của OpenVPN Năm 2003,James Yonan đi du lịch ở châu Á và phải kết nối với văn phòng qua các ISP của châu Á hoặc Nga.Ông nhận thấy thực tế rằng những... 104653 GiảiphápmãnguồnmởOpenVPN trong Linux February 24, 2014 • • Cài đặt đơn giản trên bất kỳ hệ thống nào: Đơn giản hơn nhiều so với IPsec Thiết kế kiểu Modun 4 Cài đặt OpenVPN trong LinuxOpenVPN được cung cấp rất nhiều phiên bản cho hệ điều hành Linuxtrên trang chủ OpenVPN. net.Nhưng trong phạm vi của báo cáo em xin phép được trình bày việc triển khai trên hệ điều hành CentOS 64bit 5.1 Những hiểu. .. * 6 Cài đặt OpenVPN 33 Giải phápmãnguồnmở OpenVPN trong Linux February 24, 2014 Cấu trúc lệnh: yum install openvpn- y Sau khi xuất hiện câu lệnh Complete nghĩa là hệ thống đã được cài đặt OpenVPN thành công 7 Cấu hình VPN cơ bản 7.1 Cấu hình OpenVPN server Linux Việc cấu hình OpenVPNtrên server CentOS được thực hiện qua những bước sau đây: 1 Sao chép thư mục easy-rsa tới thư mục /etc /openvpn Cấu... vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994 Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License Do đó mà bất cứ ai cũng có thể tải và xem mãnguồn của Linux 27 Giải phápmãnguồnmở OpenVPN trong Linux February 24, 2014 Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân Linux, nhưng tên này được sử dụng một cách... mạng.Rồi Yohan chọn tên OpenVPN với sự tôn trọng dành cho những thư viện và những chương trình của dự án Open SSI, và muốn đưa ra thông điệp: Đây là mãnguồnmở và phầnmềm miễn phí.Open VPN sử dụng thiết bị Tun/Tap( hầu như có sẵn trên các bản Linux) và OpenSSL để xác thực ,mã hoá và giảimã khi nhận đường truyền giữa hai bên thành chung một mạng James Yonan cha đẻ của OpenVPN 2 OpenVPN là gì? 24 Lê Công... Giải phápmãnguồnmở OpenVPN trong Linux February 24, 2014 Ví dụ về server có sử dụng LDAP Hệ thống X.509 là giao thức truy cập thư mục nhẹ, hoặc LDAP LDAP là một dịch vụ X.500 nhỏ hơn, dễ dàng hơn và hợp lý để thực hiện, điều này hỗ trợ các giảipháp VPN khác nhau để cung cấp xác thực và quản lý giấy chứng nhận Sản phẩm phần cứng như Vịnh mạng Extranet LDAP Đổi sử dụng cũng như một số giảipháp phần. .. 104653 GiảiphápmãnguồnmởOpenVPN trong Linux February 24, 2014 3 Tải gói LZO RPM và cấu hình RPMForge Sử dụng lệnh wget LZO là thư viện nén dữ liệu.CentOS sử dụng gói lzo-2.033.fu14.src.rpm Rpmforge (bây giờ gọi là Repoforge) là một kho lưu trữ các gói phầnmềm cho Red Hat Enterprise Linux và các dẫn xuất của nó như CentOS Cấu trúc lệnh: wget http:/ /openvpn. net/release/lzo-1.08-4.rf.src.rpm 31 Giải pháp. .. sử dụng Trang web hiện nay của OpenVPN 3 Ưu điểm của OpenVPN 25 GiảiphápmãnguồnmởOpenVPN trong Linux February 24, 2014 • Bảo vệ người làm việc bên ngoài bằng bức tường lửa nội bộ • Các kết nối OpenVPN có thể đi qua được hầu hết mọi tường lửa và proxy: Khi truy cập các trang web HTTPS, thì đường hầm OpenVPN làm việc.Việc thiết lập đường hầm OpenVPN bị cấm là rất hiếm .OpenVPN có hỗ trợ uỷ quyền đầy... http:/ /openvpn. net/release/lzo-1.08-4.rf.src.rpm 31 GiảiphápmãnguồnmởOpenVPN trong Linux February 24, 2014 4 Thêm phiên bản cho máy CentOS x64 Cấu trúc lệnh: Wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.22.el6.rf.x86_64.rpm Sau khi cài đặt xong ta kiểm tra lại bằng lệnh uname–a 32 Lê Công Thuỷ-53PM2-MSSV: 104653 GiảiphápmãnguồnmởOpenVPN trong Linux February 24, 2014 5 Xây dựng các gói . Cáo Thực Tập Tốt Nghiệp
Đề tài: Tìm hiểu giải pháp mã nguồn mở OpenVPN
trong Linux
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
I. Lời cảm. theo 2 phần chính:
Lê Công Thuỷ-53PM2-MSSV: 104653
4
Giải pháp mã nguồn mở OpenVPN trong Linux
February 24, 2014
1.Những tìm hiểu cơ bản về VPN
2 .Tìm hiểu