iBetter Books
수정

SNMP와 Telnet, SSH

네트워크 관리: SNMP

네트워크에 라우터, 스위치, 서버가 수백 대 있다면 각 장비의 상태를 어떻게 모니터링할까요. 일일이 접속해서 확인하는 것은 불가능합니다. SNMP(Simple Network Management Protocol)는 네트워크 장비를 중앙에서 관리하고 모니터링하는 프로토콜입니다.

SNMP의 구성 요소

SNMP는 세 가지 요소로 구성됩니다.

Manager (관리자): 네트워크 관리 소프트웨어가 실행되는 서버입니다. NMS(Network Management System)라고도 합니다. 모든 장비의 상태를 수집하고 표시합니다.

Agent (에이전트): 관리 대상 장비(라우터, 스위치 등)에서 실행되는 소프트웨어입니다. 장비의 상태 정보를 Manager에 제공합니다.

MIB (Management Information Base): Agent가 관리하는 정보의 데이터베이스입니다. CPU 사용률, 메모리, 인터페이스 상태, 트래픽 양 등의 정보가 구조화되어 있습니다. 객체 식별자(OID)로 각 항목을 구분합니다.

┌──────────┐          ┌──────────┐
│ Manager  │←──────→  │ Agent    │
│ (NMS)    │  SNMP    │ (라우터)  │
│          │  161/162 │ [MIB]    │
└──────────┘          └──────────┘
                      ┌──────────┐
               ←────→ │ Agent    │
                      │ (스위치)  │
                      │ [MIB]    │
                      └──────────┘

SNMP 동작 방식

동작 방향 설명 포트
Get Manager → Agent 특정 값 요청 161
GetNext Manager → Agent 다음 값 요청 161
Set Manager → Agent 값 변경 (설정) 161
Trap Agent → Manager 이벤트 알림 (비동기) 162

Get/GetNext/Set은 Manager가 Agent에 요청하는 폴링(Polling) 방식입니다. 주기적으로 상태를 확인합니다.

Trap은 Agent가 Manager에 자발적으로 알리는 이벤트 방식입니다. 장비에 문제가 생기면 즉시 알립니다. 링크 다운, CPU 과부하 같은 긴급 상황에서 사용합니다.

Community String

SNMP v1, v2c에서 인증에 사용하는 문자열입니다. 일종의 비밀번호이지만, 평문으로 전송되므로 보안이 취약합니다.

Community String 권한
public (기본값) 읽기 전용 (Read-Only)
private (기본값) 읽기/쓰기 (Read-Write)

실무에서는 기본값을 반드시 변경해야 합니다. 기본값을 그대로 사용하면 누구나 장비 정보를 조회하거나 설정을 변경할 수 있습니다.

SNMP 버전

버전 보안 특징
SNMPv1 Community String (평문) 기본 기능
SNMPv2c Community String (평문) GetBulk 추가, 성능 향상
SNMPv3 인증 + 암호화 사용자 기반 보안 모델 (USM)

시험에서는 "SNMP의 보안을 강화한 버전은?" → SNMPv3이라는 문제가 나올 수 있습니다.

원격 접속: Telnet

Telnet은 원격 장치에 텍스트 기반으로 접속하는 프로토콜입니다. 포트 23을 사용하며 TCP로 동작합니다.

관리자 PC                    원격 서버/라우터
   │                              │
   │── Telnet 접속 (포트 23) ────>│
   │                              │
   │<── 로그인 프롬프트 ──────────│
   │── 아이디/비밀번호 ──────────>│
   │                              │
   │  (텍스트 기반 원격 제어)      │

Telnet의 가장 큰 문제는 모든 데이터가 평문으로 전송된다는 것입니다. 아이디, 비밀번호, 명령어, 응답이 모두 암호화 없이 네트워크를 통해 전달됩니다. 네트워크를 도청하면 로그인 정보를 그대로 볼 수 있습니다.

보안 원격 접속: SSH

SSH(Secure Shell)는 Telnet의 보안 문제를 해결한 프로토콜입니다. 포트 22를 사용하며, 모든 통신이 암호화됩니다.

Telnet:  [평문 아이디] [평문 비밀번호] [평문 명령어] → 도청 가능
SSH:     [암호화 데이터] [암호화 데이터] [암호화 데이터] → 도청해도 해독 불가

Telnet vs SSH 비교

항목 Telnet SSH
포트 23 22
전송 평문 (비암호화) 암호화
보안 취약 강력
인증 아이디/비밀번호 비밀번호, 공개키 등
파일 전송 불가 SCP, SFTP 가능
현재 사용 거의 사용 안 함 표준 원격 접속

SSH는 원격 접속 외에도 다양한 기능을 제공합니다.

  • SCP(Secure Copy): SSH를 이용한 파일 복사
  • SFTP(SSH File Transfer Protocol): SSH를 이용한 파일 전송
  • SSH 터널링: 다른 프로토콜의 트래픽을 SSH로 암호화하여 전송

시험에서 묻는 핵심

네트워크관리사 시험에서 이 세 프로토콜은 주로 비교 문제로 출제됩니다.

"보안이 강화된 원격 접속 프로토콜은?" → SSH (22)
"평문으로 전송되어 보안에 취약한 원격 접속은?" → Telnet (23)
"네트워크 장비를 중앙에서 모니터링하는 프로토콜은?" → SNMP (161/162)
"SNMP에서 Agent가 Manager에 이벤트를 알리는 것은?" → Trap (162)

시험 포인트

  • SNMP: 네트워크 관리, UDP, 포트 161(Agent)/162(Trap)
  • SNMP 구성: Manager, Agent, MIB
  • SNMP 동작: Get, GetNext, Set (폴링), Trap (이벤트)
  • Community String: 기본값 public(읽기), private(쓰기) - 평문 전송
  • SNMPv3: 인증 + 암호화로 보안 강화
  • Telnet: 포트 23, 평문, 보안 취약
  • SSH: 포트 22, 암호화, 보안 강화 (SCP, SFTP 가능)

실무 매핑

  • 현재 실무에서 Telnet은 거의 사용하지 않습니다. 모든 원격 접속은 SSH로 합니다. 네트워크 장비(Cisco 라우터 등)도 SSH 접속을 권장하며, Telnet을 비활성화하는 것이 보안 정책의 기본입니다. 하지만 시험에서는 Telnet의 포트 번호와 특징이 여전히 출제됩니다.