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
88 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3028 | Lượt tải: 1
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
Lu 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
Lu 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:
- 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.doc