Các cảng nổi tiếng. TCP khác với UDP như thế nào về mặt đơn giản?

TRONG mạng máy tính Cổng là điểm cuối 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 sau khi máy móc có khả năng thực hiện nhiều chương trình cùng một lúc và được kết nối với mạng hiện đại với chuyển mạch gói. Trong mô hình kiến ​​trúc client-server, các ứng dụng, cổng và khách hàng mạng kết nối vớ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 cần 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 có nhiệm vụ 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 dữ liệu đến gói mạng(bằng cách khớp đị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 thực hiện dịch vụ tổng hợp, thường sử dụng dành riêng và tốt danh sách nổi tiếng Cổng TCP và UDP để nhận yêu cầu dịch vụ từ khách hàng. 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 địa phương. 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 bộ và địa chỉ từ xa và các cổng. Các cổng TCP và UDP tiêu chuẩn được xác định theo thỏa thuận theo Kiểm soát Internet Cơ quan quản lý số được chỉ định (IANA).

Cốt lõi dịch vụ mạng(đáng chú ý nhất là WorldWideWeb) thườ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ó ác ý 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à nhìn 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 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ủ. Dịch vụ POP nghe 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 hỗ trợ danh sách chính thứ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 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.

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:

  • Từ 0 đến 63: tính năng tiêu chuẩn 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.

Lớp vận chuyển

Nhiệm vụ của lớp vận chuyển là truyền dữ liệu giữa các ứng dụng khác nhau chạy trên tất cả các nút mạng. Sau khi gói được gửi qua IP đến máy tính nhận, dữ liệu phải được gửi đến một quy trình nhận đặc biệt. Mỗi máy tính có thể chạy nhiều tiến trình và một ứng dụng có thể có nhiều điểm vào, đóng vai trò là đích đến cho các gói dữ liệu.

Các gói đến lớp vận chuyển hệ điều hànhđược tổ chức thành nhiều hàng đợi đến các điểm vào Các ứng dụng khác nhau. Trong thuật ngữ TCP/IP, những điểm vào này được gọi là cổng.

Giao thức điều khiển truyền dẫn

Giao thức điều khiển truyền dẫn(TCP) (Giao thức điều khiển truyền) là giao thức bắt buộc của tiêu chuẩn TCP/IP, được xác định trong RFC 793, "Giao thức điều khiển truyền (TCP)".

TCP là giao thức lớp vận chuyển cung cấp khả năng vận chuyển (truyền) luồng dữ liệu, trước tiên cần thiết lập kết nối, từ đó đảm bảo độ tin cậy về tính toàn vẹn của dữ liệu nhận được và cũng thực hiện yêu cầu lặp lại đối với dữ liệu trong trường hợp mất dữ liệu hoặc tham nhũng. Bên cạnh đó giao thức TCP giám sát các gói trùng lặp và nếu được phát hiện sẽ phá hủy các gói trùng lặp.

Không giống như giao thức UDP, nó đảm bảo tính toàn vẹn của dữ liệu được truyền và xác nhận của người gửi về kết quả truyền. Được sử dụng trong quá trình truyền tệp trong đó việc mất một gói có thể làm hỏng toàn bộ tệp.

TCP đạt được độ tin cậy bằng cách:

  • Dữ liệu từ ứng dụng được chia thành các khối có kích thước nhất định sẽ được gửi đi.
  • Khi TCP gửi một phân đoạn, nó sẽ đặt bộ hẹn giờ, chờ xác nhận phân đoạn đó đến từ đầu xa. Nếu không nhận được xác nhận sau khi hết thời gian, phân đoạn sẽ được truyền lại.
  • Khi TCP nhận dữ liệu từ phía xa của kết nối, nó sẽ gửi xác nhận. Sự xác nhận này không được gửi ngay lập tức mà thường bị trì hoãn trong một phần giây.
  • TCP tính toán tổng kiểm tra cho tiêu đề và dữ liệu của nó. Đây là tổng kiểm tra được tính toán ở các đầu kết nối, mục đích của nó là phát hiện bất kỳ thay đổi nào về dữ liệu trong quá trình truyền. Nếu một phân đoạn đến với một thông tin không chính xác tổng kiểm tra,TCP loại bỏ nó và không có xác nhận nào được tạo ra. (Người gửi dự kiến ​​sẽ hết thời gian chờ và truyền lại.)
  • Bởi vì Phân đoạn TCPđược truyền dưới dạng gói dữ liệu IP và gói dữ liệu IP có thể đến ngẫu nhiên và các phân đoạn TCP cũng có thể đến ngẫu nhiên. Sau khi nhận được dữ liệu TCP có thể thay đổi trình tự của chúng khi cần thiết, nhờ đó ứng dụng nhận được dữ liệu theo đúng thứ tự.
  • Vì một gói dữ liệu IP có thể bị sao chép nên TCP nhận phải loại bỏ dữ liệu trùng lặp.
  • TCP cung cấp khả năng kiểm soát luồng. Mỗi phía của kết nối TCP có một không gian đệm cụ thể. TCP ở đầu nhận cho phép đầu từ xa chỉ gửi dữ liệu nếu người nhận có thể nhét dữ liệu vào bộ đệm. Điều này ngăn chặn các máy chủ chậm tràn bộ đệm của chúng với các máy chủ nhanh.

  • Số thứ tự phục vụ hai mục đích:
    • Nếu cờ SYN được đặt thì đây là giá trị ban đầu của số thứ tự - ISN (Số thứ tự ban đầu) và byte dữ liệu đầu tiên sẽ được truyền trong gói tiếp theo sẽ có số thứ tự bằng ISN + 1.
    • Mặt khác, nếu SYN không được đặt, byte dữ liệu đầu tiên được truyền trong gói nhất định sẽ có số thứ tự này.
  • Số xác nhận - Nếu cờ ACK được đặt thì trường này chứa số thứ tự mà người nhận mong đợi vào lần tiếp theo. Đánh dấu phân đoạn này là xác nhận đã nhận.
  • Độ dài tiêu đề được chỉ định bằng các từ 32 bit.
  • Kích thước cửa sổ là số byte mà người nhận sẵn sàng chấp nhận mà không cần xác nhận.
  • Tổng kiểm tra - bao gồm tiêu đề giả, tiêu đề và dữ liệu.
  • Chỉ báo khẩn cấp - cho biết byte dữ liệu khẩn cấp cuối cùng phải được phản hồi ngay lập tức.
  • URG - cờ khẩn cấp, bao gồm trường "Chỉ báo khẩn cấp" nếu = 0 thì trường này sẽ bị bỏ qua.
  • ACK - cờ xác nhận, bao gồm trường “Số xác nhận”, nếu =0 thì trường này bị bỏ qua.
  • PSH - cờ yêu cầu thao tác đẩy, mô-đun TCP phải chuyển gấp gói tin vào chương trình.
  • RST - cờ ngắt kết nối, được sử dụng để từ chối kết nối
  • SYN - cờ đồng bộ hóa số seri, được sử dụng khi thiết lập kết nối.
  • FIN - cờ kết thúc truyền từ phía người gửi

Hãy nhìn vào cấu trúc tiêu đề TCP sử dụng bộ phân tích mạng Wireshark:


cổng TCP

Vì một số chương trình có thể chạy trên cùng một máy tính nên để phân phối gói TCP chương trình cụ thể, số nhận dạng hoặc số cổng duy nhất của mỗi chương trình sẽ được sử dụng.

Số cổng là số 16 bit có điều kiện từ 1 đến 65535 cho biết gói này dành cho chương trình nào.

Cổng TCP sử dụng một cổng chương trình cụ thể để phân phối dữ liệu được truyền bằng Giao thức điều khiển truyền (TCP). Cổng TCP phức tạp hơn và hoạt động khác với cổng UDP. Trong khi cổng UDP hoạt động như một hàng đợi tin nhắn duy nhất và là điểm vào cho kết nối UDP thì điểm vào cuối cùng cho tất cả các kết nối TCP là một kết nối duy nhất. Mỗi kết nối TCP được xác định duy nhất bởi hai điểm vào.

Mọi cổng riêng biệt Máy chủ TCP có thể cung cấp truy cập chung thành nhiều kết nối vì tất cả các kết nối TCP được xác định bởi hai giá trị: địa chỉ IP và cổng TCP (ổ cắm).

Tất cả các số cổng TCP nhỏ hơn 1024 đều được bảo lưu và đăng ký với Cơ quan cấp số hiệu Internet (IANA).

Số cổng UDP và TCP không trùng nhau.

Các chương trình TCP sử dụng số cổng dành riêng hoặc cổng nổi tiếng, như minh họa trong hình dưới đây.

Thiết lập kết nối TCP

Bây giờ chúng ta hãy xem các kết nối TCP được thiết lập như thế nào. Giả sử một tiến trình đang chạy trên một máy chủ muốn thiết lập kết nối với một tiến trình khác trên một máy chủ khác. Hãy nhớ lại rằng máy chủ khởi tạo kết nối được gọi là "máy khách", trong khi máy chủ khác được gọi là "máy chủ".

Trước khi truyền bất kỳ dữ liệu nào, theo giao thức TCP, các bên phải thiết lập kết nối. Kết nối được thiết lập theo ba giai đoạn (quy trình "bắt tay ba" TCP).

  • Người yêu cầu (thường được gọi là máy khách) gửi phân đoạn SYN cho biết số cổng của máy chủ mà máy khách muốn kết nối và số thứ tự ban đầu của máy khách (ISN).
  • Máy chủ phản hồi bằng phân đoạn SYN chứa số thứ tự ban đầu của máy chủ. Máy chủ cũng xác nhận sự xuất hiện của SYN của khách hàng bằng ACK (ISN + 1). Một số thứ tự duy nhất được sử dụng cho mỗi SYN.
  • Máy khách phải xác nhận sự xuất hiện của SYN từ máy chủ với các phân đoạn SYN chứa số thứ tự ban đầu của máy khách (ISN+1) và sử dụng ACK (ISN+1). Bit SYN được đặt thành 0 vì kết nối được thiết lập.

Sau khi kết nối TCP được thiết lập, hai máy chủ này có thể truyền dữ liệu cho nhau, vì kết nối TCP là song công hoàn toàn nên chúng có thể truyền dữ liệu đồng thời.

Ngắn gọn danh sách các cổng:
1. DISCARD: Loại bỏ cổng (RFC 863)
2. FTP: 21 cho lệnh, 20 cho dữ liệu
3. SSH: 22 (truy cập từ xa)
4. Telnet: 23 (truy cập từ xa)
5. SMTP: 25, 587
6. DNS: 53 (UDP)
7.DHCP: 67, 68/UDP
8. TFTP: 69/UDP
9. HTTP: 80, 8080
10.POP3: 110
11. NTP: 123 (máy chủ thời gian) (UDP)
12. IMAP: 143
13. SNMP: 161
14. HTTPS: 443
15. MySQL: 3306
16. Iserver: 3055
17. RDP: 3389 (truy cập từ xa)
18. OSCAR (ICQ): 5190
19. XMPP (Jabber): 5222/5223/5269
20. Traceroute: trên 33434 (UDP)
21. BitTorrent: 6969, 6881-6889
...

Sự miêu tả:

1. RFC 863 - Giao thức bỏ
Tài liệu này chứa một tiêu chuẩn cho cộng đồng Internet ARPA. Các máy chủ Internet ARPA chọn hỗ trợ giao thức Loại bỏ dự kiến ​​sẽ tuân thủ thông số kỹ thuật Loại bỏ này. công cụ hữu ích trong quá trình đo và gỡ lỗi. Dịch vụ này chỉ đơn giản là loại bỏ tất cả dữ liệu nhận được.
Dịch vụ Loại bỏ dựa trên TCPO là một trong những biến thể của dịch vụ loại bỏ được triển khai dựa trên TCP. Máy chủ lắng nghe các kết nối TCP trên cổng 9. Sau khi kết nối được thiết lập, tất cả dữ liệu nhận được qua nó sẽ bị loại bỏ mà không gửi bất kỳ phản hồi nào. Việc loại bỏ dữ liệu tiếp tục cho đến khi người dùng chấm dứt kết nối.
Dịch vụ loại bỏ dựa trên UDP - Một biến thể khác của dịch vụ loại bỏ được xây dựng dựa trên UDP. Máy chủ lắng nghe các datagram UDP trên cổng 9 và khi được phát hiện, sẽ loại bỏ các datagram nhận được mà không truyền bất kỳ thông tin nào.

2. FTP (Tập tin tiếng Anh Giao thức chuyển giao- giao thức truyền tệp) là giao thức được thiết kế để truyền tệp trên mạng máy tính. FTP cho phép bạn kết nối với máy chủ FTP, xem nội dung của các thư mục và tải tập tin từ hoặc về máy chủ; Ngoài ra, có thể thực hiện chế độ truyền tệp giữa các máy chủ.
Cổng đi 20, được mở ở phía máy chủ, dùng để truyền dữ liệu, cổng 21 - để truyền lệnh.

3. SSH (tiếng Anh Secure Shell - “safe shell”) - giao thức mạng cấp độ phiên, cho phép điều khiển từ xa hệ điều hành và các kết nối TCP đường hầm (ví dụ: để truyền tệp). quản trị từ xa, thông qua các chương trình máy khách của giao thức ssh (SSH - Secure SHell) Bạn có thể đóng nó bằng cách tắt chương trình điều khiển máy chủ.

4. TELNET (tiếng Anh TERminaL NETwork) - một giao thức mạng để triển khai giao diện văn bản qua mạng (ở dạng hiện đại - sử dụng truyền tải TCP).

5. SMTP (Giao thức truyền thư đơn giản) là một giao thức mạng được thiết kế để truyền email qua mạng TCP/IP để hoạt động thông qua giao thức. Máy khách SMTP tạo ra kết nối TCP với máy chủ qua cổng 25.
Đôi khi các nhà cung cấp cấm gửi thư qua cổng 25, buộc khách hàng chỉ sử dụng máy chủ SMTP của họ. Nhưng, như bạn đã biết, có một điều khôn ngoan...
Theo mặc định, postfix chỉ hoạt động trên cổng 25. Nhưng bạn có thể làm cho nó hoạt động trên cổng 587. Để thực hiện việc này, bạn chỉ cần bỏ ghi chú dòng trong tệp /etc/postfix/master.cf:
nộp inet n - - - - smtpd

6. DNS Tên miền System - hệ thống tên miền) là một hệ thống máy tính phân tán để lấy thông tin về tên miền. Giao thức DNS sử dụng cổng TCP hoặc UDP 53 để đáp ứng các yêu cầu.

7. DHCP (Giao thức cấu hình máy chủ động) là giao thức mạng cho phép máy tính tự động lấy địa chỉ IP và các thông số cần thiết khác để hoạt động trên mạng TCP/IP. Giao thức này hoạt động theo mô hình client-server. Để cấu hình tự động máy khách trong giai đoạn cấu hình thiết bị mạng truy cập vào cái gọi là máy chủ DHCP và nhận được từ nó thông số bắt buộc. Quản trị viên mạng có thể chỉ định phạm vi địa chỉ được máy chủ phân phối giữa các máy tính. Điều này tránh cài đặt thủ công máy tính trên mạng và giảm số lượng lỗi. Giao thức DHCP được sử dụng trong hầu hết các mạng TCP/IP Giao thức DHCP là giao thức máy khách-máy chủ, nghĩa là nó liên quan đến. Máy khách DHCP và một máy chủ DHCP. Việc truyền dữ liệu được thực hiện bằng Giao thức UDP, trong đó máy chủ nhận tin nhắn từ máy khách trên cổng 67 và gửi tin nhắn đến máy khách trên cổng 68.

8. TFTP (Giao thức truyền tệp tầm thường bằng tiếng Anh) được sử dụng chủ yếu để khởi động ban đầu các máy trạm không cần đĩa. TFTP, không giống như FTP, không có khả năng xác thực (mặc dù có thể lọc theo địa chỉ IP) và dựa trên giao thức truyền tải UDP.

9. HTTP (viết tắt từ tiếng Anh HyperText Transfer Protocol - “giao thức truyền siêu văn bản”) - một giao thức cấp ứng dụng để truyền dữ liệu (ban đầu ở dạng tài liệu siêu văn bản). Cổng 80 là cổng của các máy chủ web. chịu trách nhiệm làm việc thông qua giao thức HTTP.

10. POP3. Cổng 110 (kết nối Opera POP3) có nhiệm vụ gửi và nhận thư.

11. Network Time Protocol (NTP) - giao thức mạng để đồng bộ hóa đồng hồ bên trong của máy tính sử dụng các mạng có độ trễ thay đổi. Việc thiết lập dịch vụ thời gian (NTP) trong Windows 2003 / 2008 / 2008 R2 ... với nguồn được thực hiện bằng cách sử dụng. giao thức NTP - cổng 123 UDP.

12. IMAP (Giao thức truy cập tin nhắn Internet) là một giao thức lớp ứng dụng để truy cập email. Nó dựa trên giao thức truyền tải TCP và sử dụng cổng 143.

13. SNMP (Mạng đơn giản) Giao thức quản lý- Simple Network Control Protocol) là giao thức quản lý mạng truyền thông dựa trên kiến ​​trúc UDP. Các thiết bị thường hỗ trợ SNMP là bộ định tuyến, bộ chuyển mạch, máy chủ, máy trạm, máy in, modem, v.v. Dịch vụ SNMP:
Sử dụng API ổ cắm Windows.
Gửi và nhận tin nhắn bằng UDP (cổng 161) và sử dụng IP để hỗ trợ định tuyến tin nhắn SNMP.
Đi cùng thư viện bổ sung(DLL) để hỗ trợ MIB không chuẩn.
Bao gồm Microsoft Win32 SNMP Manager API để đơn giản hóa việc phát triển ứng dụng SNMP.

14. HTTPS (Bảo mật giao thức truyền siêu văn bản) - tiện ích mở rộng Giao thức HTTP, hỗ trợ mã hóa. Dữ liệu được truyền qua Giao thức HTTPS, được “đóng gói” vào giao thức mã hóa SSL hoặc TLS, từ đó đảm bảo việc bảo vệ dữ liệu này. Không giống như HTTP, HTTPS sử dụng cổng TCP 443 theo mặc định.

15. MySQL là một hệ thống quản lý cơ sở dữ liệu miễn phí MỘT LẦN MySQL không hoạt động (DỪNG LÀM VIỆC TRONG N LẦN)

16. Mạng cục bộ 3055.

17. RDP Máy tính để bàn từ xa Giao thức - Giao thức máy tính từ xa) là giao thức cấp ứng dụng độc quyền được Microsoft mua từ Citrix, được sử dụng để cung cấp làm việc từ xa người dùng có máy chủ chạy dịch vụ kết nối đầu cuối. Khách hàng tồn tại ở hầu hết các phiên bản Windows (bao gồm Windows CE và Mobile), Linux, FreeBSD, Mac OS X, Android, Symbian. Cổng mặc định là TCP 3389.

18. Máy chủ ICQ.

19. XMPP (Giao thức hiện diện và nhắn tin mở rộng), trước đây gọi là Jabber.
5222/5223 - máy khách-máy chủ, 5269 - máy chủ.

20. Traceroute là một chương trình tiện ích máy tính được thiết kế để xác định các tuyến dữ liệu trên mạng TCP/IP. (một số nguồn chỉ ra rằng chỉ cần chỉ định phạm vi cổng từ 33434 đến 33534)

21. BitTórrent (nghĩa đen là “luồng bit” trong tiếng Anh) - giao thức mạng ngang hàng (P2P) để chia sẻ tệp hợp tác qua Internet. Các cổng 6969, 6881-6889 để truy cập các máy khách torrent.

20:11:35 20

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 tính chủ để chỉ cho phép giao thông 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 truy cập 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 truy cập mà chúng tạo ra. lưu lượng mạng. 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 an ninh 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 dịch vụ chưa sử dụng, cài đặt tường lửa trên hệ thống chuyên dụng để xác minh 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 lần mở cổng thông tinđại diện cho một ứng dụng 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. Phiên bản máy chủ Windows 2003 vượt trội hơn 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 mở cổng- Một cửa hậu tiềm ẩn cho nhữ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 sẽ phát hiện tất cả các dịch vụ phản hồi (chẳng hạn như Web hoặc E-mail), nằm trên 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 mong muốn Cổng UDP hoặc TCP. Thông thường, quét cổng TCP đáng tin cậy hơn quét UDP do nó có độ sâu sâu hơn. nhận xét với các giao thức TCP hướng kết nối. Có phiên bản Nmap cho cả Windows và Unix. Việc khởi chạy quy trình quét cơ bản rất đơn giản, mặc dù chương trình thực hiện nhiều hơn thế. hàm phức tạp. Để 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 - in trong trường hợp này Máy tính Windows 2003 cấu hình 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 chức năng hiển thị điểm cuối RPC, được triển khai ở nhiều nơi Công nghệ Windows- ví dụ: ứng dụng COM/DCOM, DFS, nhật ký sự kiện, cơ chế 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, cho phép trình duyệt tìm kiếm các máy tính khác, dịch vụ chia sẻ tập tin, đă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 cho sự hợp tác với các tập tin. Để đóng cổng này, bạn phải chặn Chia sẻ tệp và máy in cho Microsoft Mạng. Việc đóng cổng này không ngăn máy tính giao tiếp với người khác tài nguyên từ xa; 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ổng mở máy tính có thể nhìn thấy được từ mạng. Có thể đạt được kết quả tương tự 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 máy quét mạng cổng, cổng mở trên hệ thống máy chủ có thể được phát hiện 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 hiển thị đầu ra Netstat cho 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

Khác Cách hữu ích phát hiện các ứng dụng mạng gửi hoặc nhận dữ liệu qua mạng - thu thập và phân tích thêm dữ liệu trong nhật ký tường lửa. Từ chối các mục cung cấp thông tin từ giao diện bên ngoài tường lửa dường như không hữu ích do "lưu lượng nhiễu" (ví dụ: từ 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 với giao diện nội bộ, sau đó 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 truy cập “thô” trên mạng, bạn có thể đặt máy 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 cấu hình chương trình để nó 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 chuyển đổi mạng và giám sát tất cả lưu lượng đ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 - cực kỳ chương trình linh hoạt, nhờ đó bạn có thể xem lưu lượng truy cập 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 các kết xuất mạng trong mạng lưới lớn 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 tôi đã xem xét Các phương pháp khác nhau và các công cụ có thể giúp bạn khám phá 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 giao thức chính Dịch vụ Windows Máy chủ. 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. Bạn nên tải xuống và in tài liệu này hữu ích cho quản trị viên Mạng Windows hướng dẫn tham khảo.

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 trung tâm sẽ xem tất cả lưu lượng truy cập từ mọi máy tính được kết nối với trung tâm đó, nhưng các trung tâm 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 thiết bị chuyển mạch cung cấp hiệu suất tốt, nhưng bất tiện cho việc phân tích: mỗi cổng chuyển đổi chỉ chấp nhận lưu lượng truy cập hướng đến một máy tính được kết nối vớ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. Đặt màn hình cổng thành chuyển mạch Cisco Cisco Systems Catalyst là điều hiển nhiên. 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 được sử dụng để phân tích mạng máy tính Linux, thì bạn có thể có được bức tranh 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.