Well-Known 포트(Well-Known Ports)에 대해 자세히 정리해 드리겠습니다.
네트워크 프로토콜에서 포트 번호는 컴퓨터 간의 통신을 관리하고 다양한 서비스를 구분하는 데 중요한 역할을 합니다. Well-Known 포트(Well-Known Ports)는 포트 번호가 0번에서 1023번 사이에 속하는 포트들로, 특정 서비스나 응용 프로그램에 미리 할당되어 있으며, 이 포트들은 국제적으로 표준화되어 있습니다. IETF(Internet Engineering Task Force)와 IANA(Internet Assigned Numbers Authority)와 같은 기관들이 이 포트 번호들을 관리합니다.
Well-Known 포트는 일반적으로 네트워크 통신에서 가장 중요한 역할을 하는 서비스들에 의해 사용되며, 각 서비스가 다른 서비스와 구별될 수 있도록 합니다. 예를 들어, 웹 서버는 HTTP 프로토콜을 사용하여 데이터를 제공하며, 이는 포트 80을 통해 이루어집니다. 이메일 전송 프로토콜인 SMTP는 포트 25를 사용하고, SSH는 포트 22를 사용합니다.
1. Well-Known 포트 번호와 포트 범위
포트 번호는 16비트로, 0에서 65535까지의 값을 가질 수 있습니다. 이 중 Well-Known 포트는 0~1023번 범위에 속하며, 특별히 표준화된 서비스에 할당됩니다. 그 외의 포트는 다른 범주로 나누어집니다:
Well-Known 포트: 0~1023 (주로 표준 서비스와 응용 프로그램에 할당)
등록된 포트(Registered Ports): 1024~49151 (사용자가 선택하여 사용할 수 있는 포트, 특정 서비스와 관련이 있을 수 있음)
동적 포트(Dynamic Ports) 또는 임시 포트(Private Ports): 49152~65535 (애플리케이션에서 동적으로 할당하여 사용하는 포트)
2. Well-Known 포트의 중요성
Well-Known 포트는 인터넷 통신에서 중요한 역할을 합니다. 이 포트들을 통해 특정 프로토콜이나 서비스가 네트워크 상에서 어떻게 식별되는지 정의됩니다. 예를 들어, 웹 서버는 일반적으로 포트 80을 사용하며, FTP 서버는 포트 21을 사용합니다. 이러한 포트 번호는 모든 네트워크 장비나 운영 체제에서 미리 알고 있기 때문에, 사용자는 해당 서비스에 접근할 때 포트 번호를 명시하지 않아도 됩니다. 또한, 보안 장치나 방화벽은 이러한 Well-Known 포트를 기준으로 트래픽을 필터링하거나 차단할 수 있습니다.
3. Well-Known 포트의 사용 사례
Well-Known 포트는 각기 다른 서비스와 프로토콜에서 사용됩니다. 각 포트가 어떤 서비스를 담당하는지 구체적으로 알아보겠습니다.
1) HTTP (Hypertext Transfer Protocol) - 포트 80
포트 번호: 80
프로토콜: HTTP
서비스: 웹 서버, 웹 페이지 제공
설명: HTTP는 웹 서버에서 클라이언트(웹 브라우저)와 통신하는 데 사용되는 프로토콜입니다. 포트 80은 기본적으로 HTTP 트래픽을 처리하며, 일반적인 웹 페이지 전송에 사용됩니다.
2) HTTPS (Hypertext Transfer Protocol Secure) - 포트 443
포트 번호: 443
프로토콜: HTTPS
서비스: 안전한 웹 페이지 전송
설명: HTTPS는 HTTP에 보안을 추가한 프로토콜로, SSL/TLS 암호화를 통해 데이터의 기밀성을 보호합니다. 웹 브라우저에서 "https://"로 시작하는 URL을 사용할 때 포트 443을 통해 통신이 이루어집니다.
3) FTP (File Transfer Protocol) - 포트 21
포트 번호: 21
프로토콜: FTP
서비스: 파일 전송
설명: FTP는 파일을 전송하는 프로토콜로, 포트 21을 사용하여 서버와 클라이언트 간의 파일 전송을 처리합니다. FTP는 일반적으로 비보안 통신을 사용하지만, 보안을 강화한 FTPS(FTP Secure)도 존재합니다.
4) SSH (Secure Shell) - 포트 22
포트 번호: 22
프로토콜: SSH
서비스: 원격 로그인, 터미널 세션
설명: SSH는 네트워크 상에서 보안된 원격 접속을 제공하는 프로토콜입니다. 시스템 관리자는 SSH를 사용하여 원격 서버에 접속하고 명령을 실행합니다. SSH는 비밀번호와 데이터를 암호화하여 보안을 제공합니다.
5) SMTP (Simple Mail Transfer Protocol) - 포트 25
포트 번호: 25
프로토콜: SMTP
서비스: 이메일 전송
설명: SMTP는 이메일을 전송하는 데 사용되는 프로토콜로, 포트 25를 사용하여 이메일을 전송하고 받는 작업을 처리합니다. 주로 메일 서버 간의 이메일 전송에 사용됩니다.
6) DNS (Domain Name System) - 포트 53
포트 번호: 53
프로토콜: DNS
서비스: 도메인 이름 해석
설명: DNS는 도메인 이름을 IP 주소로 변환하는 시스템입니다. 사용자가 웹사이트의 도메인 이름을 입력하면 DNS 서버는 이를 IP 주소로 변환하여 해당 서버에 연결할 수 있게 합니다.
7) POP3 (Post Office Protocol version 3) - 포트 110
포트 번호: 110
프로토콜: POP3
서비스: 이메일 수신
설명: POP3는 이메일 클라이언트가 이메일 서버에서 이메일을 다운로드하는 프로토콜입니다. 기본적으로 포트 110을 사용하며, 사용자가 메일을 서버에서 다운로드하여 로컬에 저장합니다.
8) IMAP (Internet Message Access Protocol) - 포트 143
포트 번호: 143
프로토콜: IMAP
서비스: 이메일 수신
설명: IMAP는 POP3와 유사한 이메일 수신 프로토콜입니다. 그러나 IMAP은 서버에서 이메일을 관리하며, 사용자가 여러 장치에서 동일한 메일함을 동기화할 수 있게 해줍니다. 포트 143을 사용합니다.
9) Telnet - 포트 23
포트 번호: 23
프로토콜: Telnet
서비스: 원격 접속 (보안 취약점 있음)
설명: Telnet은 원격 접속을 위해 사용되는 프로토콜로, 텍스트 기반의 명령어를 통해 서버에 접속할 수 있습니다. 그러나 보안상 취약점이 있어, 요즘은 SSH로 대체되는 경우가 많습니다.
4. 보안과 Well-Known 포트
Well-Known 포트는 그 자체로 보안의 취약점을 가질 수 있습니다. 왜냐하면 이 포트들은 공통적으로 사용되기 때문에, 공격자는 특정 포트를 대상으로 공격을 시도할 가능성이 큽니다. 예를 들어, 포트 80과 443은 웹 서버가 사용하므로, 해커는 이 포트를 통해 웹 서버로 들어오는 트래픽을 분석하거나 공격을 시도할 수 있습니다.
이를 방지하기 위해 방화벽과 같은 보안 장치에서 특정 포트를 차단하거나 필터링하는 것이 중요합니다. 또한, 보안 취약점이 발견된 서비스는 최신 버전으로 업데이트하거나, 더 안전한 프로토콜로 전환하는 것이 좋습니다.
Well-Known 포트는 네트워크와 인터넷 상에서 중요한 역할을 하며, 다양한 서비스와 프로토콜들이 고유의 포트 번호를 통해 식별됩니다. 이러한 포트는 시스템 간의 원활한 통신을 보장하며, 서비스와 애플리케이션의 안정적인 운영을 지원합니다.
항상 적절한 보안 조치를 취하는 것이 중요합니다.
포트 번호 | 서비스 이름 | 프로토콜 | 설명 |
20 | FTP 데이터 전송 | TCP | FTP 데이터 전송을 위한 포트 (FTP 데이터 채널) |
21 | FTP 제어 | TCP | FTP 명령을 전송하는 포트 (FTP 제어 채널) |
22 | SSH (Secure Shell) | TCP | 보안된 원격 로그인 및 명령 실행을 위한 포트 |
23 | Telnet | TCP | 텍스트 기반의 원격 로그인 서비스 (보안 취약점 있음) |
25 | SMTP (Simple Mail Transfer Protocol) | TCP | 이메일 전송을 위한 포트 (메일 서버 간의 전송) |
53 | DNS (Domain Name System) | UDP, TCP | 도메인 이름을 IP 주소로 변환하는 시스템 |
67 | DHCP 서버 | UDP | DHCP 서버가 클라이언트에 IP 주소를 할당하는 포트 |
68 | DHCP 클라이언트 | UDP | DHCP 클라이언트가 서버에서 IP 주소를 받는 포트 |
69 | TFTP (Trivial File Transfer Protocol) | UDP | 간단한 파일 전송 프로토콜 (주로 네트워크 장비에서 사용) |
80 | HTTP (HyperText Transfer Protocol) | TCP | 웹 서버가 웹 페이지를 제공하는 기본 포트 |
110 | POP3 (Post Office Protocol v3) | TCP | 이메일을 서버에서 다운로드하는 프로토콜 |
123 | NTP (Network Time Protocol) | UDP | 네트워크 시간 동기화를 위한 포트 |
143 | IMAP (Internet Message Access Protocol) | TCP | 이메일 클라이언트가 서버에서 이메일 관리 프로토콜 |
161 | SNMP (Simple Network Management Protocol) | UDP | 네트워크 장비 관리 프로토콜 |
162 | SNMP Trap | UDP | SNMP 장비 상태 변화에 대한 알림을 전송하는 포트 |
194 | IRC (Internet Relay Chat) | TCP | 인터넷 채팅을 위한 프로토콜 |
443 | HTTPS (HyperText Transfer Protocol Secure) | TCP | 암호화된 웹 통신을 위한 포트 (SSL/TLS 사용) |
445 | Microsoft-DS (Directory Services) | TCP | 윈도우즈 파일 공유와 관련된 포트 |
514 | Syslog | UDP | 네트워크 장비나 서버에서 로그 메시지를 전송 |
515 | Line Printer Daemon (LPD) | TCP | 네트워크 프린터 연결 및 인쇄를 위한 포트 |
587 | SMTP (Submission) | TCP | SMTP를 통해 이메일을 클라이언트에서 전송할 때 사용 |
631 | IPP (Internet Printing Protocol) | TCP | 네트워크 프린터의 IPP 서비스를 위한 포트 |
993 | IMAPS (IMAP Secure) | TCP | IMAP의 암호화된 버전 (SSL/TLS 암호화 사용) |
995 | POP3S (POP3 Secure) | TCP | POP3의 암호화된 버전 (SSL/TLS 암호화 사용) |
1080 | SOCKS Proxy | TCP | SOCKS 프록시 서버에서 사용되는 포트 |
1433 | Microsoft SQL Server | TCP | Microsoft SQL Server 데이터베이스에 대한 연결 포트 |
1434 | Microsoft SQL Server (UDP) | UDP | SQL Server의 UDP 연결 포트 |
1521 | Oracle Database | TCP | Oracle 데이터베이스 서비스의 기본 포트 |
1723 | PPTP (Point-to-Point Tunneling Protocol) | TCP | VPN 연결을 위한 PPTP 서비스 포트 |
2049 | NFS (Network File System) | TCP, UDP | 네트워크 파일 시스템을 위한 포트 (파일 공유) |
3306 | MySQL | TCP | MySQL 데이터베이스 서버에 연결하는 포트 |
3389 | RDP (Remote Desktop Protocol) | TCP | 윈도우 원격 데스크탑 연결을 위한 포트 |
5432 | PostgreSQL | TCP | PostgreSQL 데이터베이스 서버에 연결하는 포트 |
5900 | VNC (Virtual Network Computing) | TCP | 원격 데스크탑 뷰어와 서버 간의 연결 포트 |
6379 | Redis | TCP | Redis 데이터베이스에 대한 연결 포트 |
8080 | HTTP (Alternative) | TCP | 대체 HTTP 포트 (웹 애플리케이션 서버에서 사용됨) |
8443 | HTTPS (Alternative) | TCP | 대체 HTTPS 포트 (보안 웹 서비스) |
9000 | PHP-FPM (FastCGI Process Manager) | TCP | PHP FastCGI 프로세스 매니저의 기본 포트 |
11211 | Memcached | TCP | Memcached 캐시 서버의 기본 포트 |
27017 | MongoDB | TCP | MongoDB 데이터베이스 서버의 기본 포트 |
3306 | MySQL | TCP | MySQL 데이터베이스 연결 포트 |
5000 | Flask Development Server | TCP | Flask 웹 애플리케이션 개발 서버에서 사용하는 포트 |
5432 | PostgreSQL | TCP | PostgreSQL 데이터베이스 서버 연결 포트 |
8000 | Django Development Server | TCP | Django 개발 서버에서 사용하는 포트 |
서비스 포트에 대하여 자세히 알고 싶으시다면 아래의 링크를 참조하시길 바랍니다.
https://jilmun.tistory.com/131
방화벽 서비스 포트 지정할때 출발지 포트와 서비스포트 차이점은?
방화벽 서비스 포트 설정 방법에 대하여 알려주겠습니다. 서비스 포트란?방화벽 서비스 포트는 네트워크 보안을 위해 특정 서비스나 응용 프로그램이 사용하는 포트를 열어 두는 역
jilmun.tistory.com
'수리상자 > Security.' 카테고리의 다른 글
방화벽 서비스 포트 지정할때 출발지 포트와 서비스포트 차이점은? (0) | 2025.02.11 |
---|---|
국가정보보안기본지침의 제 3장 2절 53조 4항 내용은? (0) | 2024.08.21 |
국가사이버안보센터 관련 법령의 국가정보보안기본지침은? (0) | 2024.08.21 |
댓글