L2TP hỗ trợ 2 chế độ - chế độ đường hầm bắt buộc và chế độ đường hầm tự nguyện. Những đường hầm này giữ một vai trò quan trọng trong bảo mật giao dịch dữ liệu từ điểm cuối đến điểm khác.
Trong chế độ đường hầm bắt buộc, khung PPP từ PC ở xa được tạo đường hầm trong suốt tới mạng LAN. Điều này có nghĩa là Client ở xa không điều khiển đường hầm và nó sẽ xuất hiện như nó được kết nối chính xác tới mạng công ty thông qua một kết nối PPP. Phần mềm L2TP sẽ thêm L2TP header vào mỗi khung PPP cái mà được tạo đường hầm. Header này được sử dụng ở một điểm cuối khác của đường hầm, nơi mà gói tin L2TP có nhiều thành phần.
Hình 2. 10: Chế độ đường hầm bắt buộc L2TP
Các bước thiết lập L2TP đường hầm bắt buộc được thực hiện theo các bước sau:
(1) Người dùng từ xa yêu cầu một kết nối PPP từ NAS được đặt tại ISP site. (2) NAS xác nhận người dùng. Qui trình xác nhận này cũng giúp NAS biết được cách thức người dùng yêu cầu kết nối.
(3) Nếu NAS tự do chấp nhận yêu cầu kết nối, một kết nối PPP được thiết lập giữa ISP và người dùng từ xa.
36
(5) Nếu kết nối được chấp nhận bởi LNS, khung PPP trải qua quá trình tạo đường hầm L2TP. Những khung đường hầm L2TP này sau đó được chuyển đến LNS thông qua đường hầm L2TP.
(6) LNS chấp nhận những khung này và phục hồi lại khung PPP gốc.
(7) Cuối cùng, LNS xác nhận người dùng và nhận các gói dữ liệu. Nếu người dùng được xác nhận hợp lệ, một địa chỉ IP thích hợp được ánh xạ đến khung này
(8) Sau đó khung này được chuyển đến nút đích trong mạng intranet.
Internet NAS LAC ISP s Intranet Kết nối PPP Người sử dụng Điều khiển mạng LNS
1) Gửi yêu cầu
2) Xác nhận
3) Thiết lập kết nối 4) Bắt đầu tạo đường hầm L2TP 5) Thiết lập kết nối
6) Khung đường hầm L2TP
7) Xác nhận người dùng từ xa 8) Chuyển tới nút đích Hình 2. 11: Thiết lập một đường hầm bắt buộc
Chế độ đường hầm tự nguyện có Client ở xa khi gắn liên chức năng LAC và
nó có thể điều khiển đường hầm. Từ khi giao thức L2TP hoạt động theo một cách y hệt như khi sử dụng đường hầm bắt buộc, LNS sẽ không thấy sự khác biệt giữa hai chế độ.
37
Hình 2. 12: Chế độ đường hầm tự nguyện L2TP
Thuận lợi lớn nhất của đường hầm tự nguyện L2TP là cho phép người dùng từ xa kết nối vào internet và thiết lập nhiều phiên làm việc VPN đồng thời. Tuy nhiên, để ứng dụng hiệu quả này, người dùng từ xa phải được gán nhiều địa chỉ IP. Một trong những địa chỉ IP được dùng cho kết nối PPP đến ISP và một được dùng để hỗ trợ cho mỗi L2TP tunnel riêng biệt. Nhưng lợi ích này cũng là một bất lợi cho người dùng từ xa và do đó, mạng chủ có thể bị tổn hại bởi các cuộc tấn công.
Việc thiết lập một voluntary L2TP tunnel thì đơn giản hơn việc thiết lập một đường hầm bắt buộc bởi vì người dùng từ xa đảm nhiệm việc thiết lập lại kết nối PPP đến điểm ISP cuối. Các bước thiết lập đường hầm tự nguyện L2TP gồm:
(1) LAC (trong trường hợp này là người dùng từ xa) phát ra một yêu cầu cho một đường hầm tự nguyện L2TP đến LNS.
(2) Nếu yêu cầu đường hầm được LNS chấp nhận, LAC tạo hầm các khung PPP cho mỗi sự chỉ rõ L2TP và chuyển hướng những khung này thông qua đường hầm.
(3) LNS chấp nhận những khung đường hầm, lưu chuyển thông tin tạo hầm, và xử lý các khung.
(4) Cuối cùng, LNS xác nhận người dùng và nếu người dùng được xác nhận thành công, chuyển hướng các khung đến nút cuối trong mạng Intranet.
38 Internet ISP s Intranet Kết nối PPP Người sử dụng Điều khiển mạng LNS
1a) Gửi yêu cầu 1b) Gửi yêu cầu
Chấp nhận/ Từ chối 2) Các khung L2TP
3) Gỡ bỏ thông tin đường hầm
4a) Xác nhận người dùng
4b) Các khung chuyển tới nút đích Hình 2. 13: Thiết lập L2TP đường hầm tự nguyện 2.4.6 Những thuận lợi và bất lợi của L2TP
Sử dụng L2TP có các thuận lợi sau:
• L2TP là một giải pháp chung. Hay nói cách khác nó là một nền tảng độc lập. Nó cũng hỗ trợ nhiều công nghệ mạng khác nhau. Ngoài ra, nó còn hỗ trợ giao dịch qua kết nối WAN non-IP mà không cần một IP.
• Quá trình tạo đường hầm L2TP trong suốt đối với ISP giống như người dùng từ xa. Do đó, không đòi hỏi bất kỳ cấu hình nào ở phía người dùng hay ở ISP.
• L2TP cho phép một tổ chức điều khiển việc xác nhận người dùng thay vì ISP phải làm điều này.
• L2TP cung cấp chức năng điều khiển cấp thấp có thể giảm các gói dữ liệu xuống tùy ý nếu đường hầm quá tải. Điều này làm cho qua trình giao dịch bằng L2TP nhanh hơn so với quá trình giao dịch bằng L2F.
39
• L2TP cho phép người dùng từ xa chưa đăng ký (hoặc riêng tư) địa chỉ IP truy cập vào mạng từ xa thông qua một mạng công cộng.
• L2TP nâng cao tính bảo mật do sử dụng mã hóa tải trọng dựa trên IPSec trong suốt qua trình tạo hầm, và khả năng triển khai xác nhận IPSec trên từng gói dữ liệu.
Ngoài ra việc triển khai L2TP cũng gặp một số bất lợi sau:
• L2TP chậm hơn so với PPTP hay L2F bởi vì nó dùng IPSec để xác nhận mỗi gói dữ liệu nhận được.
• Mặc dù PPTP được lưu chuyển như một giải pháp VPN dựng sẵn, một máy chủ định tuyến và truy cập từ xa (RRAS) cần có những cấu hình mở rộng.
2.5 GRE (Generic Routing Encapsulation) 2.5.1 Giới thiệu GRE 2.5.1 Giới thiệu GRE
GRE Generic Routing Encapsulation là giao thức được phát triển đầu tiên bởi Cisco, với mục đích chính tạo ra kênh truyền ảo (tunnel) để mang các giao thức lớp 3 thông qua mạng IP.
Đây là giao thức truyền thông đóng gói IP và tất cả các gói dữ liệu bên trong đường hầm IP (IP tunnel).
Với GRE Tunnel, Cisco router sẽ đóng gói cho mỗi vị trí một giao thức đặc trưng chỉ định trong gói IP header, tạo một đường kết nối ảo (virtual point-to-point) tới Cisco router cần đến. Và khi gói dữ liệu đến đích IP header sẽ được mở ra.
Bằng việc kết nối nhiều mạng con với các giao thức khác nhau trong môi trường có một giao thức chính. GRE tunneling cho phép các giao thức khác có thể thuận lợi trong việc định tuyến cho gói IP.
Ngoài ra, khi bạn muốn chạy các giao thức định tuyến động như OSPF/EIGRP xtrên các kênh VPN thì ta cũng phải dùng GRE tunnels.
Một số đặc điểm chung của GRE tunnel:
• GRE tunnel giống IPsec Tunnel vì gói tin gốc được bọc bên ngoài 1 lớp "vỏ"
40
• GRE thêm ít nhất và header 24byte, trong đó IP header mới 20 byte.
• GRE hỗ trợ đa giao thức nên hỗ trợ bất kỳ giao thức lớp 3 nào chạy qua đường hầm(IP, IPX, Apple Talk...)
• GRE cần thiết cho IP Multicast/ broadcast
Nhược điểm:
• Không có cơ chế mã hóa
• Không có cơ chế hash
• Không có cơ chế xác thực nguồn gốc peer.
2.5.2 Cơ chế hoạt động của GRE
Để tạo ra các kênh truyền, GRE cũng thực hiện việc đóng gói gói tin tương tự như giao thức IPSec hoạt động ở Tunnel mode. Trong quá trình đóng gói, GRE sẽ thêm các header mới vào gói tin, và header mới này cung cấp các thông số cần thiết dùng để truyền các gói tin thông qua môi trường trung gian.
GRE chèn ít nhất 24 byte vào đầu gói tin, trong đó 20 byte là IP header mới dùng để định tuyến, còn 4 byte là GRE header. Ngoài ra GRE còn có thể tùy chọn thêm 12 byte mở rộng để cung cấp tính năng tin cậy như: checksum, key chứng thực, sequence number.
Hình 2. 14: Cấu trúc gói tin được đóng thêm GRE header
Hai byte đầu tiên trong phần GRE header là GRE flag 2-byte. Phần bày chứa các cờ dùng để chỉ định những tính năng tùy chọn của GRE
Bit 0 (checksum): Nếu bit này được bật lên (giá trị bằng 1) thỉ phần checksum được thêm vào sau trường Protocol type của GRE header.
Bit 2 (key): Nếu bit này được bật lên thì phần Key tính năng chứng thực sẽ được áp dụng, đây như dạng password ở dạng clear text. Khi một thiết bị tạo nhiều tunnel đến nhiều thiết bị đích thì key này được dùng để xác định các thiết bị đích.
41
Bit 3 (Sequence number): Khi bit này được bật thì phần sequence number được thêm vào GRE header.
Hai byte tiếp theo là phần Protocol Type chỉ ra giao thức lớp 3 của gói tin ban đầu được GRE đóng gói và truyền qua kênh truyền.
Khi gói tin đi qua tunnel nó sẽ được thêm GRE header như trên và sau khi tới đầu bên kia của kênh truyền, gói tin sẽ được loại bỏ GRE header để trả lại gói tin ban đầu.
2.5.3 GRE over IPSec
GRE là giao thức không bảo mật, việc kết hợp với IPSec sẽ giúp tăng cường tính năng bảo mật cho kênh truyền.
Khi IPSec kết hợp với GRE sẽ cung cấp khả năng định tuyến động trên kênh truyền, do đó tạo ra khả năng mở rộng hệ thống mạng rất lớn.
Cơ chế hoạt động của GRE over IPSec
GRE over IPSec là sự kết hợp giữa GRE và IPSec. Lúc này các gói tin GRE sẽ được truyền thông qua kênh truyền bảo mật do IPSec thiết lập. Điều này được thực hiện thông qua việc IPSec sẽ đóng gói gói tin GRE bởi các thông tin bảo mật của mình.
GRE over IPSec cũng có hai mode hoạt động; Tunnel mode và Transport mode:
Hình 2. 15: Tunnel mode và Transport mode của GRE
Như hình trên phần IP packet ban đầu sẽ được bao bọc bởi GRE header, sau đó IPSec sẽ thêm thông tin IPSec header để cung cấp những tính năng bảo mật cho
42
gói tin GRE rồi truyền đi. Khi gói tin đến đầu bên kia của kênh truyền, nó sẽ được thao tác ngược lại để phục hồi gói tin ban đầu.
2.6 Giao thức bảo mật IP (IP Security Protocol) 2.6.1 Khái niệm, tổng quan về IPSec 2.6.1 Khái niệm, tổng quan về IPSec
IPSec (Internet Protocol Security) là một giao thức được IETF phát triển. IPSec được định nghĩa là một giao thức trong tầng mạng cung cấp các dịch vụ bảo mật, nhận thực, toàn vẹn dữ liệu và điều khiển truy cập. Nó là một tập hợp các tiêu chuẩn mở làm việc cùng nhau giữa các phần thiết bị.
Một cách chung nhất, IPSec cho phép một đường hầm bảo mật thiết lập giữa 2 mạng riêng và nhận thực hai đầu của đường hầm này. Các thiết bị giữa hai đầu đường hầm có thể là một cặp host, hoặc một cặp cổng bảo mật (có thể là router, firewall, bộ tập trung VPN) hoặc một cặp thiết bị gồm một host và một cổng bảo mật. Đường hầm đóng vai trò là một kênh truyền bảo mật giữa hai đầu và các gói dữ liệu yêu cầu an toàn được truyền trên đó. IPSec cũng thực hiện đóng gói dữ liệu các thông tin để thiết lập, duy trì và hủy bỏ kênh truyền khi không dùng đến nữa. Các gói tin truyền trong đường hầm có khuôn dạng giống như các gói tin bình thường khác và không làm thay đổi các thiết bị, kiến trúc cũng như những ứng dụng hiện có trên mạng trung gian, qua đó cho phép giảm đáng kể chi phí để triển khai và quản lý.
IPSec có hai cơ chế cơ bản để đảm bảo an toàn dữ liệu đó là AH (Authentication Header) và ESP (Encapsulating Security Payload), trong đó IPSec phải hỗ trợ ESP và có thể hỗ trợ AH:
• AH cho phép xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu và dịch vụ tùy chọn chống phát lại của các gói IP truyền giữa hai hệ thống. AH không cung cấp tính bảo mật, điều này có nghĩa là nó gửi đi thông tin dưới dạng bản rõ.
• ESP là một giao thức cung cấp tính an toàn của các gói tin được truyền bao gồm: Mật mã dữ liệu, xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn phi kết nối của dữ liệu. ESP đảm bảo tính bí mật của thông tin thông qua việc mật mã gói tin IP. Tất cả lưu lương ESP đều được mật mã giữa hai hệ thống. Với
43
đặc điểm này thì xu hướng sẽ sử dụng ESP nhiều hơn AH để tăng tính an toàn cho dữ liệu.
• Cả AH và ESP là các phương tiện cho điều khiển truy nhập, dựa vào sự phân phối của các khóa mật mã và quản lý các luồng giao thông có liên quan đến những giao thức an toàn này.
Những giao thức này có thể được áp dụng một mình hay kết hợp với nhau để cung cấp tập các giao thức an toàn mong muốn trong IPv4 và IPv6, nhưng cách chúng cung cấp các dịch vụ là khác nhau. Đối với cả hai giao thức AH và ESP này, IPSec không định các thuật toán an toàn cụ thể được sử dụng, mà thay vào đó là một khung chuẩn để sử dụng các thuật toán theo tiêu chuẩn công nghiệp. IPSec sử dụng các thuật toán: Mã nhận thực bản tin trên cơ sở băm (HMAC), thuật toán MD5 (Message Digest 5), thuật toán SHA-1 để thực hiện chức năng toàn vẹn bản tin; Thuật toán DES, 3DES để mật mã dữ liệu; Thuật toán khóa chia sẻ trước, RSA chữ ký số và RSA mật mã giá trị ngẫu nhiên (Nonces) để nhận thực các bên. Ngoài ra các chuẩn còn định nghĩa việc sử dụng các thuật toán khác như IDEA, Blowfish và RC4.
IPSec có thể sử dụng giao thức IKE (Internet Key Exchange) để xác thực hai phía và làm giao thức thương lượng các chính sách bảo mật và nhận thực thông qua việc xác định thuật toán được dùng để thiết lập kênh truyền, trao đổi khóa cho mỗi phiên kết nối, dùng trong mỗi phiên truy cập. Mạng dùng IPSec để bảo mật các dòng dữ liệu có thể tự động kiểm tra tính xác thực của thiết bị bằng giấy chứng nhận số của hai người dùng trao đổi thông tin qua lại. Việc thương lượng này cuối cùng dẫn đến thiết lập kết hợp an ninh (SAs) giữa các cặp bảo mật, kết hợp an ninh này có tính chất hai chiều trực tiếp. Thông tin kết hợp an ninh được lưu trong cơ sử dữ liệu liên kế an ninh, và mỗi SA được ấn định một số tham số an ninh trong bảng mục lục sao cho khi kết hợp một địa chỉ đích với giao thức an ninh (ESP hoặc AH) thì có duy nhất một SA.
IPSec hỗ trợ hai chế độ mã hóa: transport và tunnel
Chế độ transport chỉ mã hóa phần payload của mỗi gói tin, nhưng bỏ đi phần header không sờ đến. Ở bên nhận, thiết bị IPSec_compliant sẽ giải mã từng gói tin.
44
Internet
Sử dụng chế độ Transport giữa 2 Host
IP Header TCP Header Data IP Header gốc TCP Header gốc Data IPSec Header
IP header bên ngoài Mã hóa
Transport mode
Hình 2. 16: Chế độ Transport
Chế độ transport bảo vệ phần tải tin của gói dữ liệu, các giao thức ở lớp cao hơn, nhưng vận chuyển địa chỉ IP nguồn ở dạng “clear”. Địa chỉ IP nguồn được sử dụng để định tuyến các gói dữ liệu qua mạng Internet. Mode transport ESP được sử dụng giữa hai máy, khi địa chỉ đích cuối cùng là địa chỉ máy của chính bản thân nó. Mode transport cung cấp tính bảo mật chỉ cho các giao thức lớp cao hơn.
Nhược điểm của chế độ này là nó cho phép các thiết bị trong mạng nhìn thấy địa chỉ nguồn và đích của gói tin và có thể thực hiện một số xử lý (như phân tích lưu lượng) dựa trên các thông tin của tiêu đề IP. Tuy nhiên, nếu dữ liệu được mã hóa bởi ESP thì sẽ không biết được thông tin cụ thể bên trong gói tin IP là gì. Theo IETF thì chế độ truyền tải chỉ có thể được sử dụng khi hai hệ thống đầu cuối IP-VPN có thực hiện IPSec.
Chế độ tunnel mã hóa cả phần header và payload để cung cấp sự thay đổi bảo mật nhiều hơn của gói tin. Ở bên nhận, thiết bị IPSec_compliant sẽ giải mã từng gói tin. Một trong nhiều giao thức phổ biến được sử dụng để xây dựng VPN là chế độ