📌 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의 활용 사례
- 네트워크 장비의 설정 및 펌웨어 업그레이드
- 라우터, 스위치의 ISO 이미지 및 설정 파일 전송
- 프린터 설정 파일 업로드
- 리눅스 네트워크 부팅(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의 활용 사례
- 네트워크 장비(라우터, 스위치) 원격 접속 및 설정 변경
- 서버 원격 로그인 및 관리
- 네트워크 문제 해결을 위한 테스트용 접속
✅ 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의 동작 방식
- Agent(네트워크 장비) → Manager(서버)로 상태 정보 전송
- 네트워크 장비(라우터, 스위치 등)에는 SNMP Agent가 실행됨
- Agent는 정기적으로(Polling) 상태 정보를 SNMP Manager(서버)로 전송
- MIB(Management Information Base)에 데이터 저장
- 수집된 네트워크 상태 정보는 MIB 데이터베이스에 저장됨
- 네트워크 이벤트 감지 및 경고 전송
- 포트 고장, 불법 접속 시도, 대역폭 이상 증가 등의 이벤트 발생 시
- 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 |