1. 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 |