Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #W-30 SNMP Community String 복잡성 설정

반응형

1. 항목 설명

SNMP Community String은 SNMPv1/v2c에서 비밀번호와 비슷한 역할을 합니다. public, private 같은 기본값을 사용하면 비인가자가 시스템 정보와 설정에 접근할 가능성이 커집니다.

판단 기준: SNMP를 사용하지 않거나 Community String이 public/private가 아니면 양호, SNMP를 사용하면서 public/private를 사용하면 취약입니다.

2026 가이드 근거

출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, W-30, p.221. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

2. 점검 목적

기본 Community String을 추측하기 어려운 비기본 값으로 변경하여 비인가 SNMP 조회와 설정 변경 위험을 줄이는 것이 목적입니다.

3. 실습 환경

• 운영체제: Microsoft Windows Server 2019 Standard Evaluation

• OS 버전: 10.0.17763

• 최초 확인 Build: 17763.3650

• 가상화 환경: VMware, Inc. VMware20,1

• 컴퓨터 이름: WIN-RTQP19JGCE2

• 네트워크: VMware Host-only 격리망

• 실행 ID: W26-W30 통합 실행 결과 기준

4. 취약 상태 구성

SNMP Service를 실행하고 ValidCommunities 레지스트리에 기본 Community String public을 읽기 전용 권한으로 등록했습니다.

이 구성은 인터넷과 분리된 실습 VM에서만 수행했습니다.

구성 방법

$path = 'HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities'
New-Item -Path $path -Force
New-ItemProperty -Path $path -Name public -Value 4 `
    -PropertyType DWord -Force
Set-Service SNMP -StartupType Automatic
Start-Service SNMP

다음 명령으로 설정 상태를 확인했습니다.

Get-ItemProperty `
    'HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities'
Get-Service SNMP

5. 최초진단 결과

• 판정: 취약

• 자동 판정 근거: SNMP Service가 실행 중이며 기본 Community String public이 등록되어 있었습니다.

6. 조치 방법

public과 private 값을 제거하고 실습 전용 비기본 문자열 W30Lab_ReadOnly_2026을 읽기 전용으로 등록했습니다. 실제 운영 문자열은 비밀정보로 관리하고 블로그나 보고서에 평문으로 노출하면 안 됩니다.

$path = 'HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities'
Remove-ItemProperty -Path $path -Name public -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $path -Name private -ErrorAction SilentlyContinue
New-ItemProperty -Path $path -Name 'W30Lab_ReadOnly_2026' `
    -Value 4 -PropertyType DWord -Force
Restart-Service SNMP

Windows 설정 경로: 서비스 > SNMP Service > 속성 > 보안 > 허용된 커뮤니티 이름

7. 이행진단 결과

• 판정: 양호

• 자동 판정 근거: 기본값 public/private가 제거되고 실습용 비기본 Community String이 읽기 전용으로 설정되었습니다.

8. 실무 주의사항

Community String은 보고서와 화면 캡처에서 민감정보로 취급해야 합니다. 운영 증적은 전체 값을 가리고 기본값 사용 여부와 권한 수준만 확인할 수 있도록 처리하는 것이 좋습니다.

컨설턴트 조언

• public, private뿐 아니라 조직 공통값, 시스템명처럼 쉽게 추측 가능한 문자열도 확인합니다.

• 가능하면 읽기 전용 권한을 사용하고, 쓰기 권한이 필요한 경우 변경 승인과 접근 제어를 강화합니다.

• Community String 변경 시 NMS와 대상 서버의 값을 동시에 변경해 모니터링 중단을 방지합니다.

• SNMPv1/v2c는 암호화되지 않으므로 네트워크 제한과 SNMPv3 전환 계획을 함께 권고합니다.

9. 마무리

SNMP를 유지한다면 기본 Community String을 제거하고 비기본 읽기 전용 값과 접근 제어를 적용해야 합니다.

 

반응형