Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 65.535 cổng, nhưng chỉ vài chục cổng này quyết định mạng của bạn an toàn hay không

    Ngay lúc này, rất nhiều hệ thống nội bộ vẫn đang mở cổng 23 (Telnet) hoặc cổng 21 (FTP) - hai giao thức truyền dữ liệu dưới dạng văn bản thuần, ai chặn được gói tin trên đường truyền là đọc được mật khẩu ngay lập tức. Phần lớn quản trị viên biết điều này, nhưng không phải ai cũng nhớ chính xác vì sao, và giao thức nào mới thật sự an toàn để thay thế.

    Toàn bộ câu chuyện cổng và giao thức nằm trong bộ TCP/IP - thứ khác hẳn với mô hình OSI. OSI chỉ là khuôn lý thuyết để tham chiếu, còn TCP/IP là ngăn xếp giao thức thật sự đang chạy trên mọi thiết bị. TCP/IP rút gọn 7 tầng OSI xuống còn 4 tầng: Application (gộp cả Application, Presentation, Session của OSI), Transport, Internet (tương đương Network) và Network Access (gộp Data Link với Physical). Ít tầng hơn không có nghĩa là đơn giản hơn, chỉ là cách tổ chức khác đi để triển khai thực tế.

    Trong 4 tầng đó, khái niệm quan trọng nhất với người mới là port. Địa chỉ IP xác định đúng máy chủ, nhưng chính port mới xác định đúng ứng dụng nào trên máy chủ đó đang xử lý dữ liệu. Có tổng cộng 65.535 port, chia thành 3 dải: well-known (0-1023) dành cho các dịch vụ hệ thống cốt lõi, registered (1024-49151) cho các phần mềm thương mại đăng ký với IANA, và dynamic/private (49152-65535) được hệ thống gán ngẫu nhiên cho mỗi phiên kết nối tạm thời.

    Ở tầng Transport, TCP và UDP đại diện cho hai triết lý trái ngược hoàn toàn. TCP hướng kết nối, gán số thứ tự cho từng gói, yêu cầu bên nhận gửi ACK xác nhận, tự động truyền lại nếu gói bị lỗi hoặc mất, đồng thời có flow control để tránh bên gửi tốc độ cao làm ngộp bên nhận yếu hơn - đổi lại là độ trễ tăng lên vì phải bắt tay và xác nhận liên tục. UDP thì ngược lại hoàn toàn: không bắt tay, không xác nhận, không sắp xếp lại thứ tự, gửi xong là xong theo kiểu best-effort. Hao phí cực thấp nên UDP là lựa chọn gần như duy nhất cho video call, VoIP hay streaming, những nơi mà một gói bị rớt còn chấp nhận được hơn là độ trễ tích tụ.

    Ở tầng Internet, ngoài IP lo việc định địa chỉ và định tuyến, còn có bốn giao thức hỗ trợ ít được nhắc đến nhưng chạy nền liên tục. ICMP không dùng port mà dùng type và code để báo lỗi kết nối - lệnh ping quen thuộc chính là ICMP Echo Request (type 8) và Echo Reply (type 0). ARP làm nhiệm vụ dịch từ IP sang MAC trong cùng một LAN, còn RARP làm ngược lại. IGMP quản lý các nhóm multicast trên IPv4, và được thay thế bằng MLD khi chuyển sang IPv6.

    Phần hay bị học vẹt nhất chính là danh sách cổng ở tầng Application, nhưng nhìn theo từng nhóm chức năng sẽ dễ nhớ hơn nhiều thay vì học rời rạc từng dòng.

    Nhóm truyền file: FTP dùng cổng 20 để truyền dữ liệu và 21 để gửi lệnh, chạy trên TCP nhưng hoàn toàn plain-text nên dễ bị nghe lén. TFTP dùng UDP ở cổng 69, nhanh và gọn nhưng không xác thực, thường chỉ dùng nội bộ để backup cấu hình router hay đẩy firmware.

    Nhóm truy cập từ xa: Telnet ở cổng 23 truyền không mã hóa, gần như bị xem là lỗ hổng nếu còn bật trong mạng doanh nghiệp hiện đại. SSH ở cổng 22 làm đúng công việc tương tự nhưng mã hóa toàn bộ phiên làm việc, nên gần như đã thay thế Telnet hoàn toàn. RDP ở cổng 3389 phục vụ điều khiển máy tính từ xa qua giao diện đồ họa, đặc trưng của hệ sinh thái Windows.

    Nhóm email có ba giao thức dễ nhầm vai trò với nhau: SMTP (25, hoặc 587 khi có TLS) lo việc chuyển tiếp email giữa các máy chủ. POP3 (110, hoặc 995 khi mã hóa) tải email về máy và mặc định xóa trên server. IMAP (143, hoặc 993 khi mã hóa) thì ngược lại, quản lý email ngay trên server để đồng bộ giữa nhiều thiết bị mà không cần tải hẳn về.

    Nhóm hạ tầng nền: DNS (cổng 53, cả TCP lẫn UDP) dịch tên miền thành IP. DHCP (67 và 68, UDP) tự động cấp IP qua tiến trình DORA. NTP (123, UDP) đồng bộ thời gian giữa các thiết bị. SNMP (161, 162, UDP) giám sát tình trạng thiết bị mạng từ xa. LDAP (389, hoặc 636 khi có LDAPS) xác thực người dùng qua thư mục tập trung kiểu Active Directory. Syslog (514) gom log từ nhiều thiết bị về một nơi để dễ theo dõi và điều tra sự cố.

    Nhóm còn lại: HTTP (80) và HTTPS (443) cho truy cập web, với HTTPS mã hóa toàn bộ bằng TLS còn HTTP thì để lộ hết. SMB (445) chia sẻ file và máy in trong mạng Windows. SIP (5060, 5061) làm nhiệm vụ báo hiệu để thiết lập và kết thúc các cuộc gọi VoIP hay hội nghị truyền hình.

    Nhìn xuyên suốt danh sách này sẽ thấy một mẫu số chung: gần như mọi giao thức cũ chạy plain-text đều có một phiên bản mã hóa đi kèm ra đời sau để thay thế - FTP có SFTP, Telnet có SSH, HTTP có HTTPS, POP3/IMAP/LDAP đều có cổng riêng chạy TLS. Việc của người quản trị mạng không phải là nhớ hết 65.535 cổng, mà là biết chính xác cổng nào trong hệ thống của mình đang mở ở dạng không mã hóa và nên đóng lại từ khi nào.

    Trong hệ thống bạn đang quản lý, còn cổng plain-text nào (Telnet, FTP, HTTP nội bộ...) vẫn đang mở mà chưa kịp thay thế không? Chia sẻ để anh em cùng rà soát lại nhé.
    Click image for larger version

Name:	port.jpg
Views:	0
Size:	251.4 KB
ID:	444393
Working...
X