Đồ án Nghiên cứu tìm hiểu công nghệ bảo mật gói ip (ipsec) và ứng dụng trong bảo mật thông tin trên mạng máy tính

MỤC LỤC 1 DANH MỤC CÁC HÌNH 5 DANH MỤC CÁC BẢNG 6 DANH MỤC CÁC TỪ VIẾT TẮT VÀ MỘT SỐ KHÁI NIỆM 7 ĐẶT VẤN ĐỀ 10 Chương 1 : Tổng Quan Về Giao Thức TCP/IP. 11 1.1 – Mô hình tham chiếu mở OSI ( Open system Interconnection). 11 1.1.1 – Giới thiệu mô hình OSI. 11 1.1.2 – Các nguyên tắc khi xây dựng mô hình tham chiếu OSI. 12 1.1.3 – Chức năng của các tầng trong mô hình tham chiếu OSI. 12 1.2 – Bộ giao thức TCP/IP. 13 1.2.1 – Giới thiệu về TCP/IP. 13 1.2.2 – Kiến trúc của TCP/IP. 14 1.2.3 – Giao thức liên mạng TCP (Tranmission Control Protocal). 15 1.2.4 – Giao thức truyền thông IP (Internet Protocol). 17 1.2.5 – Giao thức thông báo điều khiển liên mạng (ICMP). 20 1.2.6 – Một số ứng dụng của TCP/IP. 22 Chương 2 : Tìm hiểu về công nghệ IPSec 23 2.1 – IPSec (Internet protocal security). 23 2.1.1 – Tổng quan về IPSec. 23 2.1.1.1 – Các ứng dụng của IPSec. 24 2.1.1.2 – Mục đích của IPSec. 25 2.1.1.3 – Hiện trạng của IPSec. 25 2.1.1.4 – Lợi ích của IPSec. 26 2.1.1.5 – Các ứng dụng định tuyến 27 2.1.2 – Kiến trúc IP Security. 27 2.1.2.1 – Các tài liệu về IPSec. 27 2.1.2.2 – Các dịch vụ IPSec. 29 2.1.2.3 – Các liên kết an toàn. 30 2.1.3 – Header xác thực (Authentication Header). 33 2.1.3.1 – Dịch vụ Anti-Replay. 34 2.1.3.2 – Giá trị kiểm tra tính toàn vẹn (Integrity Check Value): 35 2.1.3.3 – Các phương thức Transport và Tunnel: 36 2.1.4 – Khối an toàn tóm lược (Encapsulating Security Payload). 37 2.1.4.1 – Dạng ESP. 37 2.1.4.2 – Thuật toán mã và xác thực. 38 2.1.4.3 – Padding: 38 2.1.4.4 – Quá trình xử lý gói tin trong ESP. 38 2.1.4.5 – Các phương thức Transport và Tunnel. 40 2.1.5 – Quản lý khóa. 43 2.1.5.1- Giao thức xác định khóa Oakley (Oakley Key Determination Protocol) 44 2.1.5.2 – ISAKMP(Internet Security Association and Key Management Protocol). 47 2.1.5.2.1 - Dạng header của ISAKMP: 47 2.1.5.2.2 - Các kiểu ISAKMP payload: 48 2.1.5.2.3 - Các trao đổi ISAKMP. 50 2.2 – IKE (Internet Key Exchange). 53 2.2.1 – Giới thiệu về IKE. 53 2.2.2 – Sự trao đổi IKE (IKE Exchanges). 53 2.2.3 – Chế độ trao đổi chính của IKE (Main Mode Exchange). 53 2.2.4 – Chế độ trao đổi nỗ lực (Aggressive Mode Exchange). 53 2.2.5 – Chế độ trao đổi nhanh (Quick Mode Exchange). 53 2.2.6 – Chế độ trao đổi khác (Other IKE Exchanges). 54 Chương 3 : Ứng dụng của IPSec trong bảo mật thông tin trên mạng. 55 3.1 – Tìm hiểu về bộ phần mềm OpenS/wan. 55 3.1.1 – OpenS/wan. 55 3.1.2 – Chức năng của OpenS/wan. 55 3.1.3 – Cấu trúc của OpenS/wan. 55 3.1.3.1 – PLUTO 55 3.1.3.2 – KLIP 58 3.1.3.2.1 - ipsecX Interfaces 59 3.1.3.2.2 – Gói Caching đầu tiên. 59 3.1.3.2.3 – Nghiên cứu dẫn đường MTU. 59 3.1.3.2.4 – KLIPS Downside. 60 3.1.4 – Cách cài đặt OpenS/wan 62 3.2 - Ứng dụng của OpenS/wan để thiết lập mạng an toàn. 69 3.2.1 – ứng dụng trong bảo mật mạng lan-to-lan 69 3.2.1.1 –Cài đặt OpenS/wan 69 3.2.1.2 – Chạy OpenS/wan. 71 3.2.1.3 – Kiểm tra trạng thái cài đặt OpenS/wan. 72 3.2.1.4 – Sửa một số lỗi trạng thái phổ biến. 72 3.2.1.5 – Các bước cấu hình VPN (Sử dụng khóa RSA) 73 3.2.2 – Ứng dụng trong bảo mật mạng Road Warrior 86 3.2.2.1 - Road Warrior 86 3.2.2.2 – Lấy leftrsasigkey. 86 3.2.2.3 – Lấy rightrsasigkey. 86 3.2.2.4 – Tùy chỉnh file /etc/ipsec.conf. 87 3.2.2.5 – Bắt đầu kết nối. 88 3.2.2.6 – MASQ hoặc NAT những gói packet trong đường hầm. 88 3.2.2.7 – Kiểm tra kết nối. 88 KẾT LUẬN 89 TÀI LIỆU THAM KHẢO 90

doc88 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3051 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu tìm hiểu công nghệ bảo mật gói ip (ipsec) và ứng dụng trong bảo mật thông tin trên mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
IKE thực sự x¸c định số lượng c¸c trao đổi và c¸c tïy chọn cã thể được ¸p dụng cho trao đổi. Kết quả của trao đổi IKE là x¸c thực được khãa và đồng ý – nhờ dịch vụ an ninh – nãi một c¸ch kh¸c, một hiệp hội an ninh IPSec. 2.2.2 – Sù trao ®æi IKE (IKE Exchanges). Hai chế độ trao đổi exchanges—main và Aggressive cã cïng một điều : Thành lập sử bảo mật và x¸c thực của một kªnh th«ng tin liªn lạc (IKE SA) và x¸c thực khãa (key) sử dụng để cung cấp sự bảo mật, tÝch hợp th«ng b¸o, và x¸c thực nguồn th«ng b¸o tới th«ng tin liªn lạc IKE giữa hai sự tương đương. Tất cả những sự trao đổi kh¸c được định nghĩa trong IKE cã một sự x¸c thực IKE SA như là một điều kiện tiªn quyết. Bởi vậy nã là một bước của sự trao đổi, hoặc chế độ chÝnh (main) hoặc chế độ Aggressive, cần phải được thực hiện trước khi cã bất kỳ một trao đổi kh¸c. 2.2.3 – ChÕ ®é trao ®æi chÝnh cña IKE (Main Mode Exchange). Chế độ Main sử dụng s¸u th«ng b¸o, trong ba vßng truyền đi, để thiết lập c¸c IKE SA. Ba bước dưới đ©y là trao đổi SA, một trao đổi Diffie-Hellman và một trao đổi của Nonces, và sự x¸c thực của tương đương. 2.2.4 – ChÕ ®é trao ®æi nç lùc (Aggressive Mode Exchange). Mục đÝch của chế độ trao đổi Aggressive là giống như chế độ trao đổi main – việc thành lập một hiệp hội an ninh x¸c thực, và những khãa (key), mà IKE cã thể được sử dụng để thiết lập c¸c hiệp hội an ninh bảo vệ an ninh cho c¸c giao thức. Sự kh¸c biệt chÝnh là chế độ Aggressive chỉ dïng bằng một nửa số th«ng b¸o như ở chế độ main. Bằng c¸ch hạn chế số lượng th«ng b¸o, chế độ Aggressive cũng giới hạn quyền trao đổi của nã và cũng kh«ng cung cấp bảo vệ danh tÝnh (identity). 2.2.5 – ChÕ ®é trao ®æi nhanh (Quick Mode Exchange). Sau khi một IKE SA được thành lập, th«ng qua chế độ Main hoặc Aggressive, nã cã thể được sử dụng để tạo ra SAs cho an ninh c¸c giao thức kh¸c như IPSec. C¸c SAs được thành lập th«ng qua chế độ trao đổi nhanh. Chế độ trao đổi nhanh được thực hiện dưới sự bảo về của một IKE SA được thành lập trước đã. Nhiều chế độ nhanh cã thể được thực hiện cïng với một chế độ main hoặc Aggressive. Trong thực tế, việc thực hiện nhiều chế độ nhanh cã thể được thực hiện dưới sự bảo vệ của một IKE SA. 2.2.6 – ChÕ ®é trao ®æi kh¸c (Other IKE Exchanges). Tất cả những trao đổi được m« tả trong IKE cho đến nay đều tạo ra SAs – Đã là một trong những giai đoạn tạo ra IKE SA và hai giai đoạn tạo ra IPSec SAs. Hai định nghĩa IKE trao đổi kh¸c cung cấp cho sự bảo trî của IKE SA và cho sự điều đ×nh của c¸c nhãm riªng tư Diffie-Hellman. Ch­¬ng 3 : øng dông cña IPSec trong b¶o mËt th«ng tin trªn m¹ng. 3.1 – T×m hiÓu vÒ bé phÇn mÒm OpenS/wan. 3.1.1 – OpenS/wan. OpenS/wan là m· nguồn mở dïng để triển khai IPSec trªn hệ điều hành Linux. Nã là một nh¸nh më của dự ¸n FreeS/WAN, bắt đầu bằng vài người ph¸t triển thất bại với việc chÝnh trị bao quanh dự ¸n đã. OpenS/wan là, kh«ng cã c©u hỏi, dễ dàng với tất cả c¸c giải ph¸p để VPN hoạt động trªn Linux; nhưng kh«ng phải nãi nhiều về vấn đề đã, c¸c giải ph¸p kh¸c cã thể là sai lầm. OpenS/wan là một m· nguồn mở nªn bất cứ ai cũng cã thể trở thành người ph¸t triển. Họ cã thể v¸ c¸c lỗi, sửa đổi và bổ sung chức năng mới. OpenS/wan hỗ trợ cho hầu hết c¸c mở rộng (RFC + Bản thảo IETF) cã liªn quan đến IPSec, bao gồm cả kỹ thuật chứng nhận số X.509, NAT Traversal, và rất nhiều thứ kh¸c. 3.1.2 – Chøc n¨ng cña OpenS/wan. Thiết lập c¸c hệ thống mạng an toàn (mạng riªng ảo) trªn nền mạng c«ng cộng theo c«ng nghệ IPSec. 3.1.3 – Cấu tróc của OpenS/wan. OpenS/wan bao gồm hai phần chÝnh cấu thành là KLIP và PLUTO. PLUTO cã chức năng : Trao đổi, thiết lập kªnh an toàn (IKE, ISAKMP,…) KLIP cã chức năng : Thực hiện việc m· hóa c¸c gãi IP theo c«ng nghệ IPSec. 3.1.3.1 – PLUTO C¬ chÕ ho¹t ®éng cña PLUTO trong OpenS/wan. H×nh 3.1 : M« h×nh ho¹t ®éng cña PLUTO C¸c module ch­¬ng tr×nh chÝnh trong PLUTO vµ KLIP Tªn module Chøc n¨ng Spdc.h Spdc.c X©y dùng c¸c c¬ së cña chÝnh s¸ch an toµn ( vÝ dô : c¸c cÊu tróc cña c¸c transform, thuËt to¸n x¸c thùc, m· ho¸, nhãm cña Diffie – Hellman …) Ipsec_doi.h Ipsec_doi.c Thùc hiÖn viÖc trao ®æi c¸c th«ng tin víi c¸c gateway kh¸c ®Ó thùc hiÖn c¸c qu¸ tr×nh tho¶ thuËn c¸c SA an toµn, trong module nµy, nã còng thùc hiÖn viÖc x¸c thùc c¸c gateway m· ho¸ b»ng viÖc sö dông kho¸ chian sÎ tr­íc hay hÖ mËt kho¸ c«ng khai. Preshared.h Preshared.c Thùc hiÖn viÖc lÊy c¸c gi¸ trÞ kho¸ cña RSA ®Æt trong /etc/ipsec.conf vµ /etc/ipsec.secrets ®Ó phôc vô cho viÖc m· ho¸, gi¶i m· vµ x¸c thùc Crypto.h Crypto.c M· vµ gi¶i m· c¸c message cña pluto trong qu¶ tr×nh tho¶ thuËn c¸c SA an toµn. ThuËt to¸n m· ho¸ ë ®©y sö dông DES hoÆc IDEA ( gi¸ trÞ default lµ IDEA) Cookie.h Cookie.c Sinh ra c¸c cookie Connection.h Connection.c Sö lý c¸c th«ng tin vÒ c¸c kÕt nèi Kernel.h Kernel.c Server.h Server.c Kernel_comm.h Kernel_comm.c Thùc hiÖn viÖc trao ®æi c¸c th«ng tin gi÷a pluto vµ klips Whack.h Whack.c Kerkel_comm.h Kerkel_comm.c Giao diÖn ®Ó thùc hiÖn c¸c lÖnh cña pluto(whack) vµ thùc hiÖn c¸c tiÕn tr×nh cña whack. Constants.h L­u vµ ®Þnh nghÜa c¸c h»ng, bao gåm c¶ sè Diffie – Hellman. Md5.h Md5.c T¹o c¸c gi¸ trÞ tãm l­îc cña hµm b¨m theo gi¶i thuËt md5 sha1.h sha1.c T¹o c¸c gi¸ trÞ tãm l­îc cña hµm b¨m theo gi¶i thuËt sha1 Config.in L­u gi÷ c¸c th«ng tin cÊu h×nh cña IPSec ®Ó add vµo kernel Defconfig §Æt c¸c gi¸ trÞ ngÇm ®Þnh cña IPSec vµo kernel Ipsec_md5.h Ipsec_md5.c Ipsec_sha1.h Ipsec_sha1.c Thùc hiÖn c¸c hµm b¨m md5 vµ sha1 pfkey_v2.h pfkey_v2.c pfkey_v2_parser.h pfkey_v2_parser.c Thùc hiÖn viÖc trao ®æi th«ng tin gi÷a Pluto vµ Klips ipsec_xform.h ipsec_xform.c KÕt hîp víi c¸c th­ viÖn DES, IDEA vµ c¸c th«ng tin ®· tho¶ thuËn ®­îc cña Pluto chuyÓn xuèng ®Ó t¹o ra c¸c kho¸ an toµn cho phiªn liªn l¹c. ipsec_rcv.h ipsec_rcv.c Thùc hiÖn viÖc gi¶i m· c¸c gãi tin tõ ngoµi tíi. ipsec_tunnel.h ipsec_tunnel.c M· vµ ®ãng gãi c¸c gãi tin råi göi ra ®­êng m¹ng. B¶ng 3.1 : C¸c module chÝnh trong PLUTO vµ KLIP S¬ ®å ho¹t ®éng cña c¸c module : H×nh 3.2 : S¬ ®å ho¹t ®éng cña c¸c module. 3.1.3.2 – KLIP KLIP là lần đầu tiªn cã trong IPSec Stack cho Linux. Phiªn bản đầu tiªn chạy trªn Linux 2.0, và phiªn bản mới nhất chạy trªn bất cứ c¸i nào giữa 2.2 và 2.6. Nã được sử dụng duy nhất cho Linux IPSec Stack trong hơn một năm qua; nhưng trong thực tế, nã đã được sử dụng hơn năm năm. Nã cã uy tÝn cao trong cộng đồng IPSec, và nã được xem như là nền tảng của de facto interop bởi nhiều nhà cung cấp thương mại. Nếu KLIP kh«ng sử dụng được với phần cứng IPSec của chóng ta, th× chóng ta đã làm sai c¸i g× đã. KLIP được viết lại giữa phiªn bản FreeS/WAN 1.99 và phiªn bản 2.x. Một số chức năng của nã đã được ph¸t triển mạnh đến nay và được re- factored. C¸c m· 2.x cũng giới thiệu hệ thống kiểm tra regression. Mỗi một tÝnh năng của KLIP đều được kiểm tra trong c¸c bài kiểm tra nightly regression. C¸c phiªn bản 2.x cßn là cơ sở cho OpenS/wan 2.x. 3.1.3.2.1 - ipsecX Interfaces Kể từ khi KLIP có sẵn c¸c m· netfilter trong nh©n Linux, nã đ¸ t×m ra một c¸ch mới để mãc nối vào c¸c nh©n và c¸c mạng lưới Stack. Giải ph¸p tạo ra c¸c thiết bị ảo, c¸c thiết bị ipsecX, và ¸p dụng một m¸nh khãe định tuyến để gửi những gãi tin Packet vào c¸c thiết bị ảo. Lợi thế là lưu lượng gãi tin Packet rất râ ràng. Một m· hãa gãi đi kÌm trong thiết bị ethX. Nã được nhận diện đ©y là một gãi IPSec, và nã được gửi đến c¸c m· KLIP để xử lý. KLIP giải m· gãi tin Packet, và đặt c¸c gãi tin giải m· trªn thiết bị ipsecX. Như vậy c¸c gãi sẽ đi ngang qua mọi Linux iptables (hoặc ipfwadm /ipchains trªn nh©n cũ) một lần trªn giao diện Interface, cho phÐp tồn tại c¸c luật tường lủa riªng biệt cho m· hãa và giải m· gãi tin. Điều này gióp viết c¸c luật tường lửa một c¸ch dễ dàng và được coi là một trong những tÝnh năng lớn của KLIP. 3.1.3.2.2 – Gãi Caching đầu tiªn. Một tÝnh năng quan trọng là bộ nhớ đệm (Caching) của c¸c gãi tin cho mạng mà nã được hiểu là một đường hầm IPSec cần được tạo ra. Bởi v× trong bộ nhớ đệm, đường hầm cã thể dễ dàng đưa lªn và xuống mà kh«ng cã bất kỳ mất m¸t về gãi nào. B©y giờ mất một gãi tin nãi chung kh«ng phải là một vấn đề lớn, nhưng nếu mất vài gãi tin th× sẽ mang đến sự tr× ho·n đ¸ng kể. 3.1.3.2.3 – Nghiªn cứu dẫn đường MTU. Một tÝnh năng của KLIP là nã hỗ trợ đầy đủ Path MTU discovery (RFC 1191). Path MTU discovery m« tả một phương ph¸p để x¸c định đơn vị truyền cực đại của một gãi tin Packet. Path MTU discovery t×m ra kÝch thước lớn nhất c¸c gãi tin cã thể được xử lý bởi c¸c định tuyến trung gian giữa hai m¸y tÝnh. C¸c m¸y tÝnh sẽ khởi xướng gửi c¸c gãi tin nhỏ, nhưng khi nã nhận chÝnh x¸c về mọi mặt của gãi tin th× nã sẽ tăng kÝch thước gãi tin lín dần. Tại một điểm nào đã, hoặc là điểm kết thóc, hoặc một m¸y tÝnh ở giữa mà đang đặt trªn gãi tin, sẽ cã gãi tin kh«ng thể gửi xa hơn được nữa v× nã qu¸ lớn. Nã sẽ drop gãi tin và gửi lại một th«ng b¸o cho c¸c m¸y chủ. иy là một gãi tin ICMP “Destination Unreachable (kh«ng thể tới được đÝch)“ trong đã sẽ cã một th«ng b¸o nãi rằng "Datagram Too Big (Gói dữ liệu quá lớn)". M¸y tÝnh gửi sẽ nhận được gói tin ICMP đã, đọc gi¸ trị 'Next-Hop MTU', và sử dụng gãi Packet nhỏ hơn. Nếu đường giữa hai m¸y tÝnh thay đổi, và một hop trong chuỗi có thể kh«ng nhận được kÝch thước của gãi tin, cïng một qu¸ tr×nh sẽ được bắt đầu từ m¸y chủ. Và chỉ một lần trong một khoảng thời gian, m¸y tÝnh sẽ tăng kÝch thước gãi tin gửi đi và chỉ giới hạn trong trường hợp kh«ng cã m¸y tÝnh giới hạn ở giữa. 3.1.3.2.4 – KLIPS’ Downside. KLIPS kh«ng được bao gồm trong nh©n Linux chÝnh thức. Như vậy, nhiều người sẽ kh«ng thÝch hoặc kh«ng tin vào KLIPS. Th«ng thường, c¸c quản trị hệ thống đã thử những c¸i g× mới, IPSec, và kh«ng muốn thực hiện điều g× khã hơn những c¸i họ đ· cã, vÝ dụ bằng c¸ch thªm m· riªng và x©y dựng một nh©n riªng của họ. Biªn soạn KILPS vào nh©n của chóng ta được thực hiện một c¸ch dễ dàng, do đã kh«ng được loại bỏ nã như một lựa chọn. Nhớ rằng KLIPS đã tồn tại được hơn 10 năm và nã đ· chứng minh được sự ổn định của nã. Mặt kh¸c NETKEY là một thương hiệu mới. Nã cã vẻ rất hứa hẹn, nhưng kh«ng thấy được một triển khai quy m« lớn nào được nªu ra. 3.1.3.2.5 – Klips-packetflow. H×nh 3.3 : S¬ ®å ho¹t ®éng cña KLIP 3.1.4 – C¸ch cµi ®Æt OpenS/wan Tất cả c¸c bản v¸ quan trọng, bao gồm cả X.509 và NAT Traversal. Nếu muốn cài đặt từ đầu chóng ta cã thể tải nã từ và làm theo c¸c hướng dẫn cài đặt bao gồm trong c¸c gãi. Chúng ta có hai lựa chọn cài đặt IPSec stack mà ta muốn cài đặt trong nh©n. Chóng ta cã thể sử dụng OpenS/wan của IPSec stack (Klips), hoặc sử dụng trong x©y dựng IPSec stack trong nh©n 2.6 (26sec). Nếu ta chạy trªn nh©n 2.4, chỉ cã tïy chọn là Klips. Cần phải cã bản v¸ NAT Traversal hỗ trợ trong nh©n (Nếu ta muốn sử dụng nã) , và x©y dựng c¸c module ipsec.o . Nếu sử dụng nh©n 2.6 hoặc nh©n 2.4 với hỗ trợ backported 26sec (chẳng hạn như nh©n của Debian cung cấp), ta kh«ng cần đụng chạm đến nh©n – vïng ở tất cả - chóng ta cã thể chỉ cần cài đặt c¸c OpenS/wan người dïng – vïng tiện Ých và đi. Lưu ý rằng nã kh«ng như là một tïy chọn để sử dụng Klips trªn nh©n 2.6; nã là trªn người ph¸t triÓn OpenS/wan tới-liệt kª, nhưng thực tế kh«ng phải là ưu tiªn cao. Chóng ta sẽ cần người dïng-vïng tiện Ých. Nếu cài đặt từ m· nguồn, ‘thực hiện c¸c chương tr×nh; thực hiện cài đặt’ sẽ gióp chóng ta cã được những g× cần. Nếu chạy Debian thử nghiệm hoặc kh«ng ổn định, chỉ cần chạy ‘apt-get install OpenS/wan’ để cung cấp mức tiện Ých người dïng. Atrpms cung cấp một OpenS/wan trọn gãi cho c¸c phiªn bản gần đ©y của RedHat và Fedora Core. Sau khi đã lựa chọn và thiết lập IPSec stack và cài đặt c¸c chương tr×nh sử dụng cho người dïng-vïng (user-land). Chóng ta sẽ cấu h×nh OpenS/wan. a – Cài đặt chứng chỉ trªn Gateway. Cài đặt c¸c tập tin trong những vïng thÝch hợp ( Nếu cài đặt vào một m¸y tÝnh từ xa, cần phải chắc chắn để sao chÐp c¸c tập tin một c¸ch an toàn). $ cp /var/sslca/host.example.com.key /etc/ipsec.d/private $ cp /var/sslca/host.example.com.pem /etc/ipsec.d/certs $ cp /var/sslca/demoCA/cacert.pem /etc/ipsec.d/cacerts $ cp /var/sslca/crl.pem /etc/ipsec.d/crls/crl.pem b – Cấu h×nh OpenS/wan trªn m¸y Gateway. Bước 1 : Cấu h×nh ipsec.secrets : /etc/ipsec.secrets should contain the following: : RSA host.example.com.key "password" Mật khẩu ở trªn cần phải là cụm từ mật khẩu PEM mà ta đ· nhập vào khi tạo ra chứng chỉ SSL. Bước 2 : Cấu h×nh ipsec.conf : /etc/ipsec.conf nªn cấu h×nh giống như cấu h×nh ở dưới (lưu ý rằng c¸c indentation là rất quan trọng, kh«ng cã nã, th× OpenS/wan sẽ lỗi. ___________________ version 2.0 config setup interfaces=%defaultroute nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16 conn %default keyingtries=1 compress=yes disablearrivalcheck=no authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert conn roadwarrior-net leftsubnet=(your_subnet)/(your_netmask) also=roadwarrior conn roadwarrior left=%defaultroute leftcert=host.example.com.pem right=%any rightsubnet=vhost:%no,%priv auto=add pfs=yes conn block auto=ignore conn private auto=ignore conn private-or-clear auto=ignore conn clear-or-private auto=ignore conn clear auto=ignore conn packetdefault auto=ignore ________________________ CÊu h×nh này sẽ thiết lập cho bất kỳ ai cã được chứng chỉ hợp lệ cã chữ ký của CA sẽ cã thể kết nối được đến m¸y chủ của chóng ta. Cã hai hồ sơ kết nối : một cho kết nối trực tiếp tới Gateway, và một cho kh¸ch hàng kết nối đến c¸c mạng lưới phÝa sau gateway. Cấu h×nh này cũng bao gồm cấu h×nh cho NAT Traversal sẽ cho phÐp bất kỳ ai ở một host đằng sau NAT gateway sử dụng c¸c địa chỉ riªng RFC1918 (được định nghĩa trong hàng ‘virtual_private’) để kết nối. Tất cả c¸c mục 'auto=ignore' sẽ được sử dụng để v« hiệu hãa Opportunistic Encryption (OE), v× nã cã thể g©y ra vấn đề nếu kh«ng được cấu h×nh đóng. Nếu kết nối từ windows tới m¸y chủ sử dụng L2TP trên IPSec, sẽ cần những kết nối sau đ©y, ở nơi nào đã trªn định nghĩa 'roadwarrior' : ______________ conn roadwarrior-l2tp pfs=no leftprotoport=17/0 rightprotoport=17/1701 also=roadwarrior conn roadwarrior-l2tp-updatedwin pfs=no leftprotoport=17/1701 rightprotoport=17/1701 also=roadwarrior _______________ Ngoài ra, nếu muốn tất cả lưu lượng truy cập của kh¸ch hàng đều th«ng qua giao thức IPSec, th× cần phải cã một kết nối cho phÐp điều đã. conn roadwarrior-all leftsubnet=0.0.0.0/0 also=roadwarrior c – Client Setup: OpenS/wan. Bước 1 : Thực hiện theo c¸c bước dưới “Tạo một chứng chỉ (Generating a Certificate)” để tạo ra một chứng chỉ mới cho m¸y tÝnh của kh¸ch hàng, sửa đổi tªn tập tin và khi cần thiết. (vÝ dụ tªn tập tin cho kh¸ch hàng này là ‘clienthost.example.com’). Bước 2 : Sao chÐp c¸c tập tin sau (trong một thời gian an toan) trên m¸y kh¸ch hàng: host.example.com.pem (gateway cấp chứng chỉ của tập tin) clienthost.example.com.key clienthost.example.com.pem cacert.pem crl.pem Bước 3 : Sao chÐp c¸c tệp tin vào đóng vị trÝ: $ cp clienthost.example.com.key /etc/ipsec.d/private $ cp clienthost.example.com.pem /etc/ipsec.d/certs $ cp host.example.com.pem /etc/ipsec.d/certs $ cp crl.pem /etc/ipsec.d/crls $ cp cacert.pem /etc/ipsec.d/cacerts/cacert.pem Bước 4 : Cấu h×nh IPSec : ________________ ipsec.secrets: : RSA clienthost.example.com.key "password" ipsec.conf: version 2 config setup interfaces=%defaultroute nat_traversal=yes conn %default keyingtries=1 compress=yes authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert conn roadwarrior-net leftsubnet=(your_subnet)/(your_netmask) also=roadwarrior conn roadwarrior left=(ip.of.host) leftcert=host.example.com.pem right=%defaultroute rightcert=clienthost.example.com.pem auto=add pfs=yes conn block auto=ignore conn private auto=ignore conn private-or-clear auto=ignore conn clear-or-private auto=ignore conn clear auto=ignore conn packetdefault auto=ignore ____________________ Bước 5 : Bắt đầu c¸c liªn kết VPN, và chắc chắn rằng mọi thứ hoạt động: # /etc/init.d/ipsec restart $ ipsec auto --up roadwarrior $ ipsec auto --up roadwarrior-net Bước 6 : Nếu muốn cã c¸c kết nối bắt đầu tự động, thay đổi ‘auto=add’ thành ‘auto=start’. d – Client Setup: Windows 2000/XP. Chú ý : Nếu như trước đã đ· cài đặt SSH Sentinel, và muốn sử dụng x©y dựng IPSec stack trong windows, cần phải bỏ cài đặt (hoặc vô hiệu hãa) SSH Sentinel, và kÝch hoạt dịch vụ ‘ipsec’. Điều này cũng ¸p dụng đối với kh¸ch hàng nào kh¸c cã thể đ· được cài đặt IPSec - *Cần* chắc chắn rằng đ· v« hiệu hãa trước khi sử dụng c¸c dịch vụ x©y dựng trong IPSec. Bước 1 : Tạo c¸c chứng chỉ, làm theo c¸c bước ‘Tạo một chứng chỉ (Generating a Certificate)’. Giả sử gọi chứng chỉ của Windows 2000 là 'winhost.example.com'. Cần phải làm theo c¸c hướng dẫn để tạo ra file .p12. Ngoài ra, tạo cho nã một ghi chó : $ openssl x509 -in demoCA/cacert.pem -noout –subject Điều này cần cho cấu h×nh VPN. Bước 2 : Sao chÐp c¸c tập tin này về m¸y tÝnh Windows trong secure fashion, vÝ dụ như 'scp' hoặc một đĩa mềm. Kh«ng sử dụng FTP. Bước 3 : Tải tiện Ých Marcus Miller của IPSec từ và giải nÐn nã vào trong một thư mục Windows (vÝ dụ C:\IPSec) Bước 4 : Tạo IPSEC + Certificates MMC. Vào Start/Run, gõ MMC Trong File (hoặc Console) - Add/Remove Snap-in Click vào ‘Add’ Click vào 'Certificates', rồi chọn ‘Add’ Chọn 'Computer Account' và nhấn ‘Next’ Chọn 'Local computer' và nhấn 'Finish' Click trªn 'IP Security Policy Management' và nhấn ‘Add’ Chọn 'Local computer' và nhấn 'Finish' Click ‘Close’ sau đã nhấn ‘OK’ Bước 5 : Thªm chứng chỉ. Click mũi tªn cộng của 'Certificates (Local Computer)' Click chuột phải vào 'Personal' và click 'All Tasks' sau đã chọn 'Import' Nhấn ‘Next’ Gâ đường dẫn đến file .p12 (hoặc nhấn ‘browse’ và chọn đường dẫn đến file) và nhấn ‘Next’ Gâ Password nhập vào, rồi nhấn ‘Next’ Click vào 'Automatically select the certificate store based on the type of certificate' và nhấn ‘Next’ Nhấn 'Finish', và chọn ‘Yes’ với bất kỳ một sự nhắc nhở nào được hiện lªn. Tho¸t khỏi MMC, và lưu lại nã như một tập tin, do đã kh«ng cần phải thªm vào Snap Ins một lần nữa. Bước 6 : Thiết lập tiện Ých IPSec Cài đặt ipsecpol.exe (Windows 2000) hoặc ipseccmd.exe (Windows XP) như được m« tả trong c¸c tài liệu hướng dẫn cho c¸c tiện Ých IPSec. Lưu ý rằng cho windows XP SP2, cần một phiªn bản mới của ipseccmd.exe. Hiệu chỉnh ipsec.conf (trªên cửa sổ m¸y tÝnh), thay thế cho "RightCA" với đầu ra của 'openssl x509 -in demoCA/cacert.pem -noout -subject'; Định khu«n lại như ở dưới (Cần phải thay đổi dấu / , và thay đổi tªn của một vài File). conn roadwarrior left=%any right=(ip_of_remote_system) rightca="C=US,S=State,L=City,O=ExampleCo,CN=CA,Email=host@ex ample.com" network=auto auto=start pfs=yes conn roadwarrior-net left=%any right=(ip_of_remote_system) rightsubnet=(your_subnet)/(your_netmask) rightca="C=US,S=State,L=City,O=ExampleCo,CN=CA,Email=host@example.com" network=auto auto=start pfs=yes Nếu muốn m· hãa tất cả dữ liệu đi qua đường hầm, cần phải làm : conn roadwarrior-all left=%any right=(ip_of_remote_system) rightsubnet=* rightca="C=US,S=State,L=City,O=ExampleCo,CN=CA,Email=host@example.com" network=auto auto=start pfs=yes Bước 7 : Bắt đầu liªn kết. Chạy lệnh 'ipsec.exe'. Dưới đ©y là một vÝ dụ đưa ra. C:\ipsec>ipsec IPSec Version 2.2.4 (c) 2001,2002 Marcus Mueller Getting running Config ... Microsoft's Windows XP identified Host name is: (local_hostname) No RAS connections found. LAN IP address: (local_ip_address) Setting up IPSec ... Deactivating old policy... Removing old policy... Connection roadwarrior: MyTunnel : (local_ip_address) MyNet : (local_ip_address)/255.255.255.255 PartnerTunnel: (ip_of_remote_system) PartnerNet : (ip_of_remote_system)/255.255.255.255 CA (ID) : C=US,S=State,L=City,O=ExampleCo,... PFS : y Auto : start Auth.Mode : MD5 Rekeying : 3600S/50000K Activating policy... Connection roadwarrior-net: MyTunnel : (local_ip_address) MyNet : (local_ip_address)/255.255.255.255 PartnerTunnel: (ip_of_remote_system) PartnerNet : (remote_subnet)/(remote_netmask) CA (ID) : C=US,S=State,L=City,O=ExampleCo,... PFS : y Auto : start Auth.Mode : MD5 Rekeying : 3600S/50000K Activating policy... C:\ipsec> B©y giê, ping tới Gateway của m¸y, nã sẽ hiện 'Negotiating IP Security' trong một vài lần, và sau đã cung cấp một ping hồi đ¸p. Lưu ý rằng cã thể mất một vài lần cố gắng kết nối. 3.2 - øng dông cña OpenS/wan ®Ó thiÕt lËp m¹ng an toµn. 3.2.1 – øng dông trong b¶o mËt m¹ng lan-to-lan H×nh 3.4 : M« h×nh m¹ng lan-to-lan. Site 1 Dïng một mạng riªng cã IP thuộc khoảng 192.168.132.0/24 Cã một thiết bị VPN/firewall làm default gateway với địa chỉ IP là 192.168.61.134 Site 2 Dïng một mạng riªng cã IP thuộc khoảng 192.168.17.0/24 Cã một thiết bị VPN/firewall làm default gateway với địa chỉ IP là 192.168.61.135 3.2.1.1 –Cµi ®Æt OpenS/wan a – Cµi ®Æt OpenS/wan tõ RPM Chương tr×nh OpenS/wan cã thể được cài đặt từ m· nguồn hay tập tin RPM mà ta cã thể tải về từ trang web Sau đ©y là c¸c bước cài đặt: [root@VPN1 tmp]# rpm -ivh OpenS/wan-2.6.21.rpm Lưu ý: nếu dùng ipsec stack cã sẵn của kernel thÓ bạn cần phải cã gãi ipsec-tools được cài đặt sẵn trªn m¸y. b- Cµi ®Æt OpenS/wan tõ m· nguån. [root@VPN1 tmp]# tar –xvzf OpenS/wan-2.6.21.tar.gz [root@VPN1 tmp]# cd OpenS/wan-2.6.21.tar.gz [root@VPN1 OpenS/wan-2.6.21]# Chỉ cài userland: [root@VPN1 OpenS/wan-2.6.21]# make programs install Cài userland và module ipsec.o: [root@VPN1 OpenS/wan-2.6.21]# make KERNELSRC=/usr/src/linux-2.6.9 programs module [root@VPN1 OpenS/wan-2.6.21]# make KERNELSRC=/usr/src/linux-2.6.9 install minstall Cài KLIPS (nếu chưa cã) : [root@VPN1 OpenS/wan-2.6.21]# make KERNELSRC=/lib/modules/linux2.6.9/build module install Kiểm tra OpenS/wan: [root@VPN1 OpenS/wan-2.6.21]# service ipsec restart [root@VPN1 OpenS/wan-2.6.21]# ipsec verify Kiểm tra card mạng ảo: [root@VPN1 OpenS/wan-2.6.21]# ifconfig –a c – Cµi ®Æt OpenS/wan b»ng lÖnh yum T×m c¸c gãi cµi ®Æt cña OpenS/wan [root@VPN1 ~]# yum search OpenS/wan Loaded plugins: refresh-packagekit ============Matched: OpenS/wan ============ OpenS/wan.i386 : OpenS/wan IPSEC implementation OpenS/wan-doc.i386 : OpenS/wan IPSEC full documentation tinyca2.noarch : Simple graphical userinterface to manage a small CA xl2tpd.i386 : Layer 2 Tunnelling Protocol Daemon (RFC 2661) Cµi ®Æt c¸c gãi cµi ®Æt cña OpenS/wan: [root@VPN1 ~]# yum install OpenS/wan Loaded plugins: refresh-packagekit Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package OpenS/wan.i386 0:2.6.19-1.fc10 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================== Package Arch Version Repository Size ================================================== Installing: OpenS/wan i386 2.6.19-1.fc10 updates 1.2 M Transaction Summary ================================================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.2 M Is this ok [y/N]: y Downloading Packages: OpenS/wan-2.6.19-1.fc10.i386.rpm | 1.2 MB 00:06 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 4ebfc273 updates/gpgkey | 2.3 kB 00:00 Importing GPG key 0x4EBFC273 "Fedora (10) " from /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-i386 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : OpenS/wan 1/1 Installed: OpenS/wan.i386 0:2.6.19-1.fc10 Complete! 3.2.1.2 – Ch¹y OpenS/wan. Chóng ta cã thể khởi chạy OpenS/wan ngay khi khởi động hệ thống bằng c©u lệnh chkconfig [root@VPN1 ~]# cd /tmp/  [root@VPN1 tmp]# chkconfig ipsec on Bạn cã thể tắt, mở, chạy lại OpenS/wan sau khi khởi động m¸y bằng c¸ch chạy c¸c script từ những c©u lệnh sau: [root@VPN1 tmp]# service ipsec start [root@VPN1 tmp]# service ipsec stop [root@VPN1 tmp]# service ipsec restart Lu«n nhớ chạy lại tiến tr×nh Ipsec mỗi khi cã sự thay đổi trong tập tin ipsec.conf để những thay đổi đã được ¸p dụng cho tiến tr×nh đang chạy. 3.2.1.3 – KiÓm tra tr¹ng th¸i cµi ®Æt OpenS/wan. Ngay sau khi cài đặt OpenS/wan bạn nªn chạy c©u lệnh ipsec verify để kiểm tra trạng th¸i hoạt động của chương tr×nh. [root@VPN1 ~]# ipsec verify Checking your system to see if IPsec got installed and started correctly Version check and ipsec on- ath                              [OK] Linux OpenS/wan 2.4.6 (klips) Checking for IPsec support in kernel                         [OK] Checking for RSA private key (/etc/ipsec.secrets)            [OK] Checking that pluto is running                           [OK] Two or more interfaces found, checking IP forwarding         [OK] Checking NAT and MASQUERADEing    [N/A] Checking for 'ip' command         [OK] Checking for 'iptables' command                           [OK] [root@VPN1 tmp]# 3.2.1.4 – Söa mét sè lçi tr¹ng th¸i phæ biÕn. Việc kiểm tra trạng th¸i có thể cung cấp một số lỗi, phổ biến nhất là IP forwarding và opportunistic encryption. IP forwarding Mỗi thiết bị VPN cần phải được bật chế độ routing và IP forwarding. Để bật c¸c chức năng này ta cần sửa nội dung tập tin /etc/sysctl.conf. # # File: /etc/sysctl.conf # #------------------------------------------------- # Enable routing (IP forwarding) #------------------------------------------------- net.ipv4.ip_forward = 1 Sau khi hoàn thành, dßng lệnh "sysctl -p" để kÝch hoạt chức năng vừa thiết lập. [root@VPN1 tmp]# sysctl -p ... ... net.ipv4.ip_forward = 1 [root@VPN1 tmp]# Opportunistic Encryption DNS Checks: Đ©y là một tÝnh năng của OpenS/wan cho phÐp gateway cã thể m· hãa dữ liệu truyền tải, ngay cả khi những quản trị viªn của hai mạng chưa liªn hệ trước với nhau và mỗi hệ thống hiện chưa cã th«ng tin về những hệ thống cßn lại trong VPN. Lý do cơ bản của việc này là làm cho mọi kết nối đến server đằng sau thiết bị VPN đều được tự động m· hãa bởi Ipsec giống với c¸ch mà mọi truy xuất HTTP được m· hãa để trở thành HTTPS. TÝnh năng này nªn được tắt một c¸ch mặc định trong tập tin cấu h×nh và th«ng b¸o lỗi về việc này có thể kh«ng cần quan t©m đến nữa. 3.2.1.5 – C¸c b­íc cÊu h×nh VPN (Sö dông khãa RSA) Một trong những c¸ch thiết lập đường hầm VPN an toàn là m· hãa dữ liệu sử dụng chứng chỉ dựa trªn c¸c khãa. Cã nhiều bước mà theo đã ta cã thể tạo c¸c chứng chỉ. Cßn rất nhiều tham số kh¸c của VPN nhưng OpenS/wan rất dễ bỏ qua khi thiết lập đường hầm. Nã sẽ tự động duyệt qua nhiều kết hợp kh¸c nhau của IPSec và IKE thiết lập với VPN ở xa cho đến khi t×m được sự trïng khớp. Bạn kh«ng cần phải cấu h×nh hầu hết c¸c th«ng số này một c¸ch tường minh giống như phải làm với c¸c thiết bị router và fỉiewall/VPN. Tập tin /etc/ipsec.conf Những th«ng số trong tập tin cấu h×nh /etc/ipsec.conf Tham số Mô tả Left Địa chỉ internet của thiết bị VPN bªn tr¸i Leftsubnet Mạng được bảo vệ bởi thiết bị VPN bªn tr¸i. Leftid Tªn DNS của thiết bị VPN bªn tr¸i, đứng ngay sau kÝ tự “@”. Nếu DNS chưa được thiết lập cho địa chỉ IP, bạn cã thể bỏ qua th«ng số này, nếu cho gi¸ trị kh«ng đóng sẽ làm cho qu¸ tr×nh khởi tạo VPN bị thất bại. Leftrsasigkey Khãa RSA c«ng khai của thiết bị VPN bªn tr¸i. Th«ng số này cã thể xem bằng c©u lệnh "ipsec showhostkey --left" . Leftnexthop Địa chỉ IP của router tiếp theo của thiết bị VPN bªn tr¸i khi nã muốn kết nối đến thiết bị VPN bªn phải. Ta nªn sử dụng gi¸ trị được tự động tạo ra là “%defaultroute”, nã sẽ hợp lệ trong hầu hết c¸c trường hợp, hoặc địa chỉ IP của router tiếp theo trong trường hợp nã kh«ng phải là router mặc định. Right Địa chỉ internet của thiết bị VPN bªn phải Rightsubnet Mạng được bảo vệ bởi thiết bị VPN bªn phải. Rightid Tªn DNS của thiết bị VPN bªn phải, đứng ngay sau kÝ tự “@”. Nếu DNS chưa được thiết lập cho địa chỉ IP, bạn cã thể bỏ qua th«ng số này, nếu cho giá trị kh«ng đóng sẽ làm cho qu¸ tr×nh khởi tạo VPN bị thất bại. Rightrsasigkey Khãa RSA c«ng khai của thiết bị VPN bªn phải. Th«ng số này cã thể xem bằng c©u lệnh "ipsec showhostkey --left" . Rightnexthop Địa chỉ IP của router tiếp theo của thiết bị VPN bªn phải khi nã muốn kết nối đến thiết bị VPN bªn tr¸i. Ta nªn sử dụng gi¸ trị được tự động tạo ra là “%defaultroute”, nã sẽ hợp lệ trong hầu hết c¸c trường hợp, hoặc địa chỉ IP của router tiếp theo trong trường hợp nã kh«ng phải là router mặc định. B¶ng 3.2 : C¸c th«ng sè trong file cÊu h×nh /etc/ipsec.conf Khi đã cã đầy đủ th«ng tin, bạn phải nhập vào tập tin cấu h×nh /etc/ipsec.conf. C¸c bước thực hiện như sau: Bước 1: Chọn khãa RSA Theo yªu cầu của tập tin cấu h×nh, ta cần lấy khãa c«ng khai của cả hai thiết bị VPN bªn tr¸i và bªn phải. Trong trường hợp chưa cã khãa, ta cần tạo khãa và đưa nã vào tập tin /etc/ipsec.conf. a. Tạo khãa RSA Khi cài đặt OpenS/wan, chương tr×nh sẽ tự động tạo khãa, nhưng nếu bạn muốn thay đổi khãa th× cã thể thực hiện bằng c¸c lệnh sau. [root@VPN1 tmp]# ipsec rsasigkey --verbose 2048 > privatekey.tmp [root@VPN1 tmp]# Bạn cã thể sửa tập tin /etc/ipsec.secrets bằng c¸ch thay thế nội dung của đoạn "RSA:   {" đến hết "}" bằng nội dung của tập tin keys.tmp được tạo ra ở trªn. Một c¸ch đơn giản hơn là xãa tập tin /etc/ipsec.secrets, sau đã thực hiện c©u lệnh sau: [root@VPN2 tmp]# ipsec newhostkey –-output /etc/ipsec.secrets [root@VPN2 tmp]# b.Lấy khãa c«ng khai bªn tr¸i Trªn thiết bị VPN bªn tr¸i ta thực hiện c©u lệnh sau để đưa nội dung khãa c«ng khai ra tập tin /tmp/left.pub. [root@VPN1 tmp]# ipsec showhostkey --left > /tmp/left.pub [root@vpn1 tmp]# c. LÊy khãa c«ng khai bªn ph¶i Trªn thiết bị VPN bªn phải ta thực hiện c©u lệnh sau để đưa nội dung khãa c«ng khai ra tập tin /tmp/right.pub. [root@VPN1 tmp]# ipsec showhostkey --right > /tmp/right.pub [root@VPN1 tmp]# Bước 2: Chỉnh sửa tập tin cấu h×nh /etc/ipsec.conf Mỗi kết nối VPN trong tập tin cấu h×nh cã th«ng tin riªng của nã. Ở đ©y ta tạo một kết nối cã tªn “lan-to-lan” và phải cung cấp tất cả c©c th«ng số cần thiết. # # File: /etc/ipsec.conf # conn lan-to-lan left=192.168.61.134 leftsubnet=192.168.132.0/24 leftnexthop=192.168.61.135 leftrsasigkey=0sAQOBUgWIaiE8SVWmH6wUwCYs0cVMPUUrhMKkqaLUkLeVlu9zJHA+wxU/H/dVOgDTWjMivSnCg/Prr964Tgp+LM1J1LNWdSvxlX2Q8yG9LfrAuq+bh2hVrqn+jG7Px1C7qm1wnOTGWjVt/y4z6vrt6i5+ZEJx7rgsijXmjLQW1RKFpeIF6ONzvNx3qeVeHdkjDCbrG5brDgtG2eJx30hGlLYfeBQK5MACmGB+4+evZVd4NfUQgstK2tdVER70xei2fWCts1+o402t6BlCGSJp3S09z58kdgMxEyarsJVuAHYEUlYXxfQNBRLVF/jJhpfIwscDRSM9CQve0YuSN9Qut2rMNG+P69trOB4FF0zhsqdX6naX right=192.168.61.135 rightsubnet=192.168.17.0/24 rightnexthop=192.168.61.134 rightrsasigkey=0sAQOKt2f8THh6Bb4wDCH0ZF+A/BJqNDZQtwbfmxy59g3K0iyGuJLo3krIRUsWLmnRHXcMeVLR3PxdSqdc0/4BKloZY+it5WFM9Kp9pZ9dUlMRvu1sFxgulybb7bH+Wa5dP8mf5Kwj9Z0v2AiIGUWnVngju9Nf+tFxbyw3c0i9FHyBwtCsudJjVJSN4GHiw1x2OM8nbD1KNjYvMntw6BjulB4NPhO1faMJ7UWf59c8AZ6nHb6X8sMYsLYc8HqDvc5+gmVD3ChoXhgaJEwkUzza4f+5tN+S8ZmSgxD50TaWj5EevhJmFD+DcRO7odm/QXSMtLwx0hoXJLiC5YO1UXByYilb/DXU+tvL0FP2N5eItE+Md4mh auto=add  Một số lưu ý quan trọng về tập tin /etc/ipsec.conf 1.  Cần phải thực hiện l¹i đầu dßng đóng như quy định dưới đ©y Đóng conn lan-to-lan     left=x.x.x.x     leftsubnet=y.y.y.y/24 Sai conn lan-to-lan left=x.x.x.x leftsubnet=y.y.y.y/24 2. Th«ng tin về kết nối "lan-to-lan" phải giống nhau trong tập tin /etc/ipsec.conf ở cả hai thiết bị VPN bªn tr¸i và bªn phải. 3.  Kh«ng được cã dßng trống giữa c¸c th«ng số của kết nối “lan-to-lan”. Dßng ghi chó chØ được bắt đầu bằng ký tự # được chấp nhận ở đ©y. Khởi động lại IPSec để chạy lại tập tin cấu h×nh kh«ng cần phải khởi động lại đường hầm. Nếu bạn thiết lập “auto=add”, đường hầm sẽ chỉ được khởi động một c¸ch thủ c«ng bằng c©u lệnh “ipsec auto --up lan-to-lan”. B­íc 3: Khëi ®éng l¹i OpenS/wan ViÖc này cÇn ph¶i thùc hiÖn ë c¶ hai ®Çu VPN ®Ó nh÷ng thiÕt lËp míi trong tËp tin cÊu h×nh /etc/ipsec.conf cã hiÖu lùc.  [root@VPN1 ~]# service ipsec restart ipsec_setup: Stopping OpenS/wan IPsec... ipsec_setup: stop ordered, but IPsec appears to be already stopped! ipsec_setup: doing cleanup anyway... ipsec_setup: Starting OpenS/wan IPsec U2.6.19/K2.6.27.21-170.2.56.fc10.i686... [root@VPN1 ~]# Bước 4: Khởi tạo một đường hầm mới Bạn cã thể sử dụng c©u lệnh ipsec để khởi động đường hầm "lan-to-lan" đã được tạo trong tập tin /etc/ipsec.conf H×nh 3.5 : Khëi t¹o mét ®­êng hÇm míi B­íc 5. Thay đổi c¸c rules của IP tables NAT/Masquerade Nếu bạn đang sử dụng iptables với chế độ NAT/masquerading trªn thiết bị VPN th× cần phải cã một số điều chỉnh trong c¸c rules của Iptaples.  Thiết bị VPN bªn tr¸i Cò iptables -t nat -A POSTROUTING -o eth0 -s 192.168.132.0/24 -j MASQUERADE Mới iptables -t nat -A POSTROUTING -o eth0 -s 192.168.132.0/24 -d \! 192.168.17.0/24 -j MASQUERADE Thiết bị VPN bªn phải Cò iptables -t nat -A POSTROUTING -o eth0 -s 192.168.17.0/24 -j MASQUERADE Míi iptables -t nat -A POSTROUTING -o eth0 -s 192.168.17.0/24 -d \! 192.168.132.0/24 -j MASQUERADE B­íc 6 : Gỡ lỗi OpenS/wan Việc gỡ lỗi lu«n là một vấn đề quan trọng khi thiết lập VPN v× cã nhiều thứ cã thể g©y ra lỗi. Sau đ©y là một số kiểm tra nhanh để bạn cã thể chắc chắn hệ thống hoạt động chÝnh x¸c và ổn định. a. Kiểm tra trạng th¸i của đường hầm C©u lệnh “ipsec auto --status” sẽ trả về trạng th¸i hoạt động của OpenS/wan trªn thiết bị VPN. Kết quả gồm những phần sau: IKE Section: Khai b¸o những thuật to¸n trao đổi khãa đ· m· hãa và những tham số của chóng. Phần này cần Ýt nhất một sự trùng khớp giữa thiết bị VPN hai bªn về thuật to¸n. Đồng thời phần này cũng cho biết một vài th«ng số của tiến tr×nh trao đổi khãa mức thứ nhất, là bước đầu tiªn xảy ra khi thiết lập một VPN. ESP Section: Khai b¸o những thuật to¸n m· hãa kh¸c nhau và những tham số của chóng. Phần này cũng cần Ýt nhất một sự trùng khớp giữa hai thiết bị VPN ở hai đầu. Đồng thời phần này chứa những th«ng tin về c¸c tham số dùng trong qu¸ tr×nh trao đổi khãa ở mức thứ hai, là bước thứ hai và cũng là bước cuối cïng trong thiết lập VPN. VPN Section: Phần này thường được bắt đầu bằng tªn của đường hầm VPN, trong trường hợp này là "lan-to-lan". Nếu kh«ng cã dßng nào ở đ©y th× chưa cã VPN nào được thiết lập. Nếu cã nhiều th«ng tin nhưng thiếu dßng " STATE_QUICK_R2 (IPsec SA established)" th× khi đã IPSec đ· được cấu h×nh nhưng đường hầm vẫn chưa được thiết lập. Điều này xảy ra là do đường hầm được kÝch hoạt khi SA được tạo ra nhưng sau đã lại bị đứt giữa chừng do một khoảng thời gian qu¸ hạn. C¸ch tốt nhất để khắc phục vấn để này là cho dữ liệu được truyền tải qua đường hầm khi nã được thiết lập. Đơn giản nhất là ta sử dụng lệnh ping để gởi những gãi ICMP nhằm kiểm tra trạng th¸i hoạt động của đường hầm. [root@VPN2 ~]# ipsec auto --status 000 using kernel interface: netkey 000 interface lo/lo ::1 000 interface lo/lo 127.0.0.1 000 interface lo/lo 127.0.0.1 000 interface eth0/eth0 192.168.61.135 000 interface eth0/eth0 192.168.61.135 000 interface eth1/eth1 192.168.17.128 000 interface eth1/eth1 192.168.17.128 000 %myid = (none) 000 debug none 000 000 virtual_private (%priv): 000 - allowed 3 subnets: 192.168.61.0/24, 192.168.17.0/24, 192.168.132.0/24 000 - disallowed 0 subnets: 000 WARNING: Either virtual_private= was not specified, or there was a syntax 000 error in that line. 'left/rightsubnet=%priv' will not work! 000 000 algorithm ESP encrypt: id=2, name=ESP_DES, ivlen=8, keysizemin=64, keysizemax=64 000 algorithm ESP encrypt: id=3, name=ESP_3DES, ivlen=8, keysizemin=192, keysizemax=192 000 algorithm ESP encrypt: id=7, name=ESP_BLOWFISH, ivlen=8, keysizemin=40, keysizemax=448 000 algorithm ESP encrypt: id=11, name=ESP_NULL, ivlen=0, keysizemin=0, keysizemax=0 000 algorithm ESP encrypt: id=12, name=ESP_AES, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=13, name=ESP_AES_CTR, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=14, name=ESP_AES_CCM_A, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=15, name=ESP_AES_CCM_B, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=16, name=ESP_AES_CCM_C, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=18, name=ESP_AES_GCM_A, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=19, name=ESP_AES_GCM_B, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=20, name=ESP_AES_GCM_C, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=22, name=ESP_CAMELLIA, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=252, name=ESP_SERPENT, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: id=253, name=ESP_TWOFISH, ivlen=8, keysizemin=128, keysizemax=256 000 algorithm ESP auth attr: id=1, name=AUTH_ALGORITHM_HMAC_MD5, keysizemin=128, keysizemax=128 000 algorithm ESP auth attr: id=2, name=AUTH_ALGORITHM_HMAC_SHA1, keysizemin=160, keysizemax=160 000 algorithm ESP auth attr: id=5, name=AUTH_ALGORITHM_HMAC_SHA2_256, keysizemin=256, keysizemax=256 000 algorithm ESP auth attr: id=8, name=AUTH_ALGORITHM_HMAC_RIPEMD, keysizemin=160, keysizemax=160 000 algorithm ESP auth attr: id=9, name=AUTH_ALGORITHM_AES_CBC, keysizemin=128, keysizemax=128 000 algorithm ESP auth attr: id=251, name=(null), keysizemin=0, keysizemax=0 000 000 algorithm IKE encrypt: id=0, name=(null), blocksize=16, keydeflen=131 000 algorithm IKE encrypt: id=3, name=OAKLEY_BLOWFISH_CBC, blocksize=8, keydeflen=128 000 algorithm IKE encrypt: id=5, name=OAKLEY_3DES_CBC, blocksize=8, keydeflen=192 000 algorithm IKE encrypt: id=7, name=OAKLEY_AES_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: id=65004, name=OAKLEY_SERPENT_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: id=65005, name=OAKLEY_TWOFISH_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: id=65289, name=OAKLEY_TWOFISH_CBC_SSH, blocksize=16, keydeflen=128 000 algorithm IKE hash: id=1, name=OAKLEY_MD5, hashsize=16 000 algorithm IKE hash: id=2, name=OAKLEY_SHA1, hashsize=20 000 algorithm IKE hash: id=4, name=OAKLEY_SHA2_256, hashsize=32 000 algorithm IKE hash: id=6, name=OAKLEY_SHA2_512, hashsize=64 000 algorithm IKE dh group: id=2, name=OAKLEY_GROUP_MODP1024, bits=1024 000 algorithm IKE dh group: id=5, name=OAKLEY_GROUP_MODP1536, bits=1536 000 algorithm IKE dh group: id=14, name=OAKLEY_GROUP_MODP2048, bits=2048 000 algorithm IKE dh group: id=15, name=OAKLEY_GROUP_MODP3072, bits=3072 000 algorithm IKE dh group: id=16, name=OAKLEY_GROUP_MODP4096, bits=4096 000 algorithm IKE dh group: id=17, name=OAKLEY_GROUP_MODP6144, bits=6144 000 algorithm IKE dh group: id=18, name=OAKLEY_GROUP_MODP8192, bits=8192 000 000 stats db_ops: {curr_cnt, total_cnt, maxsz} :context={0,0,0} trans={0,0,0} attrs={0,0,0} 000 000 "lan-to-lan": 192.168.17.0/24===192.168.61.135[+S=C]...192.168.61.134[+S=C]===192.168.132.0/24; erouted; eroute owner: #6 000 "lan-to-lan": myip=unset; hisip=unset; 000 "lan-to-lan": ike_life: 3600s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0 000 "lan-to-lan": policy: RSASIG+ENCRYPT+TUNNEL+PFS+UP+IKEv2ALLOW; prio: 24,24; interface: eth0; 000 "lan-to-lan": newest ISAKMP SA: #8; newest IPsec SA: #6; 000 "lan-to-lan": IKE algorithm newest: AES_CBC_128-SHA1-MODP2048 000 000 #7: "lan-to-lan":500 STATE_MAIN_I4 (ISAKMP SA established); EVENT_SA_REPLACE in 2321s; lastdpd=-1s(seq in:0 out:0); idle; import:admin initiate 000 #2: "lan-to-lan":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 24058s; isakmp#1; idle; import:admin initiate 000 #2: "lan-to-lan" esp.a4bb2c68@192.168.61.134 esp.35012a99@192.168.61.135 tun.0@192.168.61.134 tun.0@192.168.61.135 ref=0 refhim=4294901761 000 #8: "lan-to-lan":500 STATE_MAIN_R3 (sent MR3, ISAKMP SA established); EVENT_SA_REPLACE in 2813s; newest ISAKMP; lastdpd=-1s(seq in:0 out:0); idle; import:not set 000 #6: "lan-to-lan":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 24025s; newest IPSEC; eroute owner; isakmp#3; idle; import:admin initiate 000 #6: "lan-to-lan" esp.aae2decf@192.168.61.134 esp.e8c20633@192.168.61.135 tun.0@192.168.61.134 tun.0@192.168.61.135 ref=0 refhim=4294901761 000 #5: "lan-to-lan":500 STATE_QUICK_R2 (IPsec SA established); EVENT_SA_REPLACE in 24665s; isakmp#3; idle; import:not set 000 #5: "lan-to-lan" esp.ac766d85@192.168.61.134 esp.7c163dde@192.168.61.135 tun.0@192.168.61.134 tun.0@192.168.61.135 ref=0 refhim=4294901761 000 #4: "lan-to-lan":500 STATE_QUICK_R2 (IPsec SA established); EVENT_SA_REPLACE in 24665s; isakmp#3; idle; import:not set 000 #4: "lan-to-lan" esp.80a7c272@192.168.61.134 esp.22ae111f@192.168.61.135 tun.0@192.168.61.134 tun.0@192.168.61.135 ref=0 refhim=4294901761 000 [root@VPN2 ~]# b. Kiểm tra kết nối VPN Ta cã thể kiểm tra kết nối VPN bằng c¸ch gửi lệnh “ping” từ mạng riªng này sang mạng bªn kia. Trong m« h×nh ở trªn, ta cã thể gửi lệnh ping từ client 192.168.10.2 sang server 192.168.20.2 hoặc ngược lại Nếu đường hầm đã được kÝch hoạt nhưng lệnh ping kh«ng hoạt động th× bạn cần kiểm tra c¸c phần sau: Kiểm tra lại bảng route của c¸c m¸y ở cả hai đầu, nhất là t¹i hai thiết bị VPN.       Kiểm tra lại tường lửa và c¸c quy luật đ· thiết lập.   - Trªn client 1 : (cã IP lµ 192.168.132.130) H×nh 3.6 : KiÓm tra kÕt nèi trªn Client 1. - Trªn clinet 2 : (Cã IP lµ 192.168.17.130) H×nh 3.7 : KiÓm tra kÕt nèi trªn m¸y client 2. c. Dïng TCPdump Để kiểm tra xem c¸c đường hầm đ· th«ng hay chưa hay chỉ đơn giản muốn xem gãi tin đã được IPSec đãng gãi lại như thế nào, chóng ta cã thể dïng TCPdump, hoăc nếu muốn biết cụ thể hơn th× nªn cài một IDS (Snort hoàn toàn miễn phÝ và nhiều tÝnh năng). Đ©y là kết quả của lệnh ping khi c¸c gãi ICMP chưa được m· hãa: [root@VPN2 ~]# tcpdump -n -i eth1 icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 00:18:39.346897 IP 192.168.17.130 > 192.168.132.130: ICMP echo request, id 512, seq 19712, length 40 00:18:39.347535 IP 192.168.132.130 > 192.168.17.130: ICMP echo reply, id 512, seq 19712, length 40 00:18:39.391381 IP 192.168.132.130 > 192.168.17.130: ICMP echo request, id 512, seq 20992, length 40 00:18:39.391847 IP 192.168.17.130 > 192.168.132.130: ICMP echo reply, id 512, seq 20992, length 40 00:18:40.346644 IP 192.168.17.130 > 192.168.132.130: ICMP echo request, id 512, seq 19968, length 40 00:18:40.349427 IP 192.168.132.130 > 192.168.17.130: ICMP echo reply, id 512, seq 19968, length 40 00:18:40.392314 IP 192.168.132.130 > 192.168.17.130: ICMP echo request, id 512, seq 21248, length 40 00:18:40.392992 IP 192.168.17.130 > 192.168.132.130: ICMP echo reply, id 512, seq 21248, length 40 ^C 8 packets captured 8 packets received by filter 0 packets dropped by kernel [root@VPN2 ~]# Và đ©y là kết quả khi c¸c gãi ICMP được đãng gãi và gửi trong đường hầm giữa hai thiết bị VPN. Địa chỉ IP nguồn và đÝch thật sự đ· được ẩn đi, thay vào đã là hai địa chỉ IP Internet ở đầu ngoài của thiết bị VPN. [root@vpn2 tmp]# tcpdump -n -i eth1   02:08:23.637149 IP 192.168.61.134> 192.168.61.135: ESP(spi=0xf4909a7e,seq=0x73) 02:08:24.635302 IP 192.168.61.135> 192.168.61.134: ESP(spi=0x808e9a87,seq=0x74) 02:08:24.637988 IP 192.168.61.134> 192.168.61.135: ESP(spi=0xf4909a7e,seq=0x74) 02:08:25.638015 IP 192.168.61.135> 192.168.61.134: ESP(spi=0x808e9a87,seq=0x75) ^C [root@vpn2 tmp]# d. Kiểm tra th«ng b¸o lỗi Thường xuyªn kiểm tra tập tin /var/log/messages để nhận biết kịp thời c¸c th«ng b¸o lỗi và cã hướng khắc phục phï hợp. Th«ng điệp "Invalid Key" Nếu khãa c«ng khai bªn tr¸i và bªn phải được khai b¸o trong tập tin kh«ng phï hợp với khãa bÝ mật được được lưu trữ trong tập tin /etc/ipsec.secrets th× sẽ xuất hiện th«ng điệp b¸o khãa kh«ng khớp và mọi th«ng tin kh¸c sẽ bị bỏ qua. 003 "net-to-net" #1: ignoring informational payload, type INVALID_KEY_INFORMATION 003 "net-to-net" #1: received and ignored informational message 003 "lan-to-lan" #1: discarding duplicate packet; already STATE_MAIN_I3 031 "lan-to-lan" #1: max number of retransmissions (2) reached STATE_MAIN_I3.  Possible authentication failure: no acceptable response to our first encrypted message 3.2.2 – øng dông trong b¶o mËt m¹ng Road Warrior 3.2.2.1 - Road Warrior CÇn ph¶i biÕt : IP tÜnh cña gateway. D¶i IP cña c¸c subnet phÝa sau gateway. Tªn mµ mçi bªn cã thÓ x¸c ®Þnh chÝnh nã cho IPsec negotiations. Nã lµ mét tªn miÒn cã ®ñ tiªu chuÈn ®­îc ®i tr­íc bëi @. VÝ dô : @road.example.com. 3.2.2.2 – LÊy leftrsasigkey. Trªn m¸y tÝnh cña chóng ta, lÊy ra m· c«ng khai cña IPSec b»ng c©u lÖnh : ipsec showhostkey --left SÏ cho ta ra kÕt qu¶ sau : # RSA 2192 bits road.example.com Sun Jun 9 02:45:02 2002 leftrsasigkey=0sAQPIPN9uI... 3.2.2.3 – LÊy rightrsasigkey. Console trªn gateway : ssh2 xy.example.com Xem m· khãa c«ng khai cña gateway b»ng c©u lÖnh : ipsec showhostkey --right Nã sÏ cho ta kÕt qu¶ vÒ m· khãa c«ng khai cña gateway : # RSA 2048 bits xy.example.com Fri Apr 26 15:01:41 2002 rightrsasigkey=0sAQOnwiBPt... 3.2.2.4 – Tïy chØnh file /etc/ipsec.conf. Trªn m¸y tÝnh cña chóng ta, sao chÐp phÇn d­íi ®©y vµo file /etc/ipsec.conf. conn road left=%defaultroute # Picks up our dynamic IP leftnexthop=%defaultroute # leftid=@road.example.com # Local information leftrsasigkey=0sAQPIPN9uI... # right=192.0.2.10 # Remote information rightsubnet=10.0.0.0/24 # rightid=@xy.example.com # rightrsasigkey=0sAQOnwiBPt... # auto=add # authorizes but doesn't start this # connection at startup Khung mÉu cho c¸c gateway kh¸c, chó ý lµm sao cho ®¶o ng­îc tr¸i vµ ph¶i, gi÷ trong cïng mét quy ­íc lµ bªn tr¸i lµ local, bªn ph¶i lµ remote. Ch¾c ch¾n sù chuyÓn ®æi trong rsasigkeys gi÷ ®óng ®iÒu nµy. ssh2 xy.example.com vi /etc/ipsec.conf vµ thªm vµo phÇn sau : conn road left=192.0.2.2 # Gateway's information leftid=@xy.example.com # leftsubnet=192.0.2.128/29 # leftrsasigkey=0sAQOnwiBPt... # rightnexthop=%defaultroute # correct in many situations right=%any # Wildcard: we don't know the laptop's IP rightid=@road.example.com # rightrsasigkey=0sAQPIPN9uI... # auto=add # authorizes but doesn't start this # connection at startup 3.2.2.5 – B¾t ®Çu kÕt nèi. Chóng ta cÇn ph¶i b¾t ®Çu kÕt nèi tõ c¹nh Road Warrior. Trªn m¸y tr¹m, gâ c©u lÖnh : ipsec auto --start net-to-net Chóng ta cã thÓ nh×n thÊy : 104 "net-net" #223: STATE_MAIN_I1: initiate 106 "road" #301: STATE_MAIN_I2: sent MI2, expecting MR2 108 "road" #301: STATE_MAIN_I3: sent MI3, expecting MR3 004 "road" #301: STATE_MAIN_I4: ISAKMP SA established 112 "road" #302: STATE_QUICK_I1: initiate 004 "road" #302: STATE_QUICK_I2: sent QI2, IPsec SA established 3.2.2.6 – MASQ hoÆc NAT nh÷ng gãi packet trong ®­êng hÇm. NÕu chóng ta sö dông IP masquerade hoÆc Network Address Translation (NAT) trªn gateway vµo, ®iÒu ta cÇn b©y giê lµ miÔn nh÷ng gãi packet mµ b¹n muèn tõ ®­êng hÇm tõ nghiªn cøu. VÝ dô, nÕu chóng ta cã luËt sau : iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE Chóng ta cã thÓ thay ®æi mét thµnh : iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -d \! 192.0.2.128/29 -j MASQUERADE 3.2.2.7 – KiÓm tra kÕt nèi. Tõ m¸y tr¹m, ping tíi m¸y ®»ng sau cña gateway: ping ns.winston.example.com Dïng lÖnh tcpdump ®Ó b¾t c¸c gãi tin : tcpdump -i wlan0 Cµi ®Æt thµnh c«ng nÕu nhËn ®­îc th«ng tin nh­ ë d­íi : 19:16:32.046220 192.0.2.2 > 192.0.2.9: ESP(spi=0x3be6c4dc,seq=0x3) 19:16:32.085630 192.0.2.9 > 192.0.2.2: ESP(spi=0x5fdd1cf8,seq=0x6) KÕt LuËn Trong qu¸ tr×nh ph¸t triÓn cña nÒn c«ng nghÖ th«ng tin th× viÖc nghiªn cøu vµ ph¸t triÓn c¸c gãi phÇn mÒm gióp t¹o ra nh÷ng kªnh liªn l¹c riªng trªn nÒn hÖ ®iÒu hµnh Linux cÇn cã mét thêi gian dµi ®Ó ph¸t triÓn mµ ®¶m b¶o ®­îc nh÷ng tiªu chÝ cña ng­êi dïng ®­a ra lµ ph¶i ®¶m b¶o d÷ liÖu trao ®æi trªn m¹ng kh«ng bÞ rß rØ, mÊt m¸t. Trong thêi gian ba th¸ng víi nh÷ng ph¹m vi vµ yªu cÇu cña ®å ¸n, d­íi sù h­íng dÉn tËn t×nh cña TS. Lª §×nh ThÝch vµ Ths. NguyÔn Thanh S¬n, vµ sù gióp ®ì cña nhµ tr­êng ®· gióp em hoµn thµnh tèt ®å ¸n nµy. Em xin ch©n thµnh c¶m ¬n tíi thÇy gi¸o TS. Lª §×nh ThÝch vµ Ths. NguyÔn Thanh S¬n, c¸c thÇy c« trong tr­êng vµ c¸c b¹n ®· gióp em hoµn thµnh ®å ¸n nµy. KÕt qu¶ ®· ®¹t ®­îc: Trong thêi gian trªn, víi yªu cÇu ®Ò ra cña ®å ¸n em ®· hoµn thµnh ®­îc nh÷ng phÇn sau : VÒ phÇn lý thuyÕt em ®· hoµn thµnh ®­îc c¸c néi dung sau ®©y: HiÓu ®­îc vÒ giao thøc TCP/IP. N¾m v÷ng ®­îc c«ng nghÖ IPSec. HiÓu ®­îc tÇm quan träng cña IPSec trong thùc tÕ. T×m hiÓu ®­îc vÒ gãi phÇn mÒm OpenS/wan. HiÓu ®­îc chøc n¨ng, øng dông cña gãi phÇn mÒm OpenS/wan trong viÖc t¹o c¸c kªnh truyÒn riªng trªn Internet. VÒ phÇn thùc hµnh : Thùc hiÖn cµi ®Æt thµnh c«ng ®­îc gãi phÇn mÒm OpenS/wan trªn hÖ ®iÒu hµnh Linux (Trong ®å ¸n nµy em ®· cµi trªn hÖ ®iÒu hµnh Fedora 10) T¹o ®­îc kªnh liªn l¹c riªng gi÷a hai m¸y tr¹m thuéc hai subnet kh¸c nhau th«ng qua OpenS/wan. Tµi liÖu tham kh¶o Tµi liÖu tiÕng viÖt : TrÇn V¨n Thµnh, M« h×nh TCP/IP. NguyÔn Thóc H¶i, M¹ng vµ hÖ thèng më. Tµi liÖu tiÕng anh : Naganand Doraswamy, Dan Harkins IPSec: The New Security Standard for the Internet, Intranets, and Virtual Private Networks, Second Edition (Pub Date : March 13, 2003), Published by : Prentice Hall PTR, ISBN: 013046189X. Paul Wouters and Ken Bantoft Building and Integrating Virtual Private Networks with OpenS/wan (First published : February 2006), Published by Packt Publishing Ltd, ISBN 1904811256. James S. Tiller , A Technical Guide to IPSec Virtual Private Networks (Pub Date : December 11, 2000), Published by Auerbach Publications, ISBN : 9780849308765. Mét sè website : T×m hiÓu vÒ gãi phÇn mÒm OpenS/wan. T×m hiÓu vÒ gãi phÇn mÒm FreeS/wan

Các file đính kèm theo tài liệu này:

  • docNghiên cứu tìm hiểu công nghệ bảo mật gói ip (ipsec) và ứng dụng trong bảo mật thông tin trên mạng máy tính.doc