SNMP 서비스

2025. 1. 23. 13:26·프로젝트/인프라 취약점 진단 고도화

1. SNMP 서비스

SNMP 구성 요소

● Agent에 요청하여 MIB에 저장된 데이터를 Manager에게 전송한다고 생각하면 편함

 

구분 설명
NMS ● 네트워크를 모니터링하고 관리하는데 사용되는 소프트웨어, 하드웨어 시스템
Manager ● 관리 시스템.
● 관리자에게서 실행되는 소프트웨어.
● 관리용 메시지를 에이전트에 쿼리 요청 및 모니터링
Agent ● 관리되는 장비들 (허브, 라우터, 스위치, 브리지, 호스트 등).
● 관리되는 장치안에 탑재되는 소프트웨어
MIB ● 관리 장치의 정보가 집합된 데이터베이스. 리소스가 저장된 저장소
● 관리자가 조회하고 설정할 수 있는 정보

 

구분 설명
v1 ● 보안 기능이 존재하지 않음
v2 ● v1 버전에 보안 기능 및 네트워크 과부하 등 업데이트
● v1과 호환되지 않음
v2c ● v2의 보안 기능 제거
● 현재 가장 많이 사용됨
v3 ● Manager/Agent 구조를 개체로 바꿈
● 각 장치들은 모두 Manager/Agent가 될 수 있음
● 널리 사용되지 않음
● 인증과 암호화를 제공함
● Windows에서 기본적으로 제공되는 SNMP 서비스의 경우 v3를 지원하지 않음

 

Linux 운영체제(CentOS 및 Ubuntu) SNMP 서비스 검증

● 사용자 생성 명령어

sudo net-snmp-create-v3-user -ro -A <auth_password> -X <priv_password> -a SHA -x AES <user명>

구분 group 방식 rouser 방식
세부 설정 사용자를 그룹으로 묶고 access를 통해 세부 제어 가능 읽기 전용 사용자만 간편하게 설정 가능
예시 # SNMPv3 사용자 생성 (SHA 인증 + AES 암호화)
createUser secureAdmin SHA SecurePass123! AES SecureEnc123!
# 그룹 생성 및 사용자 매핑
group secureGroup v3 secureAdmin
# 그룹별 접근 제어 (authPriv: 인증+암호화 필요)
access secureGroup "" any authPriv exact systemonly none none
# rouser 또는 rwuser를 수동으로 생성하지 않을 경우 v3 통신 불가
rouser secureAdmin
# SNMPv3 사용자 생성 (SHA 인증 + AES 암호화)
createUser readOnlyUser SHA ReadOnlyPass! AES ReadOnlyEnc!


# 읽기 전용 사용자 등록
rouser readOnlyUser noauth

 

보안 수준 security-level 옵션 SNMP 버전 인증  여부 암호화 여부 양호/취약
noauth noauth SNMPv1, SNMPv2c, SNMPv3 없음 없음 취약
authnopriv auth SNMPv3 전용 필요
(SHA, MD5)
없음 취약
authpriv authPriv SNMPv3 전용 필요
(SHA, MD5)
필요
(AES, DES)
양호

 

● v3 계정을 생성할 경우 /var/lib/snmp/snmpd.conf 파일에 저장됨 ( 인증 및 암호화 알고리즘은 OID 번호로 표현 ) 

 

● SNMP v3 계정 생성 방식

- 명령어로 계정 생성 시 기본 값으로 MD5 및 DES 방식 알고리즘이 지정됨

인증 알고리즘 OID 암호화 알고리즘 OID
없음 1.3.6.1.6.3.10.1.1.1 없음 1.3.6.1.6.3.10.1.2.1
MD5/96bit 1.3.6.1.6.3.10.1.1.2 DES/56bit 1.3.6.1.6.3.10.1.2.2
SHA1/96bi 1.3.6.1.6.3.10.1.1.3 AES-CFB/128bit 1.3.6.1.6.3.10.1.2.3
SHA-256/192bit 1.3.6.1.6.3.10.1.1.4 AES/128bit 1.3.6.1.6.3.10.1.2.4
SHA-512/384bit 1.3.6.1.6.3.10.1.1.5 AES-CFB/192bit 1.3.6.1.6.3.10.1.2.5
AES-CFB/256bit 1.3.6.1.6.3.10.1.2.6

 

● SNMP v1, v2는 인증 및 암호화를 지원하지 않음

구분 com2sec + group 방식 rocommunity, rwcommunity 방식
세부 설정 커뮤니티 스트링별로 그룹 지정, 접근 제어 가능 단순히 읽기 권한만 설정
구성 방식 그룹으로 접근 권한 제어 가능 모든 IP에 대해 동일한 권한 부여
설정 방식 com2sec로 커뮤니티 스트링 정의 →
group으로 그룹 지정 → access로 접근 제어
rocommunity로 단순히 읽기 커뮤니티 스트링 지정

 

● SNMP 서비스가 authPriv로 동작할 경우에도 rocommunity 또는 rwcommunity가 존재할 경우 v1, v2 버전이 활성화 됨

 

Windows 운영체제 SNMP 검증

● SNMP 서비스 실행 확인

- 제어판 > 관리도구 > 서비스 > SNMP 서비스 > 속성

- 실행 > services.msc > SNMP 확인

 

- 실행 > wbemtest.exe > 쿼리 입력으로 SNMP 서비스 동작 확인

- 명령어 : SELECT State FROM Win32_Service WHERE Name='SNMP' AND State='Running'

 

● 커뮤니티 스트링 확인

레지스트리 경로 : System\\CurrentControleSet\\Service\\SNMP\\Parameters\\ValidCommunities

 

- 패스워드가 public 또는 private일 경우 취약으로 판단

- 커뮤니티 스트링이 존재하지 않을 경우 통신이 불가능 하므로 양호로 판단

커뮤니티 / 이름 기능(권한) 데이터 값(16진수)
복잡도 만족 문자열
또는 (설정 없음)
없음(none) 0x00000001 (1)
알림(notify) 0x00000002 (2)
public, private 등
복잡도 미흡 문자열
읽기 전용(read_only) 0x00000004 (4)
읽기, 쓰기(read_write) 0x00000008 (8)
읽기, 만들기(read_create) 0x00000010 (16)

 

'프로젝트 > 인프라 취약점 진단 고도화' 카테고리의 다른 글

WMI 서비스  (0) 2025.01.27
NetBIOS 서비스  (0) 2024.11.26
'프로젝트/인프라 취약점 진단 고도화' 카테고리의 다른 글
  • WMI 서비스
  • NetBIOS 서비스
real-again
real-again
realagin 님의 블로그 입니다.
  • real-again
    또또, 다시
    real-again
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로젝트
        • AOS 모바일 앱 모의해킹
        • Spring Boot 웹 애플리케이션 구축
        • [ESXi]인프라 구축 및 모니터링
        • 인프라 취약점 진단 고도화
      • CVE 분석
      • 기반 지식
        • AWS
        • 인프라
        • 웹 어플리케이션
        • Android
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    EC2
    android directory
    Snort
    콘텐츠 프로바이더
    spring boot
    하드코드
    AWS
    dvm
    diva
    splunk #esm
    insecure authentication/authorization
    pfsense
    owasp mobile top10
    aos정리
    app intsructure
    tocken
    vlan
    브로트캐스트
    통신 과정 취약점 진단
    sd스토리지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
real-again
SNMP 서비스
상단으로

티스토리툴바