Cổng tcp tiêu chuẩn. giao thức TCP

Giao thức TCP/IP là nền tảng của Internet, qua đó các máy tính gửi và nhận thông tin từ mọi nơi trên thế giới, bất kể vị trí địa lý. Truy cập máy tính TCP/IP ở một quốc gia khác cũng dễ dàng như truy cập máy tính ở phòng bên cạnh. Quy trình truy cập giống hệt nhau trong cả hai trường hợp, mặc dù việc kết nối với máy ở quốc gia khác có thể mất thêm vài mili giây. Kết quả là công dân của bất kỳ quốc gia nào cũng có thể dễ dàng mua sắm trên Amazon.com; tuy nhiên, do sự gần gũi về mặt logic, nhiệm vụ bảo mật thông tin trở nên phức tạp hơn: bất kỳ chủ sở hữu máy tính nào được kết nối Internet ở bất kỳ đâu trên thế giới đều có thể cố gắng thiết lập kết nối trái phép với bất kỳ máy nào khác.

Các chuyên gia CNTT có trách nhiệm cài đặt tường lửa và hệ thống để phát hiện lưu lượng truy cập đáng ngờ. Phân tích gói lấy thông tin về địa chỉ IP nguồn và đích cũng như các cổng mạng liên quan. Giá trị của cổng mạng không thua kém địa chỉ IP; đây là những tiêu chí quan trọng nhất để phân biệt lưu lượng truy cập hữu ích với các tin nhắn giả mạo và có hại vào và ra khỏi mạng. Hầu hết lưu lượng truy cập mạng Internet bao gồm các gói TCP và UDP, chứa thông tin về các cổng mạng mà máy tính sử dụng để định tuyến lưu lượng truy cập từ ứng dụng này sang ứng dụng khác. Điều kiện tiên quyết đối với tường lửa và bảo mật mạng là quản trị viên phải hiểu rõ về cách máy tính và thiết bị mạng sử dụng các cổng này.

Nghiên cứu cảng

Kiến thức về các nguyên tắc cơ bản hoạt động của cổng mạng sẽ hữu ích cho bất kỳ quản trị viên hệ thống nào. Với sự hiểu biết cơ bản về cổng TCP và UDP, quản trị viên có thể chẩn đoán độc lập một ứng dụng mạng bị lỗi hoặc bảo vệ máy tính truy cập Internet mà không cần gọi cho kỹ sư mạng hoặc nhà tư vấn tường lửa.

Phần đầu tiên của bài viết này (gồm hai phần) mô tả các khái niệm cơ bản cần thiết để thảo luận về cổng mạng. Vị trí của các cổng mạng trong mô hình mạng chung và vai trò của các cổng mạng và tường lửa NAT (Dịch địa chỉ mạng) trong các kết nối của máy tính công ty với Internet sẽ được hiển thị. Cuối cùng, các điểm mạng sẽ được chỉ định tại đó thuận tiện cho việc xác định và lọc lưu lượng mạng trên các cổng mạng tương ứng. Phần 2 xem xét một số cổng được sử dụng bởi các ứng dụng và hệ điều hành phổ biến và giới thiệu một số công cụ tìm cổng mạng mở.

Tổng quan ngắn gọn về các giao thức mạng

TCP/IP là một tập hợp các giao thức mạng thông qua đó các máy tính giao tiếp với nhau. Bộ TCP/IP không gì khác hơn là những đoạn mã phần mềm được cài đặt trong hệ điều hành cung cấp quyền truy cập vào các giao thức này. TCP/IP là một tiêu chuẩn, vì vậy các ứng dụng TCP/IP trên máy Windows phải giao tiếp thành công với cùng một ứng dụng trên máy UNIX. Trong những ngày đầu của mạng, vào năm 1983, các kỹ sư đã phát triển mô hình kết nối OSI bảy lớp để mô tả các quy trình mạng máy tính, từ cáp đến ứng dụng. Mô hình OSI bao gồm các lớp vật lý, liên kết dữ liệu, mạng, truyền tải, phiên và ứng dụng. Các quản trị viên thường xuyên làm việc với Internet và TCP/IP chủ yếu xử lý các lớp mạng, truyền tải và ứng dụng, nhưng để chẩn đoán thành công cần phải biết các lớp khác. Mặc dù mô hình OSI đã cũ nhưng nó vẫn được nhiều chuyên gia sử dụng. Ví dụ: khi một kỹ sư mạng nói về các bộ chuyển mạch Lớp 1 hoặc Lớp 2 hoặc nhà cung cấp tường lửa nói về điều khiển Lớp 7, họ đang nói về các lớp được xác định trong mô hình OSI.

Bài viết này nói về các cổng mạng nằm ở lớp 4 - vận chuyển. Trong bộ TCP/IP, các cổng này được sử dụng bởi các giao thức TCP và UDP. Nhưng trước khi đi vào chi tiết về một lớp, điều quan trọng là phải xem nhanh bảy lớp OSI và vai trò của chúng trong các mạng TCP/IP hiện đại.

Lớp 1 và 2: Cáp vật lý và địa chỉ MAC

Lớp 1, vật lý, đại diện cho môi trường thực tế mà tín hiệu truyền qua, chẳng hạn như cáp đồng, cáp quang hoặc tín hiệu vô tuyến (trong trường hợp Wi-Fi). Lớp 2, liên kết dữ liệu, mô tả định dạng dữ liệu để truyền trong môi trường vật lý. Ở Lớp 2, các gói được tổ chức thành các khung và các chức năng xử lý lỗi và kiểm soát luồng cơ bản có thể được thực hiện. Tiêu chuẩn IEEE 802.3, hay còn gọi là Ethernet, là tiêu chuẩn Lớp 2 phổ biến nhất cho các mạng cục bộ hiện đại. Bộ chuyển mạch mạng thông thường là thiết bị Lớp 2, qua đó nhiều máy tính kết nối vật lý và trao đổi dữ liệu với nhau. Đôi khi, hai máy tính không thể kết nối với nhau mặc dù địa chỉ IP có vẻ chính xác, sự cố có thể do lỗi trong bộ nhớ đệm Giao thức phân giải địa chỉ (ARP), cho thấy có sự cố ở Lớp 2. Ngoài ra, một số điểm truy cập không dây (Access) Point, AP) cung cấp tính năng lọc địa chỉ MAC, chỉ cho phép các bộ điều hợp mạng có địa chỉ MAC cụ thể kết nối với AP không dây.

Lớp 3 và 4: Địa chỉ IP và cổng mạng

Lớp 3, mạng, hỗ trợ định tuyến. Trong TCP/IP, việc định tuyến được thực hiện trong IP. Địa chỉ IP của gói thuộc Lớp 3. Bộ định tuyến mạng là thiết bị Lớp 3 phân tích địa chỉ IP gói và chuyển tiếp gói đến bộ định tuyến khác hoặc phân phối gói đến máy tính cục bộ. Nếu phát hiện một gói đáng ngờ trên mạng, bước đầu tiên là kiểm tra địa chỉ IP của gói để xác định nguồn gốc của gói.

Cùng với lớp mạng, lớp 4 (vận chuyển) là điểm khởi đầu tốt để chẩn đoán các sự cố mạng. Trên Internet, Lớp 4 chứa các giao thức TCP và UDP cũng như thông tin về cổng mạng liên kết gói với một ứng dụng cụ thể. Ngăn xếp mạng của máy tính sử dụng liên kết cổng mạng TCP hoặc UDP với một ứng dụng để hướng lưu lượng mạng đến ứng dụng đó. Ví dụ: cổng TCP 80 được liên kết với ứng dụng máy chủ Web. Việc ánh xạ các cổng tới các ứng dụng này được gọi là một dịch vụ.

TCP và UDP là khác nhau. Về cơ bản, TCP cung cấp kết nối đáng tin cậy để liên lạc giữa hai ứng dụng. Trước khi bắt đầu giao tiếp, hai ứng dụng phải thiết lập kết nối bằng cách hoàn tất quy trình bắt tay TCP ba bước. UDP là một cách tiếp cận dễ quên hơn. Độ tin cậy của kết nối đối với các ứng dụng TCP được đảm bảo bởi giao thức, nhưng ứng dụng UDP phải kiểm tra độc lập độ tin cậy của kết nối.

Cổng mạng là một số từ 1 đến 65535 được chỉ định và biết cho cả hai ứng dụng mà giao tiếp đang được thiết lập. Ví dụ: một máy khách thường gửi yêu cầu không được mã hóa đến máy chủ tại địa chỉ đích trên cổng TCP 80. Thông thường, máy tính sẽ gửi yêu cầu DNS đến máy chủ DNS tại địa chỉ đích trên cổng UDP 53. Máy khách và máy chủ có một nguồn và địa chỉ IP đích cũng như cổng mạng nguồn và đích, có thể khác nhau. Trong lịch sử, tất cả các số cổng dưới 1024 được gọi là "số cổng đã biết" và được đăng ký với Cơ quan cấp số hiệu Internet (IANA). Trên một số hệ điều hành, chỉ các tiến trình hệ thống mới có thể sử dụng các cổng trong phạm vi này. Ngoài ra, các tổ chức có thể đăng ký cổng 1024 đến 49151 với IANA để liên kết cổng với ứng dụng của họ. Việc đăng ký này cung cấp một cấu trúc giúp tránh xung đột giữa các ứng dụng cố gắng sử dụng cùng một số cổng. Tuy nhiên, nói chung, không có gì ngăn cản ứng dụng yêu cầu một cổng cụ thể miễn là nó không bị chiếm bởi một chương trình đang hoạt động khác.

Về mặt lịch sử, máy chủ có thể lắng nghe trên các cổng được đánh số thấp và máy khách có thể bắt đầu kết nối trên cổng được đánh số cao (trên 1024). Ví dụ: máy khách Web có thể mở kết nối đến máy chủ Web trên cổng đích 80, nhưng liên kết một cổng nguồn được chọn ngẫu nhiên, chẳng hạn như cổng TCP 1025. Khi phản hồi máy khách, máy chủ Web sẽ gửi gói tin tới máy khách bằng nguồn cổng 80 và cổng đích 1025. Sự kết hợp giữa địa chỉ IP và cổng được gọi là ổ cắm và phải là duy nhất trên máy tính. Vì lý do này, khi thiết lập một máy chủ Web có hai trang Web riêng biệt trên cùng một máy tính, bạn phải sử dụng nhiều địa chỉ IP, chẳng hạn như address1:80 và address2:80 hoặc định cấu hình máy chủ Web để nghe trên nhiều cổng mạng, chẳng hạn như như địa chỉ 1:80 và địa chỉ 1:81. Một số máy chủ Web cho phép nhiều trang Web chạy trên một cổng bằng cách yêu cầu tiêu đề máy chủ, nhưng chức năng này thực sự được thực hiện bởi ứng dụng máy chủ Web ở lớp 7 cao hơn.

Khi khả năng kết nối mạng trở nên khả dụng trong các hệ điều hành và ứng dụng, các lập trình viên bắt đầu sử dụng số cổng cao hơn 1024 mà không đăng ký tất cả các ứng dụng với IANA. Bằng cách tìm kiếm trên Internet bất kỳ cổng mạng nào, bạn thường có thể nhanh chóng tìm thấy thông tin về các ứng dụng sử dụng cổng đó. Hoặc bạn có thể tìm kiếm Cổng nổi tiếng và tìm nhiều trang web liệt kê các cổng phổ biến nhất.

Khi chặn các ứng dụng mạng trên máy tính hoặc khắc phục lỗi tường lửa, phần lớn công việc đến từ việc phân loại và lọc địa chỉ IP Lớp 3 cũng như các giao thức và cổng mạng Lớp 4. Để nhanh chóng phân biệt giữa lưu lượng truy cập hợp pháp và đáng ngờ, bạn nên học cách nhận biết 20 lưu lượng truy cập phổ biến nhất. được sử dụng rộng rãi trong các cổng TCP và UDP của doanh nghiệp.

Học cách nhận biết và làm quen với các cổng mạng không chỉ dừng lại ở việc gán các quy tắc tường lửa. Ví dụ: một số bản vá bảo mật của Microsoft mô tả cách đóng cổng NetBIOS. Biện pháp này giúp hạn chế sự lây lan của sâu xâm nhập qua các lỗ hổng trong hệ điều hành. Biết cách thức và vị trí đóng các cổng này có thể giúp giảm rủi ro bảo mật mạng trong khi chuẩn bị triển khai bản vá quan trọng.

Và thẳng tới cấp 7

Ngày nay, hiếm khi nghe về Lớp 5 (phiên) và Lớp 6 (bản trình bày), nhưng Lớp 7 (ứng dụng) là một chủ đề nóng giữa các nhà cung cấp tường lửa. Xu hướng mới nhất trong tường lửa mạng là kiểm tra Lớp 7, mô tả các kỹ thuật được sử dụng để phân tích cách ứng dụng tương tác với các giao thức mạng. Bằng cách phân tích tải trọng của gói mạng, tường lửa có thể xác định xem lưu lượng truy cập đi qua nó có hợp pháp hay không. Ví dụ: một yêu cầu Web chứa câu lệnh GET bên trong gói Lớp 4 (cổng TCP 80). Nếu tường lửa của bạn có chức năng Lớp 7, bạn có thể xác minh rằng câu lệnh GET là chính xác. Một ví dụ khác là nhiều chương trình chia sẻ tệp ngang hàng (P2P) có thể chiếm quyền điều khiển cổng 80. Kết quả là người ngoài có thể định cấu hình chương trình để sử dụng cổng mà họ chọn - rất có thể là cổng nên được để mở trong một tường lửa nhất định. Nếu nhân viên của công ty cần truy cập Internet, cổng 80 phải được mở, nhưng để phân biệt lưu lượng Web hợp pháp với lưu lượng P2P do ai đó hướng đến cổng 80, tường lửa phải cung cấp khả năng kiểm soát lớp 7.

Vai trò của tường lửa

Sau khi mô tả các lớp mạng, chúng ta có thể chuyển sang mô tả cơ chế giao tiếp giữa các ứng dụng mạng thông qua tường lửa, đặc biệt chú ý đến các cổng mạng được sử dụng. Trong ví dụ sau, trình duyệt máy khách giao tiếp với máy chủ Web ở phía bên kia tường lửa, giống như nhân viên công ty giao tiếp với máy chủ Web trên Internet.

Hầu hết các tường lửa Internet hoạt động ở lớp 3 và 4 để kiểm tra và sau đó cho phép hoặc chặn lưu lượng mạng đến và đi. Nói chung, quản trị viên viết danh sách kiểm soát truy cập (ACL) xác định địa chỉ IP và cổng mạng của lưu lượng truy cập bị chặn hoặc cho phép. Ví dụ: để truy cập Web, bạn cần khởi chạy trình duyệt và trỏ nó vào trang Web. Máy tính bắt đầu kết nối đi bằng cách gửi một chuỗi các gói IP bao gồm thông tin tiêu đề và tải trọng. Tiêu đề chứa thông tin tuyến đường và các thuộc tính gói khác. Các quy tắc tường lửa thường được viết có lưu ý đến thông tin định tuyến và thường chứa địa chỉ IP nguồn và đích (lớp 3) và giao thức gói (lớp 4). Khi duyệt Web, địa chỉ IP đích thuộc về máy chủ Web, giao thức và cổng đích (theo mặc định) là TCP 80. Địa chỉ IP nguồn là địa chỉ của máy tính mà người dùng truy cập Web và nguồn cổng thường là số được gán động, lớn hơn 1024. Thông tin hữu ích không phụ thuộc vào tiêu đề và được tạo bởi ứng dụng người dùng; trong trường hợp này, đó là yêu cầu máy chủ Web cung cấp một trang Web.

Tường lửa phân tích lưu lượng đi và cho phép nó theo các quy tắc tường lửa. Nhiều công ty cho phép tất cả lưu lượng truy cập đi từ mạng của họ. Cách tiếp cận này đơn giản hóa việc cấu hình và triển khai nhưng làm giảm tính bảo mật do thiếu quyền kiểm soát dữ liệu rời khỏi mạng. Ví dụ: một con ngựa Trojan có thể lây nhiễm một máy tính trên mạng doanh nghiệp và gửi thông tin từ máy tính đó đến một máy tính khác trên Internet. Sẽ rất hợp lý khi tạo danh sách kiểm soát truy cập để chặn những thông tin gửi đi như vậy.

Ngược lại với cách tiếp cận gửi đi của nhiều tường lửa, hầu hết đều được cấu hình để chặn lưu lượng truy cập đến. Thông thường, tường lửa chỉ cho phép lưu lượng truy cập đến trong hai trường hợp. Đầu tiên là lưu lượng truy cập đến để đáp ứng yêu cầu gửi đi của người dùng trước đó. Ví dụ: nếu bạn trỏ trình duyệt của mình tới địa chỉ của một trang Web, tường lửa sẽ cho phép mã HTML và các thành phần khác của trang Web xâm nhập vào mạng. Trường hợp thứ hai là lưu trữ một dịch vụ nội bộ trên Internet, chẳng hạn như máy chủ thư, trang Web hoặc FTP. Lưu trữ một dịch vụ như vậy thường được gọi là dịch cổng hoặc xuất bản máy chủ. Việc triển khai dịch cổng khác nhau giữa các nhà cung cấp tường lửa, nhưng nguyên tắc cơ bản là giống nhau. Quản trị viên xác định một dịch vụ, chẳng hạn như cổng TCP 80 cho máy chủ Web và máy chủ phụ trợ để lưu trữ dịch vụ. Nếu các gói đi vào tường lửa thông qua giao diện bên ngoài tương ứng với dịch vụ này thì cơ chế dịch cổng sẽ chuyển tiếp chúng đến một máy tính cụ thể trên mạng ẩn sau tường lửa. Dịch cổng được sử dụng cùng với dịch vụ NAT được mô tả bên dưới.

NAT cơ bản

Với NAT, nhiều máy tính trong một công ty có thể chia sẻ một không gian địa chỉ IP công cộng nhỏ. Máy chủ DHCP của công ty có thể phân bổ địa chỉ IP từ một trong các khối địa chỉ IP riêng tư, không thể định tuyến trên Internet được xác định trong Yêu cầu Nhận xét (RFC) số 1918. Nhiều công ty cũng có thể chia sẻ cùng một không gian địa chỉ IP riêng tư. Ví dụ về mạng con IP riêng là 10.0.0.0/8, 172.16.0.0/12 và 192.168.0.0/16. Bộ định tuyến Internet chặn mọi gói được chuyển đến một trong các địa chỉ riêng. NAT là một tính năng tường lửa cho phép các công ty sử dụng địa chỉ IP riêng để liên lạc với các máy tính khác trên Internet. Tường lửa biết cách chuyển lưu lượng truy cập đến và đi thành địa chỉ IP nội bộ riêng tư để mọi máy tính đều có thể truy cập Internet.

Một cổng trong mạng máy tính là điểm cuối của giao tiếp trong hệ điều hành. Thuật ngữ này cũng áp dụng cho các thiết bị phần cứng, nhưng trong phần mềm, nó đề cập đến một cấu trúc logic xác định một loại dịch vụ hoặc quy trình cụ thể. Một cổng luôn được liên kết với địa chỉ IP hoặc loại giao thức truyền thông của máy chủ. Nó hoàn thành việc gán địa chỉ phiên. Một cổng được xác định cho mỗi giao thức và địa chỉ bằng số 16 bit, còn được gọi là số cổng. Thông thường số cổng cụ thể được sử dụng để xác định các dịch vụ cụ thể. Trong số hàng nghìn số được liệt kê, 1.024 số đã biết được bảo vệ theo một thỏa thuận đặc biệt. Họ xác định các loại dịch vụ cụ thể trên máy chủ. Các giao thức chủ yếu sử dụng cổng được sử dụng để kiểm soát các tiến trình. Một ví dụ là Giao thức điều khiển truyền (TCP) hoặc Giao thức gói dữ liệu người dùng từ bộ giao thức Internet.

Nghĩa

Cổng TCP không cần thiết trên các liên kết điểm-điểm trực tiếp trong đó các máy tính ở mỗi đầu chỉ có thể chạy một chương trình tại một thời điểm. Nhu cầu về chúng nảy sinh sau khi những chiếc máy này hóa ra có khả năng thực hiện nhiều chương trình cùng một lúc. Họ thấy mình được kết nối với các mạng chuyển mạch gói hiện đại. Trong mô hình kiến ​​trúc máy khách-máy chủ, các cổng, ứng dụng và máy khách mạng được kết nối để khởi tạo dịch vụ. Họ cung cấp dịch vụ ghép kênh sau khi trao đổi thông tin ban đầu được liên kết với số cổng. Nó được giải phóng bằng cách chuyển từng trường hợp phục vụ yêu cầu sang một đường dây chuyên dụng. Một kết nối được thực hiện đến một số cụ thể. Nhờ đó, khách hàng bổ sung có thể được phục vụ mà không phải chờ đợi.

Chi tiết

Các giao thức truyền dữ liệu UDP và TCP được sử dụng để chỉ ra số cổng đích và cổng nguồn trong tiêu đề phân đoạn của chúng. Số cổng là số 16 bit không dấu. Nó có thể nằm trong khoảng từ 0 đến 65535. Tuy nhiên, các cổng TCP không thể sử dụng số 0. Đối với UDP, cổng nguồn là không cần thiết. Giá trị bằng 0 nghĩa là không có nó. Quá trình này kết nối các kênh đầu vào hoặc đầu ra bằng giao thức truyền tải, số cổng và địa chỉ IP qua ổ cắm Internet. Quá trình này còn được gọi là ràng buộc. Nó cho phép nhận và truyền thông tin qua mạng. Phần mềm mạng của hệ điều hành được sử dụng để truyền dữ liệu đi từ tất cả các cổng ứng dụng tới mạng. Nó cũng chuyển tiếp các gói mạng đến bằng cách khớp số và địa chỉ IP. Chỉ một quy trình có thể được liên kết với một địa chỉ IP và kết hợp cổng cụ thể bằng cách sử dụng cùng một giao thức truyền tải. Sự cố ứng dụng, còn gọi là xung đột ứng dụng, xảy ra khi nhiều chương trình cố gắng giao tiếp với cùng số cổng trên cùng một địa chỉ IP bằng cùng một giao thức.

Chúng được sử dụng như thế nào?

Các ứng dụng triển khai dịch vụ chia sẻ thường sử dụng danh sách cổng UDP và TCP được đặt trước và đã biết đặc biệt để chấp nhận các yêu cầu dịch vụ máy khách. Quá trình này còn được gọi là lắng nghe. Nó liên quan đến việc nhận yêu cầu từ một cổng phổ biến và thiết lập cuộc trò chuyện trực tiếp giữa máy khách và máy chủ bằng cùng một số cổng cục bộ. Các khách hàng khác có thể tiếp tục kết nối. Điều này có thể thực hiện được vì kết nối TCP được xác định là một chuỗi bao gồm các cổng và địa chỉ cục bộ và từ xa. Các cổng UDP và TCP tiêu chuẩn có thể được xác định theo thỏa thuận dưới sự kiểm soát của IANA hoặc Cơ quan cấp số hiệu Internet. Thông thường, các dịch vụ mạng lõi, đặc biệt là World Wide Web, sử dụng số cổng nhỏ, dưới 1024. Trên nhiều hệ điều hành, các ứng dụng yêu cầu các đặc quyền đặc biệt để liên kết với chúng. Vì lý do này, chúng thường được coi là quan trọng đối với hoạt động của mạng IP. Mặt khác, máy khách cuối của kết nối có xu hướng sử dụng số lượng lớn hơn trong số chúng, được phân bổ để sử dụng trong thời gian ngắn. Vì lý do này, cái gọi là cổng phù du tồn tại.

Kết cấu

Các cổng TCP được mã hóa trong tiêu đề gói của gói truyền tải. Chúng có thể dễ dàng được giải thích không chỉ bởi các PC nhận và truyền mà còn bởi các thành phần khác của cơ sở hạ tầng mạng. Tường lửa nói riêng thường được cấu hình để phân biệt giữa các gói dựa trên số cổng đích và nguồn của chúng. Một ví dụ cổ điển về điều này là chuyển hướng. Cố gắng kết nối tuần tự với nhiều cổng trên cùng một máy tính còn được gọi là quét cổng. Các quy trình như vậy thường liên quan đến các lần thử lỗi cố ý hoặc thực tế là các quản trị viên mạng đang đặc biệt tìm kiếm các lỗ hổng có thể xảy ra để ngăn chặn các cuộc tấn công như vậy. Các hành động nhằm mở cổng TCP được ghi lại và điều khiển bằng máy tính. Kỹ thuật này sử dụng một số kết nối dự phòng để đảm bảo liên lạc với máy chủ không bị gián đoạn.

Ví dụ về việc sử dụng

Ví dụ chính trong đó các cổng UDP và TCP được sử dụng tích cực là hệ thống thư Internet. Máy chủ được sử dụng để làm việc với email. Nhìn chung nó cần hai dịch vụ. Dịch vụ đầu tiên được sử dụng để vận chuyển qua email và từ các máy chủ khác. Điều này đạt được bằng cách sử dụng Giao thức truyền thư đơn giản (SMTP). Ứng dụng dịch vụ SMTP thường lắng nghe trên cổng TCP số 25 để xử lý các yêu cầu đến. Một dịch vụ khác là POP hoặc IMAP. Chúng được yêu cầu đối với các ứng dụng email client trên máy của người dùng để nhận email từ máy chủ. Dịch vụ POP nghe số trên cổng TCP 110. Tất cả các dịch vụ trên có thể chạy trên cùng một máy chủ. Số cổng, khi điều này xảy ra, sẽ phân biệt dịch vụ được yêu cầu bởi thiết bị từ xa. Nếu số cổng nghe của máy chủ được xác định chính xác thì tham số này cho máy khách sẽ được xác định từ dải động. Trong một số trường hợp, máy khách và máy chủ riêng biệt sử dụng các cổng TCP cụ thể được chỉ định trong IANA. Một ví dụ điển hình là DHCP. Ở đây, máy khách trong mọi trường hợp đều sử dụng UDP 68 và máy chủ sử dụng UDP 67.

Cách sử dụng trong URL

Đôi khi số cổng được hiển thị rõ ràng trên Internet hoặc các bộ định vị tài nguyên thống nhất khác, chẳng hạn như URL. HTTP theo mặc định sử dụng cổng TCP 80 và HTTPS sử dụng cổng 443. Ngoài ra còn có các biến thể khác. Vì vậy, ví dụ: URL http://www.example.com:8080/path chỉ ra rằng trình duyệt web đang kết nối với 8080 thay vì máy chủ HTTP.

Danh sách các cổng UDP và TCP

Như đã lưu ý trước đó, IANA hoặc Cơ quan quản lý số được chỉ định của InternetA, chịu trách nhiệm điều phối toàn cầu về DNS-Root, địa chỉ IP và các tài nguyên Giao thức Internet khác. Các quy trình này bao gồm việc đăng ký các cổng được sử dụng thường xuyên cho các dịch vụ Internet đã biết. Tất cả các số cổng được chia thành ba phạm vi: nổi tiếng, đã đăng ký và riêng tư hoặc động. Các cổng phổ biến là những cổng có số từ 0 đến 1023. Chúng còn được gọi là cổng hệ thống. Yêu cầu đối với các giá trị mới trong phạm vi này nghiêm ngặt hơn so với các đăng ký khác.

Ví dụ

Ví dụ về các cổng trong danh sách đã biết bao gồm:

  • Cổng TCP 443 – HTTPS;
  • 21 – Giao thức truyền tệp;
  • 22- Vỏ an toàn;
  • 25 – giao thức truyền thư đơn giản STMP;
  • 53 – hệ thống tên miền DNS;
  • 119 – Giao thức truyền tin tức mạng hoặc NNTP;
  • 80 – Giao thức truyền siêu văn bản HTTP;
  • 143 – Giao thức truy cập tin nhắn Internet;
  • 123 – Giao thức thời gian mạng NTP;
  • 161 - giao thức quản lý mạng đơn giản SNMP.

Các cổng đã đăng ký phải có số từ 1024 đến 49151. Cơ quan cấp số hiệu Internet duy trì một danh sách chính thức về tất cả các phạm vi đã biết và đã đăng ký. Các cổng tần số hoặc động nằm trong khoảng từ 29152 đến 65535. Một ứng dụng của phạm vi này là các cổng tạm thời.

Lịch sử sáng tạo

Khái niệm về số cổng được phát triển bởi những người tạo ra ARPANET đầu tiên. Nó được phát triển thông qua sự hợp tác không chính thức giữa các tác giả phần mềm và quản trị viên hệ thống. Vào thời điểm đó, thuật ngữ "số cổng" vẫn chưa được sử dụng. Chuỗi số máy chủ từ xa là số 40 bit. 32 bit đầu tiên giống với địa chỉ IPv4 ngày nay. Những cái quan trọng nhất là 8 bit đầu tiên. Phần ít quan trọng hơn của số (đây là các bit từ 33 đến 40) được chỉ định một đối tượng gọi là AEN. Đó là nguyên mẫu của số cổng hiện đại. Việc tạo ra một thư mục số socket được đề xuất lần đầu tiên vào ngày 26 tháng 3 năm 1972. Sau đó, các quản trị viên mạng được yêu cầu mô tả từng số cố định về các dịch vụ mạng và chức năng của nó. Danh mục này sau đó được xuất bản dưới dạng RFC 433 vào mùa đông năm 1972. Nó bao gồm danh sách các máy chủ, số cổng của chúng và chức năng tương ứng được sử dụng trong mỗi nút trên mạng. Giá trị số cổng chính thức đầu tiên được ghi nhận vào tháng 5 năm 1972. Đồng thời, một chức năng hành chính đặc biệt để duy trì sổ đăng ký này đã được đề xuất. Danh sách cổng TCP đầu tiên bao gồm 256 giá trị AEN, được chia thành các phạm vi sau:

— từ 0 đến 63 – chức năng tiêu chuẩn của toàn bộ mạng;

— từ 64 đến 127 – các chức năng dành riêng cho máy chủ;

— từ 128 đến 239 – các chức năng được dành riêng để sử dụng trong tương lai;

— từ 240 đến 255 – bất kỳ hàm thử nghiệm nào.

Thuật ngữ AEN, trong những ngày đầu của ARPANET, cũng dùng để chỉ tên của ổ cắm được sử dụng với giao thức kết nối ban đầu và thành phần chương trình quản lý mạng hoặc NCP. Trong trường hợp này, NCP đại diện cho tiền thân của các giao thức Internet hiện đại sử dụng cổng TCP/IP.

Giao thức TCP/IP là nền tảng của Internet, qua đó các máy tính gửi và nhận thông tin từ mọi nơi trên thế giới, bất kể vị trí địa lý. Truy cập máy tính TCP/IP ở một quốc gia khác cũng dễ dàng như truy cập máy tính ở phòng bên cạnh. Quy trình truy cập giống hệt nhau trong cả hai trường hợp, mặc dù việc kết nối với máy ở quốc gia khác có thể mất thêm vài mili giây. Kết quả là công dân của bất kỳ quốc gia nào cũng có thể dễ dàng mua sắm trên Amazon.com; tuy nhiên, do sự gần gũi về mặt logic, nhiệm vụ bảo mật thông tin trở nên phức tạp hơn: bất kỳ chủ sở hữu máy tính nào được kết nối Internet ở bất kỳ đâu trên thế giới đều có thể cố gắng thiết lập kết nối trái phép với bất kỳ máy nào khác.

Các chuyên gia CNTT có trách nhiệm cài đặt tường lửa và hệ thống để phát hiện lưu lượng truy cập đáng ngờ. Phân tích gói lấy thông tin về địa chỉ IP nguồn và đích cũng như các cổng mạng liên quan. Giá trị của cổng mạng không thua kém địa chỉ IP; đây là những tiêu chí quan trọng nhất để phân biệt lưu lượng truy cập hữu ích với các tin nhắn giả mạo và có hại vào và ra khỏi mạng. Hầu hết lưu lượng truy cập mạng Internet bao gồm các gói TCP và UDP, chứa thông tin về các cổng mạng mà máy tính sử dụng để định tuyến lưu lượng truy cập từ ứng dụng này sang ứng dụng khác. Điều kiện tiên quyết đối với tường lửa và bảo mật mạng là quản trị viên phải hiểu rõ về cách máy tính và thiết bị mạng sử dụng các cổng này.

Nghiên cứu cảng

Kiến thức về các nguyên tắc cơ bản hoạt động của cổng mạng sẽ hữu ích cho bất kỳ quản trị viên hệ thống nào. Với sự hiểu biết cơ bản về cổng TCP và UDP, quản trị viên có thể chẩn đoán độc lập một ứng dụng mạng bị lỗi hoặc bảo vệ máy tính truy cập Internet mà không cần gọi cho kỹ sư mạng hoặc nhà tư vấn tường lửa.

Phần đầu tiên của bài viết này (gồm hai phần) mô tả các khái niệm cơ bản cần thiết để thảo luận về cổng mạng. Vị trí của các cổng mạng trong mô hình mạng chung và vai trò của các cổng mạng và tường lửa NAT (Dịch địa chỉ mạng) trong các kết nối của máy tính công ty với Internet sẽ được hiển thị. Cuối cùng, các điểm mạng sẽ được chỉ định tại đó thuận tiện cho việc xác định và lọc lưu lượng mạng trên các cổng mạng tương ứng. Phần 2 xem xét một số cổng được sử dụng bởi các ứng dụng và hệ điều hành phổ biến và giới thiệu một số công cụ tìm cổng mạng mở.

Tổng quan ngắn gọn về các giao thức mạng

TCP/IP là một tập hợp các giao thức mạng thông qua đó các máy tính giao tiếp với nhau. Bộ TCP/IP không gì khác hơn là những đoạn mã phần mềm được cài đặt trong hệ điều hành cung cấp quyền truy cập vào các giao thức này. TCP/IP là một tiêu chuẩn, vì vậy các ứng dụng TCP/IP trên máy Windows phải giao tiếp thành công với cùng một ứng dụng trên máy UNIX. Trong những ngày đầu của mạng, vào năm 1983, các kỹ sư đã phát triển mô hình kết nối OSI bảy lớp để mô tả các quy trình mạng máy tính, từ cáp đến ứng dụng. Mô hình OSI bao gồm các lớp vật lý, liên kết dữ liệu, mạng, truyền tải, phiên và ứng dụng. Các quản trị viên thường xuyên làm việc với Internet và TCP/IP chủ yếu xử lý các lớp mạng, truyền tải và ứng dụng, nhưng để chẩn đoán thành công cần phải biết các lớp khác. Mặc dù mô hình OSI đã cũ nhưng nó vẫn được nhiều chuyên gia sử dụng. Ví dụ: khi một kỹ sư mạng nói về các bộ chuyển mạch Lớp 1 hoặc Lớp 2 hoặc nhà cung cấp tường lửa nói về điều khiển Lớp 7, họ đang nói về các lớp được xác định trong mô hình OSI.

Bài viết này nói về các cổng mạng nằm ở lớp 4 - vận chuyển. Trong bộ TCP/IP, các cổng này được sử dụng bởi các giao thức TCP và UDP. Nhưng trước khi đi vào chi tiết về một lớp, điều quan trọng là phải xem nhanh bảy lớp OSI và vai trò của chúng trong các mạng TCP/IP hiện đại.

Lớp 1 và 2: Cáp vật lý và địa chỉ MAC

Lớp 1, vật lý, đại diện cho môi trường thực tế mà tín hiệu truyền qua, chẳng hạn như cáp đồng, cáp quang hoặc tín hiệu vô tuyến (trong trường hợp Wi-Fi). Lớp 2, liên kết dữ liệu, mô tả định dạng dữ liệu để truyền trong môi trường vật lý. Ở Lớp 2, các gói được tổ chức thành các khung và các chức năng xử lý lỗi và kiểm soát luồng cơ bản có thể được thực hiện. Tiêu chuẩn IEEE 802.3, hay còn gọi là Ethernet, là tiêu chuẩn Lớp 2 phổ biến nhất cho các mạng cục bộ hiện đại. Bộ chuyển mạch mạng thông thường là thiết bị Lớp 2, qua đó nhiều máy tính kết nối vật lý và trao đổi dữ liệu với nhau. Đôi khi, hai máy tính không thể kết nối với nhau mặc dù địa chỉ IP có vẻ chính xác, sự cố có thể do lỗi trong bộ nhớ đệm Giao thức phân giải địa chỉ (ARP), cho thấy có sự cố ở Lớp 2. Ngoài ra, một số điểm truy cập không dây (Access) Point, AP) cung cấp tính năng lọc địa chỉ MAC, chỉ cho phép các bộ điều hợp mạng có địa chỉ MAC cụ thể kết nối với AP không dây.

Lớp 3 và 4: Địa chỉ IP và cổng mạng

Lớp 3, mạng, hỗ trợ định tuyến. Trong TCP/IP, việc định tuyến được thực hiện trong IP. Địa chỉ IP của gói thuộc Lớp 3. Bộ định tuyến mạng là thiết bị Lớp 3 phân tích địa chỉ IP gói và chuyển tiếp gói đến bộ định tuyến khác hoặc phân phối gói đến máy tính cục bộ. Nếu phát hiện một gói đáng ngờ trên mạng, bước đầu tiên là kiểm tra địa chỉ IP của gói để xác định nguồn gốc của gói.

Cùng với lớp mạng, lớp 4 (vận chuyển) là điểm khởi đầu tốt để chẩn đoán các sự cố mạng. Trên Internet, Lớp 4 chứa các giao thức TCP và UDP cũng như thông tin về cổng mạng liên kết gói với một ứng dụng cụ thể. Ngăn xếp mạng của máy tính sử dụng liên kết cổng mạng TCP hoặc UDP với một ứng dụng để hướng lưu lượng mạng đến ứng dụng đó. Ví dụ: cổng TCP 80 được liên kết với ứng dụng máy chủ Web. Việc ánh xạ các cổng tới các ứng dụng này được gọi là một dịch vụ.

TCP và UDP là khác nhau. Về cơ bản, TCP cung cấp kết nối đáng tin cậy để liên lạc giữa hai ứng dụng. Trước khi bắt đầu giao tiếp, hai ứng dụng phải thiết lập kết nối bằng cách hoàn tất quy trình bắt tay TCP ba bước. UDP là một cách tiếp cận dễ quên hơn. Độ tin cậy của kết nối đối với các ứng dụng TCP được đảm bảo bởi giao thức, nhưng ứng dụng UDP phải kiểm tra độc lập độ tin cậy của kết nối.

Cổng mạng là một số từ 1 đến 65535 được chỉ định và biết cho cả hai ứng dụng mà giao tiếp đang được thiết lập. Ví dụ: một máy khách thường gửi yêu cầu không được mã hóa đến máy chủ tại địa chỉ đích trên cổng TCP 80. Thông thường, máy tính sẽ gửi yêu cầu DNS đến máy chủ DNS tại địa chỉ đích trên cổng UDP 53. Máy khách và máy chủ có một nguồn và địa chỉ IP đích cũng như cổng mạng nguồn và đích, có thể khác nhau. Trong lịch sử, tất cả các số cổng dưới 1024 được gọi là "số cổng đã biết" và được đăng ký với Cơ quan cấp số hiệu Internet (IANA). Trên một số hệ điều hành, chỉ các tiến trình hệ thống mới có thể sử dụng các cổng trong phạm vi này. Ngoài ra, các tổ chức có thể đăng ký cổng 1024 đến 49151 với IANA để liên kết cổng với ứng dụng của họ. Việc đăng ký này cung cấp một cấu trúc giúp tránh xung đột giữa các ứng dụng cố gắng sử dụng cùng một số cổng. Tuy nhiên, nói chung, không có gì ngăn cản ứng dụng yêu cầu một cổng cụ thể miễn là nó không bị chiếm bởi một chương trình đang hoạt động khác.

Về mặt lịch sử, máy chủ có thể lắng nghe trên các cổng được đánh số thấp và máy khách có thể bắt đầu kết nối trên cổng được đánh số cao (trên 1024). Ví dụ: máy khách Web có thể mở kết nối đến máy chủ Web trên cổng đích 80, nhưng liên kết một cổng nguồn được chọn ngẫu nhiên, chẳng hạn như cổng TCP 1025. Khi phản hồi máy khách, máy chủ Web sẽ gửi gói tin tới máy khách bằng nguồn cổng 80 và cổng đích 1025. Sự kết hợp giữa địa chỉ IP và cổng được gọi là ổ cắm và phải là duy nhất trên máy tính. Vì lý do này, khi thiết lập một máy chủ Web có hai trang Web riêng biệt trên cùng một máy tính, bạn phải sử dụng nhiều địa chỉ IP, chẳng hạn như address1:80 và address2:80 hoặc định cấu hình máy chủ Web để nghe trên nhiều cổng mạng, chẳng hạn như như địa chỉ 1:80 và địa chỉ 1:81. Một số máy chủ Web cho phép nhiều trang Web chạy trên một cổng bằng cách yêu cầu tiêu đề máy chủ, nhưng chức năng này thực sự được thực hiện bởi ứng dụng máy chủ Web ở lớp 7 cao hơn.

Khi khả năng kết nối mạng trở nên khả dụng trong các hệ điều hành và ứng dụng, các lập trình viên bắt đầu sử dụng số cổng cao hơn 1024 mà không đăng ký tất cả các ứng dụng với IANA. Bằng cách tìm kiếm trên Internet bất kỳ cổng mạng nào, bạn thường có thể nhanh chóng tìm thấy thông tin về các ứng dụng sử dụng cổng đó. Hoặc bạn có thể tìm kiếm Cổng nổi tiếng và tìm nhiều trang web liệt kê các cổng phổ biến nhất.

Khi chặn các ứng dụng mạng trên máy tính hoặc khắc phục lỗi tường lửa, phần lớn công việc đến từ việc phân loại và lọc địa chỉ IP Lớp 3 cũng như các giao thức và cổng mạng Lớp 4. Để nhanh chóng phân biệt giữa lưu lượng truy cập hợp pháp và đáng ngờ, bạn nên học cách nhận biết 20 lưu lượng truy cập phổ biến nhất. được sử dụng rộng rãi trong các cổng TCP và UDP của doanh nghiệp.

Học cách nhận biết và làm quen với các cổng mạng không chỉ dừng lại ở việc gán các quy tắc tường lửa. Ví dụ: một số bản vá bảo mật của Microsoft mô tả cách đóng cổng NetBIOS. Biện pháp này giúp hạn chế sự lây lan của sâu xâm nhập qua các lỗ hổng trong hệ điều hành. Biết cách thức và vị trí đóng các cổng này có thể giúp giảm rủi ro bảo mật mạng trong khi chuẩn bị triển khai bản vá quan trọng.

Và thẳng tới cấp 7

Ngày nay, hiếm khi nghe về Lớp 5 (phiên) và Lớp 6 (bản trình bày), nhưng Lớp 7 (ứng dụng) là một chủ đề nóng giữa các nhà cung cấp tường lửa. Xu hướng mới nhất trong tường lửa mạng là kiểm tra Lớp 7, mô tả các kỹ thuật được sử dụng để phân tích cách ứng dụng tương tác với các giao thức mạng. Bằng cách phân tích tải trọng của gói mạng, tường lửa có thể xác định xem lưu lượng truy cập đi qua nó có hợp pháp hay không. Ví dụ: một yêu cầu Web chứa câu lệnh GET bên trong gói Lớp 4 (cổng TCP 80). Nếu tường lửa của bạn có chức năng Lớp 7, bạn có thể xác minh rằng câu lệnh GET là chính xác. Một ví dụ khác là nhiều chương trình chia sẻ tệp ngang hàng (P2P) có thể chiếm quyền điều khiển cổng 80. Kết quả là người ngoài có thể định cấu hình chương trình để sử dụng cổng mà họ chọn - rất có thể là cổng nên được để mở trong một tường lửa nhất định. Nếu nhân viên của công ty cần truy cập Internet, cổng 80 phải được mở, nhưng để phân biệt lưu lượng Web hợp pháp với lưu lượng P2P do ai đó hướng đến cổng 80, tường lửa phải cung cấp khả năng kiểm soát lớp 7.

Vai trò của tường lửa

Sau khi mô tả các lớp mạng, chúng ta có thể chuyển sang mô tả cơ chế giao tiếp giữa các ứng dụng mạng thông qua tường lửa, đặc biệt chú ý đến các cổng mạng được sử dụng. Trong ví dụ sau, trình duyệt máy khách giao tiếp với máy chủ Web ở phía bên kia tường lửa, giống như nhân viên công ty giao tiếp với máy chủ Web trên Internet.

Hầu hết các tường lửa Internet hoạt động ở lớp 3 và 4 để kiểm tra và sau đó cho phép hoặc chặn lưu lượng mạng đến và đi. Nói chung, quản trị viên viết danh sách kiểm soát truy cập (ACL) xác định địa chỉ IP và cổng mạng của lưu lượng truy cập bị chặn hoặc cho phép. Ví dụ: để truy cập Web, bạn cần khởi chạy trình duyệt và trỏ nó vào trang Web. Máy tính bắt đầu kết nối đi bằng cách gửi một chuỗi các gói IP bao gồm thông tin tiêu đề và tải trọng. Tiêu đề chứa thông tin tuyến đường và các thuộc tính gói khác. Các quy tắc tường lửa thường được viết có lưu ý đến thông tin định tuyến và thường chứa địa chỉ IP nguồn và đích (lớp 3) và giao thức gói (lớp 4). Khi duyệt Web, địa chỉ IP đích thuộc về máy chủ Web, giao thức và cổng đích (theo mặc định) là TCP 80. Địa chỉ IP nguồn là địa chỉ của máy tính mà người dùng truy cập Web và nguồn cổng thường là số được gán động, lớn hơn 1024. Thông tin hữu ích không phụ thuộc vào tiêu đề và được tạo bởi ứng dụng người dùng; trong trường hợp này, đó là yêu cầu máy chủ Web cung cấp một trang Web.

Tường lửa phân tích lưu lượng đi và cho phép nó theo các quy tắc tường lửa. Nhiều công ty cho phép tất cả lưu lượng truy cập đi từ mạng của họ. Cách tiếp cận này đơn giản hóa việc cấu hình và triển khai nhưng làm giảm tính bảo mật do thiếu quyền kiểm soát dữ liệu rời khỏi mạng. Ví dụ: một con ngựa Trojan có thể lây nhiễm một máy tính trên mạng doanh nghiệp và gửi thông tin từ máy tính đó đến một máy tính khác trên Internet. Sẽ rất hợp lý khi tạo danh sách kiểm soát truy cập để chặn những thông tin gửi đi như vậy.

Ngược lại với cách tiếp cận gửi đi của nhiều tường lửa, hầu hết đều được cấu hình để chặn lưu lượng truy cập đến. Thông thường, tường lửa chỉ cho phép lưu lượng truy cập đến trong hai trường hợp. Đầu tiên là lưu lượng truy cập đến để đáp ứng yêu cầu gửi đi của người dùng trước đó. Ví dụ: nếu bạn trỏ trình duyệt của mình tới địa chỉ của một trang Web, tường lửa sẽ cho phép mã HTML và các thành phần khác của trang Web xâm nhập vào mạng. Trường hợp thứ hai là lưu trữ một dịch vụ nội bộ trên Internet, chẳng hạn như máy chủ thư, trang Web hoặc FTP. Lưu trữ một dịch vụ như vậy thường được gọi là dịch cổng hoặc xuất bản máy chủ. Việc triển khai dịch cổng khác nhau giữa các nhà cung cấp tường lửa, nhưng nguyên tắc cơ bản là giống nhau. Quản trị viên xác định một dịch vụ, chẳng hạn như cổng TCP 80 cho máy chủ Web và máy chủ phụ trợ để lưu trữ dịch vụ. Nếu các gói đi vào tường lửa thông qua giao diện bên ngoài tương ứng với dịch vụ này thì cơ chế dịch cổng sẽ chuyển tiếp chúng đến một máy tính cụ thể trên mạng ẩn sau tường lửa. Dịch cổng được sử dụng cùng với dịch vụ NAT được mô tả bên dưới.

NAT cơ bản

Với NAT, nhiều máy tính trong một công ty có thể chia sẻ một không gian địa chỉ IP công cộng nhỏ. Máy chủ DHCP của công ty có thể phân bổ địa chỉ IP từ một trong các khối địa chỉ IP riêng tư, không thể định tuyến trên Internet được xác định trong Yêu cầu Nhận xét (RFC) số 1918. Nhiều công ty cũng có thể chia sẻ cùng một không gian địa chỉ IP riêng tư. Ví dụ về mạng con IP riêng là 10.0.0.0/8, 172.16.0.0/12 và 192.168.0.0/16. Bộ định tuyến Internet chặn mọi gói được chuyển đến một trong các địa chỉ riêng. NAT là một tính năng tường lửa cho phép các công ty sử dụng địa chỉ IP riêng để liên lạc với các máy tính khác trên Internet. Tường lửa biết cách chuyển lưu lượng truy cập đến và đi thành địa chỉ IP nội bộ riêng tư để mọi máy tính đều có thể truy cập Internet.

Trong bộ lễ phục. Hình 1 thể hiện kết nối NAT cơ bản giữa máy khách và máy chủ Web. Trong Giai đoạn 1, lưu lượng truy cập hướng tới Internet từ một máy tính trong mạng công ty sẽ đi vào giao diện bên trong của tường lửa. Tường lửa nhận gói tin và tạo một mục trong bảng theo dõi kết nối, bảng này kiểm soát việc dịch địa chỉ. Sau đó, tường lửa sẽ thay thế địa chỉ nguồn riêng của gói bằng địa chỉ IP công cộng bên ngoài của chính nó và gửi gói đến đích trên Internet (bước 2). Máy tính đích nhận gói và chuyển tiếp phản hồi tới tường lửa (bước 3). Khi tường lửa nhận được gói này, nó sẽ tra cứu nguồn của gói gốc trong bảng theo dõi kết nối, thay thế địa chỉ IP đích bằng địa chỉ IP riêng tương ứng và chuyển tiếp gói đến máy tính nguồn (bước 4). Vì tường lửa gửi các gói thay mặt cho tất cả các máy tính nội bộ nên nó thay đổi cổng mạng nguồn và thông tin này được lưu trữ trong bảng theo dõi kết nối của tường lửa. Điều này là cần thiết để đảm bảo rằng các ổ cắm đi vẫn là duy nhất.

Điều quan trọng là phải hiểu cách NAT hoạt động vì NAT thay đổi địa chỉ IP và cổng mạng của gói lưu lượng. Sự hiểu biết này giúp chẩn đoán lỗi. Ví dụ: có thể hiểu rõ tại sao cùng một lưu lượng truy cập có thể có các địa chỉ IP và cổng mạng khác nhau trên giao diện bên ngoài và bên trong của tường lửa.

Đầu tiên là nền móng, sau đó là kết cấu

Việc hiểu các nguyên tắc mạng cơ bản từ phía ứng dụng, tường lửa và cổng không chỉ dành cho các kỹ sư mạng. Ngày nay, hiếm khi tìm thấy một hệ thống máy tính không được kết nối với mạng và ngay cả quản trị viên hệ thống cũng có thể giải quyết vấn đề của họ dễ dàng hơn nhiều bằng cách hiểu ít nhất những điều cơ bản về cách sử dụng cổng mạng để giao tiếp các ứng dụng qua Internet.

Phần thứ hai của bài viết sẽ xem xét các công cụ phát hiện ứng dụng trên mạng bằng cách phân tích các cổng mạng liên quan. Để tìm các ứng dụng mở cổng nghe và có thể truy cập qua mạng, máy tính sẽ được thăm dò qua mạng (quét cổng) và cục bộ (quét máy chủ). Ngoài ra, bằng cách xem nhật ký tường lửa, bạn có thể kiểm tra lưu lượng mạng vượt qua ranh giới mạng và xem xét các cổng mạng khác nhau được ứng dụng Windows và UNIX sử dụng.

Cổng mạng có thể cung cấp thông tin quan trọng về các ứng dụng truy cập máy tính qua mạng. Bằng cách biết các ứng dụng sử dụng mạng và các cổng mạng tương ứng, bạn có thể tạo các quy tắc tường lửa chính xác và định cấu hình máy chủ để chỉ cho phép lưu lượng truy cập hữu ích. Bằng cách xây dựng cấu hình mạng và triển khai các công cụ nhận dạng lưu lượng mạng, bạn có thể phát hiện những kẻ xâm nhập hiệu quả hơn - đôi khi chỉ đơn giản bằng cách phân tích lưu lượng mạng mà chúng tạo ra. Chúng tôi bắt đầu xem xét chủ đề này trong phần đầu tiên của bài viết đăng trên số trước của tạp chí. Nó cung cấp thông tin cơ bản về các cổng TCP/IP làm nền tảng cho bảo mật mạng. Phần 2 sẽ mô tả một số phương pháp mạng và máy chủ có thể được sử dụng để xác định các ứng dụng đang nghe trên mạng. Phần sau của bài viết chúng ta sẽ nói về cách đánh giá lưu lượng truy cập đi qua mạng.

Chặn các ứng dụng mạng

Bề mặt tấn công mạng là một thuật ngữ phổ biến để mô tả lỗ hổng mạng. Nhiều cuộc tấn công mạng diễn ra thông qua các ứng dụng dễ bị tấn công và bề mặt tấn công có thể giảm đáng kể bằng cách giảm số lượng ứng dụng đang hoạt động trên mạng. Nói cách khác, bạn nên vô hiệu hóa các dịch vụ không sử dụng, cài đặt tường lửa trên hệ thống chuyên dụng để kiểm tra tính hợp pháp của lưu lượng truy cập và tạo danh sách kiểm soát truy cập (ACL) toàn diện cho tường lửa ở chu vi mạng.

Mỗi cổng mạng mở đại diện cho một ứng dụng đang lắng nghe trên mạng. Bề mặt tấn công của mỗi máy chủ được kết nối với mạng có thể được giảm thiểu bằng cách vô hiệu hóa tất cả các ứng dụng và dịch vụ mạng không cần thiết. Windows Server 2003 vượt trội hơn so với các phiên bản trước của hệ điều hành vì theo mặc định, nó cho phép ít dịch vụ mạng hơn. Tuy nhiên, việc kiểm tra vẫn cần thiết để phát hiện các ứng dụng mới cài đặt và các thay đổi cấu hình mở ra các cổng mạng không cần thiết.

Mỗi cổng mở đều là cửa hậu tiềm năng để kẻ tấn công khai thác khoảng trống trong ứng dụng máy chủ hoặc lén lút truy cập ứng dụng bằng tên và mật khẩu của người dùng khác (hoặc sử dụng phương thức xác thực hợp pháp khác). Dù bằng cách nào, bước quan trọng đầu tiên để bảo vệ mạng của bạn chỉ đơn giản là vô hiệu hóa các ứng dụng mạng không sử dụng.

Quét cổng

Quét cổng là quá trình phát hiện các ứng dụng đang nghe bằng cách chủ động thăm dò các cổng mạng của máy tính hoặc thiết bị mạng khác. Khả năng đọc kết quả quét và so sánh các báo cáo mạng với kết quả thăm dò cổng máy chủ cho phép bạn có được bức tranh rõ ràng về lưu lượng truy cập qua mạng của mình. Kiến thức về cấu trúc liên kết mạng rất quan trọng trong việc chuẩn bị kế hoạch chiến lược để quét các khu vực cụ thể. Ví dụ: bằng cách quét một loạt địa chỉ IP bên ngoài, bạn có thể thu thập dữ liệu có giá trị về kẻ tấn công Internet. Vì vậy, bạn nên quét mạng thường xuyên hơn và đóng tất cả các cổng mạng không cần thiết.

Quét cổng tường lửa bên ngoài có thể phát hiện tất cả các dịch vụ phản hồi (chẳng hạn như Web hoặc email) được lưu trữ trên các máy chủ nội bộ. Những máy chủ này cũng cần được bảo vệ. Định cấu hình trình quét cổng quen thuộc (ví dụ: Network Mapper - Nmap) để quét nhóm cổng UDP hoặc TCP mong muốn. Thông thường, quét cổng TCP đáng tin cậy hơn quét UDP do phản hồi sâu hơn từ các giao thức hướng kết nối của TCP. Có phiên bản Nmap cho cả Windows và Unix. Bắt đầu quét cơ bản thật dễ dàng, mặc dù chương trình cung cấp nhiều tính năng nâng cao hơn. Để tìm các cổng đang mở trên máy tính thử nghiệm, tôi chạy lệnh

Nmap 192.168.0.161

Màn hình 1 hiển thị kết quả của phiên quét - trong trường hợp này là máy tính Windows 2003 có cấu hình tiêu chuẩn. Dữ liệu được thu thập từ quá trình quét cổng cho thấy có sáu cổng TCP đang mở.

Màn hình 1: Phiên quét Nmap cơ bản
  • Cổng 135 được sử dụng bởi tính năng ánh xạ điểm cuối RPC có trong nhiều công nghệ Windows, chẳng hạn như ứng dụng COM/DCOM, DFS, ghi nhật ký sự kiện, sao chép tệp, xếp hàng tin nhắn và Microsoft Outlook. Cổng này đáng lẽ phải bị chặn bởi tường lửa chu vi mạng, nhưng rất khó để chặn nó mà vẫn duy trì chức năng của Windows.
  • Cổng 139 được sử dụng bởi dịch vụ phiên NetBIOS, dịch vụ này cho phép Tìm trình duyệt máy tính khác, Dịch vụ chia sẻ tệp, Đăng nhập mạng và dịch vụ Máy chủ. Rất khó để đóng, giống như cổng 135.
  • Cổng 445 được Windows sử dụng để chia sẻ tệp. Để đóng cổng này, bạn phải chặn Chia sẻ Tệp và Máy in cho Mạng Microsoft. Việc đóng cổng này không ngăn máy tính kết nối với các tài nguyên từ xa khác; tuy nhiên, các máy tính khác sẽ không thể kết nối với hệ thống này.
  • Cổng 1025 và 1026 được mở động và được sử dụng bởi các quy trình hệ thống Windows khác, đặc biệt là các dịch vụ khác nhau.
  • Cổng 3389 được Remote Desktop sử dụng, cổng này không được bật theo mặc định nhưng đang hoạt động trên máy tính thử nghiệm của tôi. Để đóng cổng, hãy chuyển đến tab Từ xa trong hộp thoại Thuộc tính Hệ thống và bỏ chọn hộp kiểm Cho phép người dùng kết nối từ xa với máy tính này.

Hãy nhớ tìm kiếm các cổng UDP đang mở và đóng những cổng không cần thiết. Chương trình quét hiển thị các cổng mở của máy tính có thể nhìn thấy được từ mạng. Kết quả tương tự có thể thu được bằng cách sử dụng các công cụ nằm trên hệ thống máy chủ.

Quét máy chủ

Ngoài việc sử dụng trình quét cổng mạng, có thể phát hiện các cổng mở trên hệ thống máy chủ bằng lệnh sau (chạy trên hệ thống máy chủ):

Netstat -an

Lệnh này hoạt động trên cả Windows và UNIX. Netstat cung cấp danh sách các cổng đang hoạt động trên máy tính. Trên Windows 2003 Windows XP, bạn phải thêm tùy chọn -o để lấy mã định danh chương trình (PID) tương ứng. Hình 2 cho thấy đầu ra Netstat của cùng một máy tính đã được quét cổng trước đó. Xin lưu ý rằng một số cổng hoạt động trước đó đã bị đóng.

Kiểm tra nhật ký tường lửa

Một cách hữu ích khác để phát hiện các ứng dụng mạng đang gửi hoặc nhận dữ liệu qua mạng là thu thập và phân tích thêm dữ liệu trong nhật ký tường lửa. Việc từ chối các mục cung cấp thông tin từ giao diện người dùng của tường lửa dường như không hữu ích do "lưu lượng nhiễu" (ví dụ: sâu, máy quét, kiểm tra ping) làm tắc nghẽn Internet. Nhưng nếu bạn đăng nhập các gói được phép từ giao diện nội bộ, bạn có thể thấy tất cả lưu lượng truy cập mạng đến và đi.

Để xem dữ liệu lưu lượng thô trên mạng của mình, bạn có thể cài đặt bộ phân tích mạng kết nối với mạng và ghi lại tất cả các gói mạng được phát hiện. Trình phân tích mạng miễn phí được sử dụng rộng rãi nhất là Tcpdump cho UNIX (phiên bản Windows có tên là Windump), rất dễ cài đặt trên máy tính của bạn. Sau khi cài đặt chương trình, bạn nên định cấu hình chương trình để hoạt động ở chế độ nhận tất cả các gói mạng để ghi lại tất cả lưu lượng truy cập, sau đó kết nối nó với trình giám sát cổng trên bộ chuyển mạch mạng và giám sát tất cả lưu lượng truy cập đi qua mạng. Việc thiết lập một màn hình cổng sẽ được thảo luận dưới đây. Tcpdump là một chương trình cực kỳ linh hoạt, có thể được sử dụng để xem lưu lượng mạng bằng các bộ lọc chuyên dụng và chỉ hiển thị thông tin về địa chỉ IP và cổng hoặc tất cả các gói. Rất khó để xem kết xuất mạng trên các mạng lớn nếu không có sự trợ giúp của các bộ lọc thích hợp, nhưng phải cẩn thận để không làm mất dữ liệu quan trọng.

Kết hợp các thành phần

Cho đến nay, chúng ta đã xem xét các phương pháp và công cụ khác nhau có thể được sử dụng để phát hiện các ứng dụng sử dụng mạng. Đã đến lúc kết hợp chúng và chỉ ra cách xác định các cổng mạng mở. Thật ngạc nhiên khi thấy các máy tính có thể trò chuyện trên mạng như thế nào! Trước tiên, bạn nên đọc tài liệu của Microsoft “Tổng quan về dịch vụ và các yêu cầu về cổng mạng cho hệ thống Windows Server” ( http://support.microsoft.com/default.aspx?scid=kb;en-us;832017), liệt kê các giao thức (TCP và UDP) và số cổng được sử dụng bởi các ứng dụng và hầu hết các dịch vụ Windows Server cốt lõi. Tài liệu mô tả các dịch vụ này và các cổng mạng liên quan mà chúng sử dụng. Chúng tôi khuyên bạn nên tải xuống và in hướng dẫn tham khảo hữu ích này dành cho quản trị viên mạng Windows.

Thiết lập máy phân tích mạng

Trước đây đã lưu ý rằng một cách để xác định các cổng được ứng dụng sử dụng là giám sát lưu lượng giữa các máy tính bằng máy phân tích mạng. Để xem tất cả lưu lượng truy cập, bạn cần kết nối bộ phân tích mạng với bộ giám sát trung tâm hoặc cổng trên bộ chuyển mạch. Mỗi cổng trên một hub nhìn thấy tất cả lưu lượng truy cập từ mọi máy tính được kết nối với hub đó, nhưng hub là một công nghệ lỗi thời và hầu hết các công ty đang thay thế chúng bằng các switch, mang lại hiệu suất tốt nhưng lại cồng kềnh để phân tích: mỗi cổng switch chỉ chấp nhận lưu lượng truy cập dành cho một máy tính được kết nối với hub tới cổng này. Để phân tích toàn bộ mạng, bạn cần giám sát lưu lượng được gửi đến từng cổng switch.

Điều này yêu cầu thiết lập một trình giám sát cổng (các nhà cung cấp khác nhau gọi nó là cổng span hoặc cổng được nhân đôi) trên switch. Việc cài đặt trình giám sát cổng trên bộ chuyển mạch Cisco Catalyst từ Hệ thống Cisco thật dễ dàng. Bạn cần đăng ký trên switch và kích hoạt chế độ Enable, sau đó đi đến cấu hình chế độ đầu cuối và nhập số giao diện của cổng switch mà tất cả lưu lượng được giám sát sẽ được gửi tới. Cuối cùng, bạn phải chỉ định tất cả các cổng được giám sát. Ví dụ: các lệnh sau giám sát ba cổng Fast Ethernet và chuyển tiếp bản sao lưu lượng đến cổng 24.

Giao diện Giám sát cổng FastEthernet0/24 Giám sát cổng FastEthernet0/1 Giám sát cổng FastEthernet0/2 Đầu cuối FastEthernet0/3

Trong ví dụ này, bộ phân tích mạng được kết nối với cổng 24 sẽ xem tất cả lưu lượng đi và đến từ các máy tính được kết nối với ba cổng đầu tiên của bộ chuyển mạch. Để xem cấu hình đã tạo, nhập lệnh

Ghi bộ nhớ

Phân tích ban đầu

Hãy xem một ví dụ về phân tích dữ liệu truyền qua mạng. Nếu bạn đang sử dụng máy tính Linux để phân tích mạng, bạn có thể hiểu toàn diện về loại và tần suất của các gói trên mạng bằng chương trình như IPTraf ở chế độ Thống kê. Chi tiết lưu lượng truy cập có thể được tìm thấy bằng chương trình Tcpdump.

Trong mạng máy tính, cổng là điểm cuối của giao tiếp trong hệ điều hành. Thuật ngữ này cũng được sử dụng cho các thiết bị phần cứng, nhưng trong phần mềm, nó là một cấu trúc logic xác định một quy trình hoặc loại dịch vụ cụ thể.

Một cổng luôn được liên kết với loại và địa chỉ IP máy chủ và do đó hoàn thành việc gán địa chỉ phiên. Nó được xác định cho từng địa chỉ và giao thức bằng số 16 bit, thường được gọi là số cổng. Số cổng cụ thể thường được sử dụng để xác định các dịch vụ cụ thể. Trong số hàng nghìn cổng được liệt kê, 1024 số cổng nổi tiếng được bảo vệ theo quy ước để xác định các loại dịch vụ cụ thể trên máy chủ. Các giao thức chủ yếu sử dụng cổng được sử dụng để kiểm soát các quy trình (chẳng hạn như Giao thức điều khiển truyền (TCP) và Giao thức gói dữ liệu người dùng (UDP) từ bộ giao thức Internet).

Nghĩa

Cổng TCP không cần thiết trên các liên kết điểm-điểm trực tiếp trong đó các máy tính ở mỗi đầu chỉ có thể chạy một chương trình tại một thời điểm. Chúng trở nên cần thiết khi máy móc có khả năng chạy nhiều chương trình cùng một lúc và được kết nối với các mạng chuyển mạch gói hiện đại. Trong mô hình kiến ​​trúc máy khách-máy chủ, các ứng dụng, cổng và máy khách mạng kết nối để khởi tạo dịch vụ, cung cấp dịch vụ ghép kênh sau khi liên lạc ban đầu được liên kết với một số cổng đã biết và nó được giải phóng bằng cách chuyển từng phiên bản dịch vụ yêu cầu sang một đường dây chuyên dụng. Kết nối được thực hiện đến một số cụ thể và nhờ đó, các khách hàng bổ sung có thể được phục vụ mà không phải chờ đợi.

Chi tiết

Các giao thức truyền dữ liệu - Giao thức điều khiển truyền (TCP) và Giao thức gói dữ liệu người dùng (UDP) - được sử dụng để chỉ ra số cổng đích và nguồn trong tiêu đề phân đoạn của chúng. Số cổng là số nguyên không dấu 16 bit. Vì vậy, nó có thể nằm trong khoảng từ 0 đến 65535.

Tuy nhiên, các cổng TCP không thể sử dụng số 0. Cổng nguồn cho UDP là tùy chọn và giá trị bằng 0 có nghĩa là nó không xuất hiện.

Một quy trình giao tiếp các kênh đầu vào hoặc đầu ra của nó thông qua ổ cắm Internet (một loại bộ mô tả tệp) bằng cách sử dụng giao thức truyền tải, số cổng và địa chỉ IP. Quá trình này được gọi là ràng buộc và nó cho phép gửi và nhận dữ liệu qua mạng.

Hệ điều hành chịu trách nhiệm truyền dữ liệu đi từ tất cả các cổng ứng dụng tới mạng, cũng như chuyển tiếp các gói mạng đến (bằng cách ánh xạ địa chỉ IP và số). Chỉ một quy trình có thể được liên kết với một địa chỉ IP và kết hợp cổng cụ thể bằng cách sử dụng cùng một giao thức truyền tải. Sự cố ứng dụng phổ biến, đôi khi được gọi là xung đột cổng, xảy ra khi nhiều chương trình cố gắng giao tiếp với cùng số cổng trên cùng một địa chỉ IP bằng cùng một giao thức.

Chúng được sử dụng như thế nào?

Các ứng dụng triển khai dịch vụ chia sẻ thường sử dụng danh sách cổng TCP và UDP được dành riêng và nổi tiếng để chấp nhận các yêu cầu dịch vụ từ máy khách. Quá trình này được gọi là lắng nghe và nó bao gồm việc nhận yêu cầu từ một cổng phổ biến và thiết lập cuộc trò chuyện trực tiếp giữa máy chủ và máy khách bằng cùng một số cổng cục bộ. Các máy khách khác có thể tiếp tục kết nối - điều này có thể thực hiện được vì kết nối TCP được xác định là một chuỗi bao gồm các địa chỉ và cổng cục bộ và từ xa. Các cổng TCP và UDP tiêu chuẩn được xác định theo thỏa thuận dưới sự kiểm soát của Cơ quan quản lý số được gán Internet (IANA).

Các dịch vụ mạng lõi (đáng chú ý nhất là WorldWideWeb) có xu hướng sử dụng số cổng nhỏ - dưới 1024. Nhiều hệ điều hành yêu cầu các đặc quyền để ứng dụng liên kết với chúng vì chúng thường được coi là quan trọng đối với hoạt động của mạng IP. Mặt khác, máy khách cuối của kết nối thường sử dụng một số lượng lớn các cổng này, được phân bổ để sử dụng trong thời gian ngắn, đó là lý do tại sao có cái gọi là cổng phù du.

Kết cấu

Các cổng TCP được mã hóa trong tiêu đề gói giao thức truyền tải và chúng có thể được hiểu dễ dàng không chỉ bởi các máy tính gửi và nhận mà còn bởi các thành phần khác của cơ sở hạ tầng mạng. Đặc biệt, tường lửa thường được cấu hình để phân biệt các gói dựa trên số cổng nguồn hoặc đích của chúng. Chuyển hướng là một ví dụ cổ điển về điều này.

Việc cố gắng kết nối tuần tự với nhiều cổng trên một máy tính được gọi là quét cổng. Điều này thường là do các nỗ lực phá hoại có mục đích xấu hoặc do quản trị viên mạng đang tìm kiếm các lỗ hổng có thể có để giúp ngăn chặn các cuộc tấn công như vậy.

Các hoạt động tập trung vào tần suất máy tính được theo dõi và ghi lại. Kỹ thuật này sử dụng một số kết nối dự phòng để đảm bảo kết nối đến máy chủ không bị gián đoạn.

Ví dụ về việc sử dụng

Ví dụ quan trọng nhất nơi các cổng TCP/UDP được sử dụng tích cực là hệ thống thư Internet. Máy chủ được sử dụng để làm việc với email (gửi và nhận) và nói chung yêu cầu hai dịch vụ. Dịch vụ đầu tiên được sử dụng để vận chuyển qua email và các máy chủ khác. Điều này đạt được bằng cách sử dụng Thông thường, ứng dụng dịch vụ SMTP sẽ lắng nghe trên cổng TCP số 25 nhằm mục đích xử lý các yêu cầu đến. Một dịch vụ khác là POP (Giao thức Bưu điện) hoặc IMAP (hoặc Giao thức Truy cập Thư Internet) được yêu cầu cho các ứng dụng email client trên máy của người dùng để nhận email từ máy chủ. Các dịch vụ POP lắng nghe các số trên cổng TCP 110. Các dịch vụ trên đều có thể chạy trên cùng một máy chủ. Khi điều này xảy ra, số cổng sẽ phân biệt dịch vụ được yêu cầu bởi thiết bị từ xa - PC của người dùng hoặc một số máy chủ thư khác.

Mặc dù số cổng nghe của máy chủ được xác định rõ ràng (IANA gọi chúng là các cổng nổi tiếng), tham số máy khách này thường được chọn từ phạm vi động. Trong một số trường hợp, máy khách và máy chủ sử dụng riêng các cổng TCP cụ thể được chỉ định trong IANA. Một ví dụ điển hình là DHCP, trong đó máy khách sử dụng UDP 68 trong mọi trường hợp và máy chủ sử dụng UDP 67.

Cách sử dụng trong URL

Số cổng đôi khi được hiển thị rõ ràng trên Internet hoặc các Bộ định vị tài nguyên thống nhất (URL) khác. Theo mặc định, HTTP sử dụng và HTTPS sử dụng 443. Tuy nhiên, có các biến thể khác. Ví dụ: URL http://www.example.com:8080/path/ cho biết trình duyệt web đang kết nối với 8080 thay vì máy chủ HTTP.

Danh sách các cổng TCP và UDP

Như đã lưu ý, Cơ quan cấp số hiệu Internet (IANA) chịu trách nhiệm điều phối toàn cầu về DNS-Root, địa chỉ IP và các tài nguyên Giao thức Internet khác. Điều này bao gồm việc ghi nhật ký số cổng được sử dụng thường xuyên cho các dịch vụ Internet nổi tiếng.

Số cổng được chia thành ba phạm vi: nổi tiếng, đã đăng ký và động hoặc riêng tư. Nổi tiếng (còn được gọi là hệ thống) là những dữ liệu được đánh số từ 0 đến 1023. Yêu cầu đối với các cuộc hẹn mới trong phạm vi này nghiêm ngặt hơn so với các đăng ký khác.

Những ví dụ nổi tiếng

Các ví dụ được tìm thấy trong danh sách này bao gồm:

  • Cổng TCP 443: HTTP Secure (HTTPS).
  • 22: Vỏ bảo mật (SSH).
  • 25: Giao thức truyền thư đơn giản (SMTP).
  • 53: Hệ thống tên miền (DNS).
  • 80: Giao thức truyền siêu văn bản (HTTP).
  • 119: Giao thức truyền tin tức mạng (NNTP).
  • 123: Giao thức thời gian mạng (NTP)..
  • 143: Giao thức truy cập tin nhắn Internet (IMAP)
  • 161: Giao thức quản lý mạng đơn giản (SNMP)1.
  • 94: Trò chuyện chuyển tiếp Internet (IRC).

Các cổng đã đăng ký nằm trong khoảng từ 1024 đến 49151. IANA duy trì danh sách chính thức các phạm vi đã biết và đã đăng ký. Động hoặc riêng tư - 49152 đến 65535. Một phạm vi sử dụng này là dành cho các cổng tạm thời.

Lịch sử sáng tạo

Khái niệm số cổng được tạo ra bởi các nhà phát triển ARPANET ban đầu trong sự cộng tác không chính thức giữa tác giả phần mềm và quản trị viên hệ thống.

Thuật ngữ "số cổng" vẫn chưa được sử dụng vào thời điểm đó. Chuỗi số cho máy chủ từ xa là số 40 bit. 32 bit đầu tiên tương tự như địa chỉ IPv4 ngày nay, nhưng 8 bit đầu tiên là quan trọng nhất. Phần nhỏ nhất của số (bit 33 đến 40) đại diện cho một đối tượng khác gọi là AEN. Đây là nguyên mẫu của số cổng hiện đại.

Vào ngày 26 tháng 3 năm 1972, việc tạo ra một thư mục số ổ cắm lần đầu tiên được đề xuất trong RFC 322, trong đó yêu cầu mỗi số liên tục được mô tả theo chức năng và dịch vụ mạng của nó. Thư mục này sau đó được xuất bản trong RFC 433 vào tháng 12 năm 1972 và bao gồm danh sách các máy chủ, số cổng của chúng và chức năng tương ứng được sử dụng trên mỗi nút trên mạng. Vào tháng 5 năm 1972, việc gán chính thức số cổng, dịch vụ mạng và chức năng quản trị đặc biệt để duy trì sổ đăng ký này lần đầu tiên được ghi lại.

Danh sách cổng TCP đầu tiên có 256 giá trị AEN, được chia thành các phạm vi sau:

  • 0 đến 63: chức năng tiêu chuẩn của toàn bộ mạng
  • 64 đến 127: Chức năng dành riêng cho máy chủ
  • 128 đến 239: Dự trữ để sử dụng sau này
  • 240 đến 255: Bất kỳ tính năng thử nghiệm nào.

Dịch vụ Telnet đã nhận được sự gán giá trị chính thức đầu tiên là 1. Trong những ngày đầu của ARPANET, thuật ngữ AEN cũng dùng để chỉ tên của ổ cắm được sử dụng với giao thức kết nối ban đầu (MSP) và chương trình điều khiển mạng (NCP). ) thành phần. Hơn nữa, NCP là tiền thân của các giao thức Internet hiện đại sử dụng cổng TCP/IP.