3.3 Chuyển đổi địa chỉ (NAT) 3.3.1 NAT là gì? a, Khái niệm :Như chúng ta đã biết,trong hệ thống mạng máy tính thì quá trình chuyển đổi địa chỉ mạng (NAT-Network Address Translation) là công việc liên quan tới việc ghi lại các địa chỉ gốc/điểm tới của các gói dữ liệu vận chuyển qua router/firewall ta gọi tắt là NAT. b,Cơ chế hoạt động của NAT NAT xử lý một gói tin xuất phát từ bên trong đi ra bên ngoài: • Khi NAT nhận một gói tin từ một cổng bên trong, gói tin này đáp ứng các tiêu chuẩn để NAT, router sẽ tìm kiếm trong bảng NAT địa chỉ bên ngoài (outside address) của gói tin. Nói cách khác, tiến trình NAT tìm kiếm một hàng ở trong bảng NAT trong đó địa chỉ outside local address bằng với địa chỉ đích của gói tin. Nếu không có phép so trùng nào tìm thấy, gói tin sẽ bị loại bỏ. • Nếu có một hàng trong bảng NAT là tìm thấy (trong hàng này, địa chỉ đích của gói tin bằng với địa chỉ outside local), NAT sẽ thay thế địa chỉ đích trong gói tin bằng địa chỉ outside global theo thông tin trong bảng NAT. • Tiến trình NAT tiếp tục tìm kiếm bảng NAT để xem có một địa chỉ inside local nào bằng vớI địa chỉ nguồn của gói tin hay không. Nếu có một hàng là tìm thấy, NAT tiếp tục thay thế địa chỉ nguồn của gói tin bằng địa chỉ inside global. Nếu không có một hàng nào được tìm thấy, NAT sẽ tạo ra một hàng mới trong bảng NAT và chèn địa chỉ mới vào trong gói tin. NAT sẽ xử lý một gói tin xuất phát từ mạng bên ngoài đi vào mạng bên trong theo cách sau: • Khi NAT nhận được một gói tin xuất phát từ một cổng bên ngoài, đáp ứng các tiêu chuẩn để NAT, tiến trình NAT sẽ tìm kiếm trong bảng NAT một hàng trong đó địa chỉ inside global là bằng vớI đia chỉ đích của gói tin. • Nếu không có hàng nào trong bảng NAT được tìm thấy, gói tin bị loạI bỏ. Nếu có một hàng tìm thấy trong bảng NAT, NAT sẽ thay thế địa chỉ đích bằng địa chỉ inside local từ bảng NAT. • Router tìm kiếm bảng NAT để tìm ra địa chỉ outside global bằng với địa chỉ nguồn của gói tin. Nếu có một hàng là tìm thấy, NAT sẽ thay thế địa chỉ đích bằng địa chỉ outside local từ bảng NAT. Nếu NAT không tìm thấy một hàng nào, nó sẽ tạo ra một hàng mới trong bảng NAT và cũng thực hiện như ở bước 2
3.3.2 Phân loại NAT a,NAT tĩnh (Static NAT) Nat tĩnh hay còn gọi là Static NAT là phương thức NAT một đổi một. Nghĩa là một địa chỉ IP cố định trong LAN sẽ được ánh xạ ra một địa chỉ IP Public cố định trước khi gói tin đi ra Internet. Phương pháp này không nhằm tiết kiệm địa chỉ IP mà chỉ có mục đích ánh xạ một IP trong LAN ra một IP Public để ẩn IP nguồn trước khi đi ra Internet làm giảm nguy cơ bị tấn công trên mạng. b,NAT động(Dynamic NAT) Nat động (Dynamic NAT) là một giải pháp tiết kiệm IP Public cho NAT tĩnh. Thay vì ánh xạ từng IP cố định trong LAN ra từng IP Public cố định. LAN động cho phép NAT cả dải IP trong LAN ra một dải IP Public cố định ra bên ngoài. c, NAT vượt tải (NAT overload)
Nat overload – PAT là giải pháp được dùng nhiều nhất đặc biệt là trong các Modem ADSL, đây là giải pháp mang lại cả hai ưu điểm của NAT đó là:
Ẩn địa chỉ IP trong hệ thống mạng nội bộ trước khi gói tin đi ra Internet giằm giảm thiểu nguy cơ tấn công trên mạng Tiết kiệm không gian địa chỉ IP Bản chất PAT là kết hợp IP Public và số hiệu cổng (port) trước khi đi ra Internet. Lúc này mỗi IP trong LAN khi đi ra Internet sẽ được ánh xạ ra một IP Public kết hợp với số hiệu cổng
3.3.3 Ứng dụng của NAT -NAT là một giải pháp nhằm đối phó với tình trạng cạn kiệt địa chỉ IPv4. Tình trạng cạn kiệt của IPv4 đã được cảnh báo vào cuối những năm 1980, và tới năm 2011 tình trạng này đã xảy ra ở một số nơi,dần dần nó chứng tỏ nhiều ưu điểm mà lúc phát minh ra nó người ta không nghĩ tới ,các ứng dụng của NAT là NAT cho phép: +Chia sẻ kết nối internet với nhiều máy bên trong mạng LAN với một địa chỉ IP của WAN. +Firewall:nó giúp dấu tất cả IP trong LAN với mạng bên ngoài ,tránh sự nhòm ngó của các hackers. +Tính linh hoạt và dễ dàng trong việc quản lý. +Giups cho các home user và các doanh nghiệp nhỏ có thể tạo kết nối với internet một cách dễ dàng và hiệu quả cũng như tiết kiệm vốn đầu tư
3.3.4 Một số vấn đề của NAT -NAT đã được sử dụng rộng rãi trong những năm gần đây (2014), tuy nhiên, vẫn có những ý kiến phản đối trong cộng đồng IEFT, một số lý do phản đối liên quan đến: + Khái niệm port (port number) đã được sử dụng như một loại địa chỉ ở mức tiến trình, nhưng trong NAT lại được sử dụng để xác định địa chỉ cho một host. Router hay các thiết bị có chức năng giống như router chỉ làm việc với các gói tin cao nhất là ở tầng 3, trong khi NAT có thao tác với giá trị port nằm ở tầng 4. + NAT đã vi phạm nguyên tắc làm việc end-to-end. Nguyên tắc này cho rằng, hai host sẽ trao đổi dữ liệu trực tiếp với nhau mà không bị can thiệp vào phần nội dung gói tin dẫn đến việc bị thay đổi địa chỉ IP và giá trị port như trong quá trình NAT. + Việc cạn kiệt địa chỉ IP có thể giải quyết bằng giải pháp lâu dài là sử dụng địa chỉ IPv6, chứ không phải là một giải pháp tình thế như NAT. Ngoài ra, NAT còn gây trở ngại cho các ứng dụng chạy trên nền tảng P2P, ví dụ: chia sẻ tập tin, Voiceover-IP. Trong một ứng dụng chạy trên nền tảng P2P, một peer bất kì (ví dụ peer A) phải có khả năng thiết lập kết nối TCP với các peer khác (ví dụ peer B). Tuy nhiên, nếu peer B nằm sau NAT, nó sẽ không thể hoạt động giống như một server thực thụ và peer A sẽ không thể khởi tạo được kết nối TCP với peer B. Nếu peer A không nằm sau NAT thì vẫn có một số giải pháp để vượt qua trở ngại này.
3.4 Mạng riêng ảo(VPN-Virtual Private Network ) 3.4.1 Khái niệm VPN
VPN viết tắt của Virtual Private Network (mạng riêng ảo) cho phép bạn tạo ra những kết nối tới liên kết mạng khác một cách an toàn thông qua Internet. Về căn bản, mỗi VPN là một mạng riêng rẽ sử dụng một hạ tầng chung (Internet) để kết nối cùng với các site (mạng riêng lẻ) hay nhiều người sử dụng từ xa. Thay cho việc sử dụng kết nối thực mỗi VPN sử dụng các kết nối ảo được thiết lập qua Internet từ mạng riêng của các Công ty tới các chi nhánh 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 đảm bảo tính an toàn 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ại ra một đường ống (tunnel) bảo mật giữa nơi gửi và nơi nhận. Để tạo ra một đường ống bảo mật đó, dữ liệu phải được mã hóa, chỉ cung cấp phần đầu gói dữ liệu là có thể đi đến đích thông qua mạng công cộng một cách nhanh chóng. Các lợi ích của VPN
Chi phí thấp hơn những mạng riêng. Tính linh hoạt trong kết nối Tăng tính bảo mật: phải có quyền truy cập mới có thể xem được dữ liệu. Mã hóa dữ liệu của bạn: VPN rất khó để phá, nhưng không phải là không thể, mã hóa thông tin của bạn sẽ rất hữu ích vì nếu có ai đó phá vỡ kết nối của bạn thì thông tin của bạn cũng sẽ không bị tổn hại vì đã được mã hóa. Hỗ trợ các giao thức mạng thông dụng nhất hiện nay là TCP/IP. Bảo mật địa chỉ IP: 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.
3.4.2 Các loại kết nối VPN a, Remote Access VPN Remote Access VPN cho phép người dùng kết nối với một mạng riêng và truy cập vào các dịch vụ và tài nguyên từ xa. Kết nối giữa người dùng và mạng riêng sẽ xảy ra thông qua Internet và kết nối an toàn, riêng tư. Remote Access VPN hữu ích cho người dùng doanh nghiệp cũng như người dùng gia đình. b,Site-to-VPN Site-to-Site VPN chủ yếu được sử dụng trong các doanh nghiệp, site-to-site tạo ra một cầu nối ảo giữa các mạng tại các văn phòng ở xa và kết nối chúng thông qua Internet và duy trì truyền thông an toàn và riêng tư giữa các mạng.
3.4.3 Các giao thức của VPN a, Internet Protocol Security (IPSec) Internet Protocol Security (IPSec) là giao thức được sử dụng để đảm bảo giao tiếp Internet qua mạng IP. IPSec giữ giao thức Internet Protocol bằng cách xác thực phiên làm việc và mã hóa từng gói dữ liệu trong suốt quá trình kết nối. IPSec hoạt động ở hai chế độ: Trandsport mode và Tunneling mode, để bảo vệ truyền dữ liệu giữa hai mạng khác nhau. Phương thức vận chuyển mã hóa tin nhắn trong gói dữ liệu và chế độ đường hầm mã hóa toàn bộ gói dữ liệu. IPSec cũng có thể được sử dụng với các giao thức an ninh khác để tăng cường hệ thống an ninh.
b, Layer 2 Tunneling Protocol Layer 2 Tunneling Protocol là một giao thức đường hầm thường kết hợp với một giao thức bảo mật VPN khác như IPSec để tạo kết nối VPN an toàn cao. L2TP tạo một đường hầm giữa hai điểm kết nối L2TP và giao thức IPSec mã hóa dữ liệu và xử lý truyền thông an toàn giữa đường hầm. c, Point-to-Point Tunneling Protocol Giao thức Point-to-Point Tunneling Protocol tạo ra một đường hầm và gói gọn gói dữ liệu. Nó sử dụng giao thức Point-to-Point (PPP) để mã hóa dữ liệu giữa các kết nối. PPTP là một trong những giao thức VPN được sử dụng rộng rãi nhất và đã được sử dụng từ thời Windows 95. Ngoài Windows, PPTP cũng được hỗ trợ trên Mac và Linux d, Secure Sockets Layer (SSL) và Transport Layer Security (TLS) Secure Sockets Layer (SSL) và Transport Layer Security (TLS) tạo ra một kết nối VPN, nơi trình duyệt web hoạt động như truy cập của khách hàng và người dùng được giới hạn cho các ứng dụng cụ thể thay vì toàn bộ mạng. Giao thức SSL và TLS thường được sử dụng bởi các trang web mua sắm trực tuyến và các nhà cung cấp dịch vụ. Các trình duyệt Web chuyển sang SSL dễ dàng và hầu như không có hành động nào được yêu cầu từ người dùng, vì các trình duyệt web được tích hợp với SSL và TLS. Các kết nối SSL có https ở đầu URL thay vì http. e, OpenVPN OpenVPN là một VPN nguồn mở hữu ích cho việc tạo các kết nối từ điểm đến điểm và kết nối từ trang web tới địa điểm. Nó sử dụng một giao thức bảo mật tùy chỉnh dựa trên giao thức SSL và TLS. f, Secure Shell (SSH) Secure Shell (SSH) tạo ra đường hầm VPN qua đó chuyển dữ liệu sẽ xảy ra và đảm bảo rằng đường hầm được mã hóa. Các kết nối SSH được tạo bởi một máy khách SSH và dữ liệu được chuyển từ một cổng cục bộ tới máy chủ từ xa thông qua đường hầm được mã hóa.