Định nghĩa VPN

Một phần của tài liệu An toàn mạng máy tính và giải pháp xác thực người dùng (Trang 32)

VPN đƣợc hiểu đơn giản nhƣ là sự mở rộng của một mạng riêng ( Private Network) thông qua các mạng công cộng . Về căn bản, mỗi VPN là một mạng riêng rẽ sử dụng một mạng chung (thƣờng là Internet) để kết nối cùng với các site (các mạng riêng lẻ) hay nhiều ngƣời sử dụng từ xa[3] . Thay cho việc sử dụng kết nối thực, chuyên dùng nhƣ đƣờng leased-line, mỗi VPN sử dụng các kết nối ảo đƣợc dẫn đƣờng qua Internet từ mạng riêng của các công ty tới các site hay các nhân viên từ xa.

Để có thể gửi và nhận dữ liệu thông qua mạng công cộng mà vẫn bảo đảm tính an toàn và bảo mật VPN cung cấp các cơ chế mã hoá dữ liệu trên đƣờng truyền tạo ra một đƣờng ống bảo mật giữa nơi nhận và nơi gửi (Tunnel) giống nhƣ một kết nối point-to-point trên mạng riêng. Để có thể tạo ra một đƣờng ống bảo mật đó, dữ liệu phải đƣợc mã hoá hay cơ chế giấu đi, chỉ cung cấp phần đầu gói dữ liệu (header) là thông tin về đƣờng đi cho phép nó có thể đi đến đích thông qua mạng công cộng một cách nhanh chóng.

Dữ liệu đƣợc mã hoá một cách cẩn thận do đó nếu các packet bị bắt lại trên đƣờng truyền công cộng cũng không thể đọc đƣợc nội dùng vì không có khoá để giải mã. Liên kết với dữ liệu đƣợc mã hoá và đóng gói đƣợc gọi là kết nối VPN. Các đƣờng kết nối VPN thƣờng đƣợc gọi là đƣờng ống VPN (Tunnel)

33 2.2.Lợi ích của VPN

VPN cung cấp nhiều đặc tính hơn so với những mạng truyền thống và những mạng leased-line. Những lợi ích đầu tiên bao gồm:

• Chi phí thấp hơn những mạng riêng: VPN có thể giảm chi phí khi truyền tới 20-40% so với những mạng thuộc mạng leased-line và giảm việc chi phí truy cập từ xa từ 60-80%.

• Tính linh hoạt cho khả năng kinh tế trên Internet: VPN vốn đã có tính linh hoạt và có thể leo thang những kiến trúc mạng hơn là những mạng cổ điển, bằng cách đó nó có thể hoạt động kinh doanh nhanh chóng và chi phí một cách hiệu quả cho việc kết nối mở rộng. Theo cách này VPN có thể dễ dàng kết nối hoặc ngắt kết nối từ xa của những văn phòng, những vị trí ngoài quốc tế,những ngƣời truyền thông, những ngƣời dùng điện thoại di động, những ngƣời hoạt động kinh doanh bên ngoài nhƣ những yêu cầu kinh doanh đã đòi hỏi.

• Đơn giản hóa những gánh nặng.

• Những cấu trúc mạng ống, vì thế giảm việc quản lý những gánh nặng: Sử dụng một giao thức Internet backbone loại trừ những PVC tĩnh hợp với kết nối hƣớng những giao thức nhƣ là Frame Rely và ATM.

• Tăng tính bảo mật: các dữ liệu quan trọng sẽ đƣợc che giấu đối với những ngƣời không có quyền truy cập và cho phép truy cập đối với những ngƣời dùng có quyền truy cập.

• Hỗ trợ các giao thức mạng thông dụng nhất hiện nay nhƣ TCP/IP

• Bảo mật địa chỉ IP: bởi vì thông tin đƣợc gửi đi trên VPN đã đƣợc mã hóa do đó các địa chỉ bên trong mạng riêng đƣợc che giấu và chỉ sử dụng các địa chỉ bên ngoài Internet.

2.3.Các thành phần cần thiết để tạo kết nối VPN

User Authentication: cung cấp cơ chế chứng thực ngƣời dùng, chỉ cho phép ngƣời dùng hợp lệ kết nối và truy cập hệ thống VPN.

Address Management: cung cấp địa chỉ IP hợp lệ cho ngƣời dùng sau khi gia nhập hệ thống VPN để có thể truy cập tài nguyên trên mạng nội bộ.

Data Encryption: cung cấp giải pháp mã hoá dữ liệu trong quá trình truyền nhằm bảo đảm tính riêng tƣ và toàn vẹn dữ liệu.

Key Management: cung cấp giải pháp quản lý các khoá dùng cho quá trình mã hoá và giải mã dữ liệu.

2.4.Các giao thức VPN

Các giao thức để tạo nên cơ chế đƣờng ống bảo mật cho VPN là L2TP, Cisco GRE và IPSec.

34 2.4.1. L2TP

Trƣớc khi xuất hiện chuẩn L2TP (tháng 8 năm 1999), Cisco sử dụng Layer 2 Forwarding (L2F) nhƣ là giao thức chuẩn để tạo kết nối VPN. L2TP ra đời sau với những tính năng đƣợc tích hợp từ L2F.

L2TP là dạng kết hợp của Cisco L2F và Mircosoft Point-to-Point Tunneling Protocol (PPTP). Microsoft hỗ trợ chuẩn PPTP và L2TP trong các phiên bản WindowNT và 2000

L2TP đƣợc sử dụng để tạo kết nối độc lập, đa giao thức cho mạng riêng ảo quay số (Virtual Private Dail-up Network). L2TP cho phép ngƣời dùng có thể kết nối thông qua các chính sách bảo mật của công ty (security policies) để tạo VPN hay VPDN nhƣ là sự mở rộng của mạng nội bộ công ty.

L2TP không cung cấp mã hóa.

Hình 2-2 Mô hình L2TP

L2TP là sự kết hợp của PPP(giao thức Point-to-Point) với giao thức L2F(Layer 2 Forwarding) của Cisco do đó rất hiệu quả trong kết nối mạng dial, ADSL, và các mạng truy cập từ xa khác. Giao thức mở rộng này sử dụng PPP để cho phép truy cập VPN bởi những ngƣờI sử dụng từ xa.

2.4.2. GRE

Đây là đa giao thức truyền thông đóng gói IP, CLNP và tất cả cá gói dữ liệu bên trong đƣờng ống 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.

35

Hình 2-3 Mô hình IPSEC

IPSec là sự lựa chọn cho việc bảo mật trên VPN. IPSec là một khung bao gồm bảo mật dữ liệu (data confidentiality), tính toàn vẹn của dữ liệu (integrity) và việc chứng thực dữ liệu.

IPSec cung cấp dịch vụ bảo mật sử dụng KDE cho phép thỏa thuận các giao thức và thuật toán trên nền chính sách cục bộ (group policy) và sinh ra các khóa bảo mã hóa và chứng thực đƣợc sử dụng trong IPSec.

2.4.4. Point to Point Tunneling Protocol (PPTP)

Đƣợc sử dụng trên các máy client chạy HĐH Microsoft for NT4.0 và

Windows 95+ . Giao thức này đƣợc sử dụng để mã hóa dữ liệu lƣu thông trên Mạng LAN. Giống nhƣ giao thức NETBEUI và IPX trong một pác két gửi lên Internet. PPTP dựa trên chuẩn RSA RC4 và hỗ trợ bởi sự mã hóa 40-bit hoặc 128-bit.

Hình 2-4 Mô hình PPTP

Nó không đƣợc phát triển trên dạng kết nối LAN-to-LAN và giới hạn 255 kết nối tới 1 server chỉ có một đƣờng hầm VPN trên một kết nối. Nó không cung

36

cấp sự mã hóa cho các công việc lớn nhƣng nó dễ cài đặt và triển khai và là một giải pháp truy cập từ xa chỉ có thể làm đƣợc trên mạng MS. Giao thức này thì đƣợc dùng tốt trong Window 2000. Layer 2 Tunneling Protocol thuộc về IPSec.

37

Chƣơng 3 - TỔNG QUAN VỀ AAA VÀ CẤU HÌNH AAA TRÊN

CISCO ASA FIREWALL

3.1. Định nghĩa AAA

Hình 3-1 Mô hình AAA chung

AAA cho phép nhà quản trị mạng biết đƣợc các thông tin quan trọng về tình hình cũng nhƣ mức độ an toàn trong mạng. Nó cung cấp việc xác thực

(authentication) ngƣời dùng nhằm bảo đảm có thể nhận dạng đúng ngƣời dùng. Một khi đã nhận dạng ngƣời dùng, ta có thể giới hạn uỷ quyền (authorization) mà ngƣời dùng có thể làm. Khi ngƣời dùng sử dụng mạng, ta cũng có thể giám sát tất cả những gì mà họ làm. AAA với ba phần xác thực (authentication), uỷ quyền (authorization) và kiểm toán (accounting) là các phần riêng biệt mà ta có thể sử dụng trong dịch vụ mạng, cần thiết để mở rộng và bảo mật mạng.

AAA có thể dùng để tập hợp thông tin từ nhiều thiết bị trên mạng. Ta có thể kích hoạt các dịch vụ AAA trên router, switch, firewall, các thiết bị VPN, server…

Các dịch vụ AAA bao gồm ba phần, xác thực (authentication), Uỷ quyền (Authorization) và kiểm toán (accounting). Ta sẽ tìm hiểu sự khác nhau của ba phần này và cách thức chúng làm việc nhƣ thể nào.

38 3.1.1. Xác thực (Authentication)

Xác thực dùng để nhận dạng (identify) ngƣời dùng. Trong suốt quá trình xác thực, username và password của ngƣời dùng đƣợc kiểm tra và đối chiếu với cơ sở dữ liệu lƣu trong AAA Server. Tất nhiên, tuỳ thuộc vào giao thức mà AAA hỗ trợ mã hoá đến đâu, ít nhất thì cũng mã hoá username và password.

Xác thực sẽ xác định ngƣời dùng là ai. Ví dụ: Ngƣời dùng có username là LINH và mật khẩu là L!nh@nq sẽ là hợp lệ và đƣợc xác thực thành công với hệ thống. Sau khi xác thực thành công thì ngƣời dùng đó có thể truy cập đƣợc vào mạng. Tiến trình này chỉ là một trong các thành phần để điều khiển ngƣời dùng với AAA. Một khi username và password đƣợc chấp nhận, AAA có thể dùng để định nghĩa thẩm quyền mà ngƣời dùng đƣợc phép làm trong hệ thống.

3.1.2. Uỷ quyền (Authorization)

Uỷ quyền cho phép nhà quản trị điều khiển việc cấp quyền trong một khoảng thời gian, hay trên từng thiết bị, từng nhóm, từng ngƣời dùng cụ thể hay trên từng giao thức. AAA cho phép nhà quản trị tạo ra các thuộc tính mô tả các chức năng của ngƣời dùng đƣợc phép thao tác vào tài nguyên. Do đó, ngƣời dùng phải đƣợc xác thực trƣớc khi uỷ quyền cho ngƣời đó.

Uỷ quyền trong AAA làm việc giống nhƣ một tập các thuộc tính mô tả những gì mà ngƣời dùng đã đƣợc xác thực có thể có.

Ví dụ: Ngƣời dùng LINH sau khi đã xác thực thành công có thể chỉ đƣợc

phép truy cập vào server LINHNQ_SERVER thông qua FTP. Những thuộc tính này đƣợc so sánh với thông tin chứa trong cơ sở dữ liệu của ngƣời dùng đó và kết quả đƣợc trả về AAA để xác định khả năng cũng nhƣ giới hạn thực tế của ngƣời đó. Điều này yêu cầu cơ sở dữ liệu phải giao tiếp liên tục với AAA server trong suốt quá trình kết nối đến thiết bị truy cập từ xa (RAS).

Uỷ quyền liên quan đến việc sử dụng một bộ quy tắc hoặc các mẫu để quyết định những gì một ngƣời sử dụng đã chứng thực có thể làm trên hệ thống.

Máy chủ AAA sẽ phân tích yêu cầu và cấp quyền truy cập bất cứ yêu cầu nào có thể, có hoặc không phải là toàn bộ yêu cầu là hợp lệ. Ví dụ: Một máy khách quay số kết nối và yêu cầu nhiều liên kết. Một máy chủ AAA chung chỉ đơn giản là sẽ từ chối toàn bộ yêu cầu, nhƣng một sự thực thi thông minh hơn sẽ xem xét yêu cầu, xác định rằng máy khách chỉ đƣợc phép một kết nối dial-up, và cấp một kênh trong khi từ chối các yêu cầu khác.

39 3.1.3. Kiểm toán (Accounting)

Kiểm toán cho phép nhà quản trị có thể thu thập thông tin nhƣ thời gian bắt đầu, thời gian kết thúc ngƣời dùng truy cập vào hệ thống, các câu lệnh đã thực thi, thống kê lƣu lƣợng, việc sử dụng tài nguyên và sau đó lƣu trữ thông tin trong hệ thống cơ sở dữ liệu quan hệ. Nói cách khác, kiểm toán cho phép giám sát dịch vụ và tài nguyên đƣợc ngƣời dùng sử dụng. Ví dụ: thống kê cho thấy ngƣời dùng có tên truy cập là LINH đã truy cập vào LINHNQ_SERVER bằng giao thức FTP với số lần là 5 lần. Điểm chính trong kiểm toán đó là cho phép ngƣời quản trị giám sát tích cực và tiên đoán đƣợc dịch vụ và việc sử dụng tài nguyên. Thông tin này có thể đƣợc dùng để tính cƣớc khách hàng, quản lý mạng, kiểm toán sổ sách.

3.2. Giao thức sử dụng trong dịch vụ AAA

3.2.1.1. Giới thiệu

Hình 3-2 Các giao thức cho dịch vụ AAA

Có hai giao thức bảo mật dùng trong dịch vụ AAA đó là TACACS (Terminal Access Controller Access Control System) và RADIUS (Remote Authentication Dial-In User Service). Cả hai giao thức đều có phiên bản và thuộc tính riêng. Chẳng hạn nhƣ phiên bản riêng của TACACS là TACACS+, tƣơng thích hoàn toàn với TACACS. RADIUS cũng có sự mở rộng khi cho phép khách hàng thêm thông tin xác định đƣợc mang bởi RADIUS. TACACS và RADIUS đƣợc dùng từ một thiết bị nhƣ là server truy cập mạng (NAS) đến AAA server.

40

Xem xét một cuộc gọi từ xa nhƣ hình 3.2. Ngƣời dùng gọi từ PC đến NAS. NAS sẽ hỏi thông tin để xác thực ngƣời dùng. Từ PC đến NAS, giao thức sử dụng là PPP, và một giao thức nhƣ là CHAP hay PAP đƣợc dùng để truyền thông tin xác thực. NAS sẽ truyền thông tin đến AAA Server để xác thực. Nó đƣợc mang bởi giao thức TACACS hoặc RADIUS.

3.2.1.2. Tổng quan về TACACS

TACACS là giao thức đƣợc chuẩn hoá sử dụng giao thức hƣớng kết nối (connection-oriented) là TCP trên port 49.

TACACS có các ƣu điểm sau:

o Với khả năng nhận gói reset (RST) trong TCP, một thiết bị có thể lập tức báo cho đầu cuối khác biết rằng đã có hỏng hóc trong quá trình truyền.

o TCP là giao thức mở rộng vì có khả năng xây dựng cơ chế phục hồi lỗi. Nó có thể tƣơng thích để phát triển cũng nhƣ làm tắc nghẽn mạng với việc sử dụng sequence number để truyền lại.

o Toàn bộ payload đƣợc mã hoá với TACACS+ bằng cách sử dụng một khoá bí mật chung (shared secret key). TACACS+ đánh dấu một trƣờng trong header để xác định xem thử có mã hoá hay không.

o TACACS+ mã hoá toàn bộ gói bằng việc sử dụng khoá bí mật chung nhƣng bỏ qua header TACACS chuẩn. Cùng với header là một trƣờng xác định body có đƣợc mã hoá hay không. Thƣờng thì trong toàn bộ thao tác, body của một gói đƣợc mã hoá hoàn toàn để truyền thông an toàn.

o TACACS+ đƣợc chia làm ba phần: xác thực (authentication), cấp quyền (authorization) và tính cƣớc (accounting). Với cách tiếp cận theo module, ta có thể sử dụng các dạng khác của xác thực và vẫn sử dụng TACACS+ để cấp quyền và tính cƣớc. Chẳng hạn nhƣ, việc sử dụng phƣơng thức xác thực Kerberos cùng với việc cấp quyền và tính cƣớc bằng TACACS+ là rất phổ biến.

o TACACS+ hỗ trợ nhiều giao thức.

o Với TACACS+, ta có thể dùng hai phƣơng pháp để điều khiển việc cấp quyền thực thi các dòng lệnh của một user hay một nhóm nhiều user:

41

o Phƣơng pháp thứ nhất là tạo một mức phân quyền (privilege) với một số câu lệnh giới hạn và user đã xác thực bởi router và TACACS server rồi thì sẽ đƣợc cấp cho mức đặc quyền xác định nói trên.

o Phƣơng pháp thứ hai đó là tạo một danh sách các dòng lệnh xác định trên TACACS+ server để cho phép một user hay một nhóm sử dụng.

o TACACS thƣờng đƣợc dùng trong môi trƣờng enterprise. Nó có nhiều ƣu điểm và làm việc tốt đáp ứng yêu cầu quản lý mạng hàng ngày.

Định dạng TACACS và các giá trị tiêu đề

Các ID TACACS định nghĩa một tiêu đề 12-byte xuất hiện trong tất cả các gói TACACS. tiêu đề này luôn luôn đƣợc gửi ở định dạng văn bản rõ ràng.

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Major_ver sion Minor_ver sion

Type Seq_no Flags

Session_id Length

Hình 3-3Định dạng gói tin

Major_version Đây là số phiên bản chính của TACACS. giá trị xuất hiện trong tiêu đề nhƣ TAC_PLUS_MAJOR_VER = 0xc.

Minor_version: cung cấp số serial cho giao thức TACACS. Nó cũng cung cấp cho khả năng tƣơng thích của giao thức. Một giá trị mặc định, cũng nhƣ phiên bản một, đƣợc định nghĩa cho một số lệnh. Những giá trị này xuất hiện trong tiêu đề TACACS nhƣ TAC_PLUS_MINOR_VER_DEFAULT = 0x0

TAC_PLUS_MINOR_VER_ONE = 0x1.

Nếu một máy chủ AAA chạy TACACS nhận đƣợc một gói TACACS xác định một phiên bản nhỏ hơn khác phiên bản hiện tại, nó sẽ gửi một trạng thái lỗi trở lại và yêu cầu các minor_version với phiên bản gần nhất đƣợc hỗ trợ.

Loại này phân biệt các loại gói tin. Chỉ có một số loại là hợp pháp. Các loại gói hợp pháp nhƣ sau:

42

- TAC_PLUS_AUTHEN = 0x01 đây là loại gói nghĩa xác thực. - TAC_PLUS_AUTHOR-0x02 đây là loại gói tin mà nghĩa uỷ quyền. - TAC_PLUS_ACCT = 0x03 đây là loại gói tin mà nghĩa kế toán.

Seq_no: xác định số thứ tự cho các phiên làm việc. TACACS có thể khởi tạo một hoặc nhiều phiên TACACS cho mỗi khách hàng AAA.

Flags: có 2 cờ

+TAC_PLUS_UNENCRYPTED_FLAG:xác định mã hoá của gói TACACS.

Một phần của tài liệu An toàn mạng máy tính và giải pháp xác thực người dùng (Trang 32)