본문 바로가기
네트워크

프로토콜(UDP, FTP, TFTP, Telnet, SNMP)

by Mostlove 2025. 4. 10.
728x90
반응형

📌 UDP(User Datagram Protocol)

비연결지향적(Connectionless-oriented)프로토콜로, 데이터를 전송하기 전에 상대방과의 연결을 수립하지 않는다.
또한, 수신자가 온라인 상태인지 확인하지 않고 데이터를 전송한다.

특징

  • 빠른 전송 속도 -> 연결을 설정하지 않아 지연 시간이 적다.
  • 신뢰성이 낮은 ->패킷 손실 시 재전송이 자동으로 이루어지지 않음
  • 순서 보장 없음 -> 수신된 데이터의 순서는 보장되지 않음.
  • 오버에드가 적음 -> 헤더크기가 작아 네트워크 부하가 적다.

UDP사용 사례

UDP는 전송 속도가 중요하지만, 데이터의 정확성이 100% 보장될 필요가 없는 서비스에서 주로 사용된다.

서비스 설명
VolP(인터넷 전화) 실시간 음성 데이터를 빠르게 전달해야 하므로 사용 됨
IPTV(인터넷 방송) 영상 스트리밍에서 약간의 ㅔㄷ이터 손실이 발생해도 싱청에 큰 문제가 없기 때문
온라인 게임 빠른 반응이 필요하며, 일부 패킷 손실이 있어도 게임 진행에 크게 영향을 주지 않음
DNS(Domain Name System) 도메인 이름을 IP 주소로 변환하는 과정에서 빠른 응답이 필요
DHCP(Dynamic Host Configuration Protocol) IP 주소를 동적으로 할당하는 과정에서 가벼운 데이터 전송이 필요
TFTP(Trivial File Transfer Protocol 간단한 파일 전송에 사용되며, 신뢰성보다는 속도가 중요

📌 FTP(File Transfer Protocol) 

파일 송수신을 위한 프로토콜로, 데이터를 Binary 또는 ASCII형태로 전송할 수 있다. 서버-클라이언트 구조로 동작하며, 사용자는 ID/비밀번호 인등 또는 익명 접속을 통해 서버에 접속할 수 있다.

FTP의 동작 방식

FTP는 제어와 데이터 전송을 분리하여 동작한다

1.ACTIVE(능동) 모드

  • 클라이언트 -> 서버의 21번 포트로 연결 요청
  • 서버 -> 클라이언트가 정한 포트로 데이터 전송
  • 클라이언트가 방화벽을 설정한 경우 연결이 차단될 가능성 있음

2.PASSIVE(수동) 모드

  • 클라이언트 -> 서버의 21번 포트로 연결 요청
  • 서버 -> 사용 가능한 랜덤 포트를 할당하여 클라이언트와 연결
  • 방화벽 문제를 해결하기 위해 주로 사용됨

FTP의 보안 문제

FTP는 기본적으로 보안이 취약하여 크레덴셜(사용자 ID/비밀번호)이 평문으로 전송된다. 따라서, 패킷 스니핑에 노출될 위험이 있다.

보안  문제 설명 해결 방법
평문 로그인 ID/비밀번호가 암호화되지 않고 전송됨 SFTP, FTPS 사용
디렉터리 이동(Directory Traversal) 공격 공격자가 cd ../../ 명령어로 상위 디렉터리 접근 가능 chroot 설정으로 루트 디렉터리 제한
익명 로그인 허용 누구나 FTP 서버에 접근할 수 있음 익명 접근 비활성화
데이터 도청(패킷 스니핑) 전송 중인 파일이 해킹될 가능성 TLS/SSL 암호화 적용

📌 TFTP(Trivial FTP) 

TFTP란?

TFTP는 FTP와 유사하지만 간소화된 파일 전송 프로토콜로, 소용량 파일 전송에 최적화되어 있다. **UDP(69번 포트)**를 사용하며, 신뢰성보다 속도를 중시하는 네트워크 환경에서 주로 사용된다.

TFTP의 주요 특징

특징  설명
파일 전송 FTP와 유사하지만 소규모 파일만 전송 가능
UDP 사용(69번 포트) 연결 설정 없이 빠른 데이터 전송 가능
신뢰성 낮음 TCP 기반의 FTP와 달리 오류 제어 및 보장 기능 없음
간단한 구조 사용자 인증, 디렉터리 탐색 기능 없음
저용량 네트워크 환경 적합 라우터, 스위치 설정 파일 전송에 유용

TFTP의 활용 사례

  1. 네트워크 장비의 설정 및 펌웨어 업그레이드
    • 라우터, 스위치의 ISO 이미지 및 설정 파일 전송
  2. 프린터 설정 파일 업로드
  3. 리눅스 네트워크 부팅(PXE Boot) 환경에서 OS 배포

TFTP의 보안 문제점

TFTP는 인증 메커니즘이 없어 보안에 취약하다. 따라서 해커가 설정 파일을 유출하거나 악성 파일을 업로드하는 등의 공격에 노출될 수 있다.

🔹 보안 취약점 & 해결 방법

보안  문제 설명 해결 방법
인증 없음 사용자 인증 없이 누구나 접근 가능 방화벽으로 접근 제한
데이터 암호화 없음 전송 데이터가 그대로 노출됨 VPN, 보안 터널링 사용
파일 조작 위험 악성 설정 파일이 업로드될 가능성 파일 업로드 제한 및 모니터링
디렉터리 탐색 불가 지정된 디렉터리 외 파일 접근 불가 필요한 파일만 저장하도록 구성

TFTP 보안 강화 방법

  • TFTP 서버 접근을 방화벽으로 제한
  • TFTP 로그 모니터링 강화
  • TFTP 대신 SFTP(SSH 기반) 또는 FTPS(SSL/TLS 기반) 사용 고려
  • VPN 또는 보안 네트워크 내에서만 사용하도록 설정

💡 TFTP는 보안이 취약하므로, 보안이 중요한 환경에서는 사용을 지양하고, 대신 SFTP/FTPS와 같은 안전한 프로토콜을 사용하는 것이 좋다! 🔐

📌 Telnet 

Telnet이란?

Telnet은 **TCP(23번 포트)**를 사용하는 연결지향적 프로토콜로, 서버/클라이언트 구조를 기반으로 한다. 주로 원격 장비(라우터, 스위치, 서버 등)의 관리 및 설정 변경에 사용된다.

Telnet의 주요 특징

특징 설명
TCP 기반(23번 포트 사용) 신뢰성 있는 연결 제공
서버/클라이언트 구조 클라이언트가 원격 서버에 접속
원격 관리 기능 제공 라우터, 스위치 등의 네트워크 장비 설정 가능
파일 전송 기능 제한적 기본적인 파일 전송 가능하지만 FTP와 함께 사용되는 경우 많음
보안 취약(암호화 없음) 평문(Plain Text)으로 데이터 전송

Telnet의 활용 사례

  1. 네트워크 장비(라우터, 스위치) 원격 접속 및 설정 변경
  2. 서버 원격 로그인 및 관리
  3. 네트워크 문제 해결을 위한 테스트용 접속

Telnet의 보안 문제점

Telnet은 암호화가 전혀 되어 있지 않으며, 모든 데이터(사용자 ID, 패스워드 포함)가 평문(Plain Text)으로 전송된다. 따라서 패킷 스니핑 공격(패킷 캡처)을 통해 계정 정보가 유출될 위험이 높다.

🔹 보안 취약점 & 해결 방법

보안 문제 설명 해결 방법

보안  문제 설명  해결 방법
데이터 암호화 없음 로그인 정보 및 명령어가 그대로 노출됨 SSH(22번 포트) 사용
중간자 공격(MITM) 공격자가 통신을 가로채 조작 가능 VPN 사용 및 방화벽 설정
불법 접근 위험 네트워크 스캐닝으로 쉽게 노출됨 IP 접근 제한 및 ACL 설정

Telnet 보안 강화 방법

  • Telnet 사용을 지양하고, SSH(암호화된 원격 접속) 사용
  • VPN 및 방화벽으로 Telnet 접근 제한
  • 사용자 인증 강화 및 ACL(Access Control List) 설정
  • 로그 모니터링을 통해 비정상적인 접속 감지

💡 요약: Telnet은 보안이 취약하므로, 원격 접속에는 암호화된 SSH(22번 포트)를 사용하는 것이 필수! 🔐

📌 SNMP(Simple Network Management Protocol) 

SNMP란?

SNMP는 **UDP(161번 포트)**를 사용하는 네트워크 관리(모니터링) 프로토콜이다. 주로 네트워크 장비(라우터, 스위치, 서버 등)의 상태를 감시하고 관리하는 데 사용된다.

SNMP의 주요 특징

특징 설명

특징 설명
UDP 기반(161번 포트 사용) 빠른 응답 속도
네트워크 장비 모니터링 장비의 상태 정보 수집 및 관리
Agent(클라이언트) & Manager(서버) 구조 네트워크 노드들이 주기적으로 상태 정보를 보고
MIB(Management Information Base) 활용 네트워크 정보 저장
버전별 보안 차이 v1은 보안 취약, v2는 보안 강화, v3는 암호화 지원

SNMP의 동작 방식

  1. Agent(네트워크 장비) → Manager(서버)로 상태 정보 전송
    • 네트워크 장비(라우터, 스위치 등)에는 SNMP Agent가 실행됨
    • Agent는 정기적으로(Polling) 상태 정보를 SNMP Manager(서버)로 전송
  2. MIB(Management Information Base)에 데이터 저장
    • 수집된 네트워크 상태 정보는 MIB 데이터베이스에 저장
  3. 네트워크 이벤트 감지 및 경고 전송
    • 포트 고장, 불법 접속 시도, 대역폭 이상 증가 등의 이벤트 발생 시
    • SNMP 관리자가 경고 메시지 또는 이메일을 수신

SNMP 버전별 보안 차이

버전  보안 수준 특징
SNMPv1 매우 취약 public(읽기) / private(쓰기) community name 사용, 암호화 없음
SNMPv2c 강화됨 community name 기반 접근제어, 보안은 여전히 취약
SNMPv3 강력 사용자 인증 및 데이터 암호화 지원, 안전한 원격 관리 가능

SNMP의 보안 문제점 & 해결 방법

보안 문제  설명  해결 방법
community name 노출 위험 public / private 값이 기본 설정 SNMPv3 사용 + 강력한 community name 설정
UDP 기반으로 취약 데이터가 암호화되지 않음 VPN 사용 또는 방화벽 설정
불법적인 네트워크 스니핑 가능 해커가 네트워크 장비 정보를 훔칠 수 있음 MIB 접근 통제 및 ACL 설정

SNMP 보안 강화 방법

  • 가능하면 SNMPv1/v2c 대신 SNMPv3 사용(암호화 및 인증 지원)
  • 기본 community name(public / private) 변경
  • ACL(Access Control List) 설정으로 특정 IP만 접근 허용
  • 네트워크 장비의 불필요한 SNMP 서비스 비활성화
  • 방화벽을 통해 SNMP 요청을 제한

💡 요약: SNMP는 네트워크 모니터링을 위한 필수 프로토콜이지만, 보안 취약점이 크므로 SNMPv3 사용과 보안 설정이 필수! 🔒

프로토콜 설명 프로토콜 번호(16진수)
ICMP (Internet Control Message Protocol) 네트워크 오류 메시지 및 진단 (예: ping) 1 (0x01)
TCP (Transmission Control Protocol) 신뢰성 있는 연결형 전송 6 (0x06)
EGP (Exterior Gateway Protocol) AS(자율 시스템) 간 라우팅 8 (0x08)
IGRP (Interior Gateway Routing Protocol) / IGP Cisco의 내부 라우팅 프로토콜 9 (0x09)
UDP (User Datagram Protocol) 비연결형, 빠른 데이터 전송 17 (0x11)
EIGRP (Enhanced IGRP) IGRP 개선형, Cisco 전용 라우팅 프로토콜 88 (0x58)
OSPF (Open Shortest Path First) 링크 상태 기반 라우팅 프로토콜 89 (0x59)
IPv6 (IP version 6) 차세대 인터넷 프로토콜 41 (0x29)
GRE (Generic Routing Encapsulation) 터널링 프로토콜 47 (0x2F)
ESP (Encapsulating Security Payload) IPsec 데이터 암호화 50 (0x32)
AH (Authentication Header) IPsec 인증 및 무결성 보장 51 (0x33)
반응형

'네트워크' 카테고리의 다른 글

IPv6  (1) 2025.04.11
Back-to-Back 환경 구축하기  (0) 2025.04.10
이더넷  (0) 2025.04.09
OSI (Open Systems Interconnection) 모델  (0) 2025.04.09
네트워킹  (0) 2025.04.09