[SRV-001] 안전한 네트워크 모니터링 서비스 사용

2025. 2. 21. 16:50보안 컨설팅/기술적 취약점 점검

기존 SNMP 커뮤니티 스트링 검사하는 판단기준에서

SNMP V3를 사용할 수 있는 환경이면 authpriv 설정이 되어있는지 확인 하는 판단기준이 추가되었다.

 

snmp v1, v2

snmp v1, v2 만 사용가능한 환경이라면 Community String을 검사한다. (Public, Private -> 취약)

snmp v1, v2만 사용가능한 환경?

-> Linux 기준) snmp 버전 4.0.0 미만의 버전에서 v3를 기본적으로 제공하지 않는다.

-> AIX 기준) snmp 버전이 다르므로 조사가 필요하다. 

 

그러므로 snmp 4.0.0 미만의 버전에서는 community String만 검사하면 된다.

 

SNMP V3

SNMP V3를 사용할 수 있는 환경에서는 authpriv가 없을 시 취약이다.

즉, snmp 4.0.0 이상의 버전에서는 authpriv 가 없을 시 취약이다.

 

snmp 버전을 확인 후 snmp v1,v2만 가능환 환경이면 community string으로 판별하고 

snmp v3가 가능한 환경이면 authrpriv 존재 유무를 확인하고 양호 취약을 판별하면 된다.

 

스크립트 작성 시 문제점

스크립트 작성 시 버전 확인 후 존재 유뮤를 판단하게 하면 조건문이 복잡해진다.

또한 AIX 기준 snmp 버전 확인 방법을 모르기 때문에 문제가 있다.

 

해결방법

그래서 다른 방법을 생각 해냈다. (대부분 들어 맞을것이다)

보통 /etc/snmp/snmpd.conf에 아래와 같이 사용자 설명과 설정 도움을 위해 주석 코드가 있다.

그래서 주석 코드 유무를 기준으로 판단을 할것이다.

 

 

스크립트 판단기준

/etc/snmp/snmpd.conf 파일에 rouser, createUser이 있으면 snmp v3가 사용할 수 있는 환경이다. 

 

--> /etc/snmp/snmpd.conf 파일에 rouser, createUser이 있는데도(v3 사용할 수 있는 환경인데도) authpriv 없으면 취약

--> /etc/snmp/snmpd.conf 파일에 rouser, createUser이 있고(v3 사용할 수 있는 환경이고) authpriv 있으면 양호

 

추가 snmp 테스트를 위한 명령어

1. snmp 설치

apt install -y snmp snmpd

 

2. snmp 확인

systemctl status snmpd 또는

service snmpd status

 

3. snmp 시작

systemctl start snmpd 또는

service snmpd start

 

4. 파일 확인

vi /etc/snmp/snmpd.conf 또는 

nano /etc/snmp/snmpd.conf