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. Thay cho việc sử dụng bởi một 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 tòan và bảo mật, VPN cung cấp các cơ chế mã hóa 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 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ã hóa hay che giấu đi chỉ cung cấp phần đầu gói dữ liệu 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ữ lịêu được mã hóa 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 dung vì không có khóa để giải mã. Liên kết với dữ liệu được mã hóa 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 (VPN Tunnel).
Hình 2.9: Mô hình một mạng VPN điển hình 2. Ưu điểm của VPN
Chi phí : Công nghệ VPN cho phép tiết kiệm đáng kể chi phí thuê kênh riêng hoặc các cuộc gọi đường dài bằng chi phí cuộc gọi nội hạt. Việc sử dụng kết nối đến ISP còn cho phép vừa sử dụng VPN vừa truy cập Internet. Công nghệ VPN cho phép sử dụng băng thông đạt hiệu quả cao nhất. Giảm nhiều chi phí quản lý, bảo trì hệ thống.
Tính bảo mật : Trong VPN sử dụng cơ chế đường hầm và các giao thức tầng 2 và tầng 3, xác thực người dùng, kiểm soát truy nhập, bảo mật dữ liệu bằng mã hoá. Vì vậy VPN có tính bảo mật cao, giảm thiểu khả năng tấn công, thất thoát dữ liệu.
Truy nhập dễ dàng : Người sử dụng trên VPN ngoài việc sử dụng các tài nguyên trên VPN còn được sử dụng các dịch vụ khác của Internet mà không cần quan tâm đến phần phức tạp ở tầng dưới.
II.2.2 Kiến trúc của VPN
Đường hầm (Tunnelling) cho phép làm “ảo” một mạng riêng. Các dịch vụ bảo mật đa dạng cho phép dữ liệu mang tính riêng tư.
Hình 2.10: Cấu trúc một đường hầm
Đường hầm là kết nối giữa hai điểm cuối khi cần thiết. Kết nối này được giải phóng khi không truyền dữ liệu, dành băng thông cho các kết nối khác. Kết nối này mang tính logic “ảo” không phụ thuộc vào cấu trúc vật lý của mạng. Nó che giấu các thiết bị như bộ định tuyến, chuyển mạch và trong suốt đối với người dùng.
II.2.3 Các loại VPN
VPNs nhằm hướng vào ba yêu cầu cơ bản sau đây:
− Có thể truy cập từ xa, thực hiện liên lạc giữa các nhân viên của một tổ chức tới các tài nguyên mạng.
− Nối kết thông tin liên lạc giữa các chi nhánh văn phòng từ xa.
− Ðược điều khiển truy nhập tài nguyên mạng khi cần thiết của khách hàng, nhà cung cấp và những đối tác quan trọng của công ty nhằm hợp tác kinh doanh. Dựa trên những nhu cầu cơ bản trên, ngày nay VPNs đã phát triển và phân chia ra làm 3 phân loại chính sau :
− Remote Access VPNs (VPNs truy nhập từ xa)
− Extranet VPNs (VPNs mạng bên ngoài) Remote Access VPNs:
Remote Access VPNs cho phép truy cập bất cứ lúc nào bằng Remote, mobile và các thiết bị truyền thông của nhân viên các chi nhánh kết nối đến tài nguyên mạng của tổ chức. Ðặc biệt là những người dùng thường xuyên di chuyển hoặc các chi nhánh văn phòng nhỏ mà không có kết nối thường xuyên đến mạng Intranet hợp tác.
Bằng việc triển khai Remote Access VPNs, những người dùng từ xa hoặc các chi nhánh văn phòng chỉ cần cài đặt một kết nối cục bộ đến nhà cung cấp dịch vụ ISP hoặc ISP’s POP và kết nối đến tài nguyên thông qua Internet. Thông tin Remote Access Setup được mô tả bởi hình vẽ sau :
Hình 2.11: Mô hình Remote Access VPNs
Intranet VPNs
Việc kết nối Intranet giữa các văn phòng, chi nhánh của một công ty, tổ chức theo phương pháp truyền thống là sử dụng các Backbone Router như hình minh họa dưới đây:
Hình 2.12 : Kết nối Internet sử dụng Backbone WAN
Theo mô hình trên sẽ rất tốn chi phí do phải sử dụng Backbone router để kết nối các chi nhánh với nhau, thêm vào đó việc triển khai, bảo trì và quản lý mạng Intranet Backbone sẽ rất tốn kém còn tùy thuộc vào lượng lưu thông trên mạng đi trên nó và phạm vi địa lý của toàn bộ mạng Intranet.
Ðể giải quyết vấn đề trên, sự tốn kém của WAN backbone được thay thế bởi các kết nối Internet với chi phí thấp, điều này có thể giảm một lượng chi phí đáng kể của việc triển khai mạng Intranet, xem hình phía dưới :
Hình 2.13: Thiết lập Intranet dựa trên VPN
Những ưu điểm chính của việc thiết lập Intranet dựa trên VPN:
− Hiệu quả chi phí hơn do giảm số lượng router được sữ dụng theo mô hình WAN backbone.
− Bởi vì Internet hoạt động như một kết nối trung gian, nó dễ dàng cung cấp những kết nối mới ngang hàng.
− Kết nối nhanh hơn và tốt hơn do về bản chất kết nối đến nhà cung cấp dịch vụ, loại bỏ vấn đề về khoảng cách xa và thêm nữa giúp tổ chức giảm thiểu chi phí cho việc thực hiện Intranet.
− Bởi vì dữ liệu vẫn còn tunnel trong suốt quá trình chia sẻ trên mạng công cộng Internet và những nguy cơ tấn công, như tấn công bằng từ chối dịch vụ (denial-of- service), vẫn còn là một mối đe doạ an toàn thông tin.
− Khả năng mất dữ liệu trong lúc di chuyển thông tin cũng vẫn rất cao.
− Trong một số trường hợp như các tập tin mulltimedia, việc trao đổi dữ liệu sẽ rất chậm chạp do được truyền thông qua Internet.
− Do là kết nối dựa trên Internet, nên tính hiệu quả không liên tục, thường xuyên, và QoS cũng không được đảm bảo.
Extranet VPNs:
Không giống như Intranet và Remote Access-based, Extranet không hoàn toàn cách li từ bên ngoài (outer-world), Extranet cho phép truy cập những tài nguyên mạng cần thiết của các đối tác kinh doanh, chẳng hạn như khách hàng, nhà cung cấp, đối tác, những người giữ vai trò quan trọng trong tổ chức.
Như hình dưới đây, mạng Extranet rất tốn kém do có nhiều đoạn mạng riêng biệt trên Intranet kết hợp lại với nhau để tạo ra một Extranet. Ðiều này làm cho khó triển khai và quản lý do có nhiều mạng, đồng thời cũng khó khăn cho cá nhân làm công việc bảo trì và quản trị. Thêm nữa là mạng Extranet sẽ dễ mở rộng do điều này sẽ làm rối tung toàn bộ mạng Intranet và có thể ảnh hưởng đến các kết nối bên ngoài mạng. Sẽ có những vấn đề bạn gặp phải bất thình lình khi kết nối một Intranet vào một mạng Extranet. Triển khai và thiết kế một mạng Extranet có thể là một cơn ác mộng của các nhà thiết kế và quản trị mạng.
Hình 2.14: Mô hình mạng Extranet thông thường
Hình 1.15: Mô hình Extranet VPN
− Do hoạt động trên môi trường Internet, chúng ta có thể lựa chọn nhà phân phối khi lựa chọn và đưa ra phương pháp giải quyết tuỳ theo nhu cầu của tổ chức.
− Bởi vì một phần Internet-connectivity (kết nối) được bảo trì bởi nhà cung cấp (ISP) nên cũng giảm chi phí bảo trì khi thuê nhân viên bảo trì.
− Dễ dàng triển khai, quản lý và chỉnh sữa thông tin. Một số bất lợi của Extranet VPN :
− Sự đe dọa về tính an toàn, như bị tấn công bằng từ chối dịch vụ vẫn còn tồn tại.
− Tăng thêm nguy hiểm sự xâm nhập đối với tổ chức trên Extranet.
− Do dựa trên Internet nên khi dữ liệu là các loại high-end data (dữ liệu cấp cao) thì việc trao đổi diễn ra chậm chạp.
− Do dựa trên Internet, QoS cũng không được bảo đảm thường xuyên.
II.2.4 Các yêu cầu cơ bản đối với một giải pháp VPN
Tính tương thích :
Mỗi một công ty, một doanh nghiệp đều được xây dựng các hệ thống mạng nội bộ và diện rộng của mình dựa trên các thủ tục khác nhau và không tuân theo một chuẩn nhất định của nhà cung cấp dịch vụ. Rất nhiều các hệ thống mạng không sử dụng các chuẩn TCP/IP vì vậy không thể kết nối trực tiếp với Internet. Để có thể sử dụng được IP VPN tất cả các hệ thống mạng riêng đều phải được chuyển sang một hệ thống địa chỉ theo chuẩn sử dụng trong internet cũng như bổ sung các tính năng về tạo kênh kết nối ảo, cài đặt cổng kết nối internet có chức năng trong việc chuyển đổi các thủ tục khác nhau sang chuẩn IP.
Tính bảo mật :
Tính bảo mật cho khách hang là một yếu tố quan trọng nhất đối với một giải pháp VPN. Người sử dụng cần được đảm bảo các dữ liệu thông qua mạng. VPN đạt được mức đọ an toàn giống như trong một hệ thống mạng dung riêng do họ tự xây dựng và quản lý.
Việc cung cấp tính năng bảo đảm an toàn cần đảm bảo hai mục tiêu sau :
- Cung cấp tính năng an toàn thích hợp bao gồm : cung cấp mật khẩu cho mọi người sử dụng trong mạng và mã hoá dữ kiệu khi truyền
- Đơn giản trong việc duy trì quản lý, sử dụng. Đòi hỏi thuận tiện và đơn giản cho người sử dụng cũng như nhà quản trị mạng trong việc cài đặt cũng như quản trị hệ thống
Tính khả dụng :
Một giải pháp VPN cần thiết phải cung cấp được tính bảo đảm về chất lượng, hiệu suất sử dụng dịch vụ cũng như dung lượng truyền.
CHƯƠNG III : MỘT SỐ CÔNG CỤ AN NINH MẠNG MÃ
III.1Giới thiệu
Hệ thống mạng đang trở thành những thành phần quan trọng trong thành công của doanh nghiệp - cho dù lớn hay nhỏ. Khi mạng bị lỗi, khách hàng và các nhân viên không thể trao đổi được với nhau, các nhân viên không thể truy cập được những thông tin cần thiết hoặc không thể sử dụng được các tính năng in ấn hoặc email, kết quả là sản lượng và doanh thu bị giảm sút. Các công cụ phần mềm an ninh mạng làm giảm thời gian ngừng hoạt động của mạng và làm cho các doanh nghiệp hoạt động suôn sẻ hơn, giảm chi phí và ngăn ngừa được việc giảm doanh thu. Và đối với các doanh nghiệp nhỏ, những người chưa bao giờ nghĩ đến một khoản ngân sách chi cho phần mềm an ninh mạng. Một lựa chọn tối ưu để khởi đầu với phần mềm giám sát mạng miễn phí với mã nguồn mở, giảm thời gian và chi phí cho quản trị mạng. Chương này giới thiệu một số phần mềm an ninh, giám sát hệ thống mạng mã nguồn mở miễn phí có sẵn hiện nay.
Khi xây dựng một hệ thống an ninh mạng, các doanh nghiệp thường có những mục tiêu chung như sau:
− Chi phí thấp : Phần mềm giám sát hệ thống mạng có chi phí phù hợp với mô
hình của doanh nghiệp
− Dễ dàng cài đặt và sử dụng : Phần mềm giám sát hệ thống mạng mang tính trực
quan, bắt đầu mà không phải đọc những tài liệu khô cứng và buồn tẻ.
− Nhiều tính năng : Phần mềm giám sát hệ thống mạng có thể giám sát toàn bộ các
nguồn lực, cả những nguồn lực của hiện tại cũng như những nguồn lực có thể có trong tương lai.
Dưới đây chúng ta sẽ đi tìm hiểu một số công cụ an ninh mạng mã nguồn mở được sử dụng phổ biến hiện nay.
III.2Netfilter và Iptables III.2.1 Giới thiệu
Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên Linux. Netfilter/Iptables gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài
nhân. Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật của người dùng vào cho Netfiler xử lí. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống.
Hình 3.1: Vị trí của iptables trong một Firewall Linux
III.2.2 Cấu trúc của iptables
Iptables được chia làm 4 bảng (table): • Bảng lọc gói (Packet filtering - filter)
Trong bảng này có 3 chuỗi INPUT(công đoạn nhập dữ liệu), OUTPUT (công đoạn xuất dữ liệu) và FORWARD (công đoạn truyền dữ liệu). Nếu tường lửa làm việc như thiết bị định tuyến thì chỉ chuỗi FORWARD được dùng. Lưu lượng mà mạng nhận sẽ được chuỗi INPUT xử lý và lưu lượng mà mạng gửi đi sẽ được chuỗi OUTPUT xử lý.
• Bảng dịch địa chỉ (Network address translation - Nat)
Bảng này chỉ dùng cho các gói khởi đầu kết nối, các luật trong chuỗi PREROUTING được áp dụng cho các gói ngay khi hệ thống nhận được gói tin, và các luật trong chuỗi POSTROUTING sẽ được áp dụng khi các gói đã được định tuyến(after routing). các luật trong chuỗi OUTPUT được áp dụng cho các gói trước khi định tuyến (before routing). Nói chung các luật đưa vào bảng này phục vụ các mục đích dịch địa chỉ, đóng giả địa chỉ IP và thực hiện dịch vụ ủy quyền trong suốt (transparent proxying).
Bảng này dùng cho mục đính chọn các gói tin theo dấu đã được đánh trước. Nó có chuỗi- xích PREROUTING để thay đổi gói tin trước khi định tuyến, và chuỗi OUTPUT để thay đổi gói tin cụ bộ trong hệ thống.
• Bảng conntrack dùng để theo dõi các kết nối.
Các luật (rules) có thể là ACCEPT (chấp nhận gói dữ liệu), DROP (thả gói), REJECT (loại bỏ gói) hoặc tham chiếu (reference) đến một chain khác.
III.2.3 Quá trình chuyển gói dữ liệu qua tường lửa.
Gói dữ liệu (packet) từ mạng ngoài, sau đó đi vào giao diện mạng nối với mạng ngoài (chẳng hạn như eth0). Đầu tiên packet sẽ qua chuỗi PREROUTING (trước khi định tuyến). Tại đây, packet có thể bị thay đổi thông số (mangle) hoặc bị đổi địa chỉ IP đích (DNAT). Đối với packet đi vào máy, nó sẽ qua chuỗi INPUT. Tại chuỗi INPUT, packet có thể được chấp nhận hoặc bị hủy bỏ. Tiếp theo packet sẽ được chuyển lên cho các ứng dụng (client/server) xử lí và tiếp theo là được chuyển ra chuỗi OUTPUT. Tại chuỗi OUTPUT, packet có thể bị thay đổi các thông số và bị lọc chấp nhận ra hay bị hủy bỏ.
Gói sau khi rời chuỗi PREROUTING sẽ qua chuỗi FORWARD. Tại chuỗi FORWARD, nó cũng bị lọc ACCEPT hoặc DENY. Gói sau khi qua chuỗi FORWARD hoặc chuỗi OUTPUT sẽ đến chuỗi POSTROUTING (sau khi định tuyến).
Tại chuỗi POSTROUTING, gói có thể được đổi địa chỉ IP nguồn (SNAT) hoặc đóng giả địa chỉ (MASQUERADE). Gói sau khi ra giao diện mạng sẽ được chuyển để đi đến máy tính khác trên mạng ngoài.
Hình 3.2: Quá trình chuyển gói dữ liệu qua Netfilter
Trong chuỗi, mỗi luật sẽ được áp dụng theo thứ tự, mỗi luật có một tập các điều kiện xác định luật có phù hợp hay không và tác động chỉ xảy ra khi điều kiện phù hợp. Kết thúc một chuỗi thì tác động mặc định sẽ được sử dụng, nghĩa là gói tin sẽ được phép đi qua.
Các trạng thái kết nối :
- NEW: mở kết nối mới
- ESTABLISHED: đã thiết lập kết nối
- RELATED: mở một kết nối mới trong kết nối hiện tại - CONNMARK
- MARK - INVALID - UNTRACKED
Jump (Nhảy) là cơ chế chuyển một packet đến một target (đích) nào đó để xử lý thêm một số thao tác khác.
Targets (Đích) là hành động sẽ diễn ra khi một gói dữ liệu được kiểm tra và phù hợp với một yêu cầu nào đó. Khi một target đã được các định, gói dữ liệu cần nhảy để thực hiện các xử lý tiếp theo. Target dùng để nhận diện và kiểm tra packet. Các target được xây dựng sẵn trong iptables như:
− ACCEPT: iptables chấp nhận chuyển gói tin đến đích.
− DROP: iptables khóa những packet.