[리눅스/서비스 관리] SNMP 서비스 Community String의 복잡성 설정 (U-67)

SNMP 서비스 Community String의 복잡성 설정

 

취약점 개요

■ 위험도
- 중

■ 점검 목적
- Community String 기본 설정인 Public, Private는 공개된 내용으로 공격자가 이를 이용하여 SNMP 서비스를 통해 시스템 정보를 얻을 수 있기 때문에 Community String을 유추하지 못하도록 설정해야 함

■ 보안 위협
- Community String은 Default로 public, private로 설정된 경우가 많으며, 이 를 변경하지 않으면 이 String을 악용하여 환경설정 파일 열람 및 수정을 통 한 공격, 간단한 정보수집에서부터 관리자 권한 획득 및 Dos 공격까지 다양한 형태의 공격이 가능함


점검 및 조치 방법

■ 판단 기준
- 양호 : SNMP Community 이름이 public, private 이 아닌 경우
- 취약 : SNMP Community 이름이 public, private 인 경우

■ 조치 방법
- snmpd.conf 파일에서 커뮤니티명을 확인한 후 디폴트 커뮤니티 명인 “public, private”를 추측하기 어려운 커뮤니티명으로 변경

■ 점검 및 조치 사례


■ SOLARIS
Step 1) vi 편집기를 이용하여 SNMP 설정 파일 열기
Step 2) Community String 값 설정 변경 (추측하기 어려운 값으로 설정)
<SOLARIS9 이하 버전>
#vi /etc/snmp/conf/snmpd.conf
(수정 전) read-community public / write-community private
(수정 후) read-community <변경 값> / write-community <변경 값>
<SOLARIS10 이상 버전>
#vi /etc/sma/snmp/snmpd.conf
(수정 전) rocommunity public / rwcommunity private
(수정 후) rocommunity <변경 값> / rwcommunity <변경 값>
Step 3) 서비스 재구동
<SOLARIS9 이하 버전>
# ps –ef | grep snmp
# kill –HUP [PID]
<SOLARIS10 이상 버전>
# svcs –a | grep snmpdx
# svcadm disable svc:/application/management/snmpdx:default
# svcadm enable svc:/application/management/snmpdx:default

 

■ LINUX
Step 1) vi 편집기를 이용하여 SNMP 설정파일 열기
#vi /etc/snmp/snmpd.conf
Step 2) Community String 값 설정 변경 (추측하기 어려운 값으로 설정)
(수정 전) com2sec notConfigUser default public
(수정 후) com2sec notConfigUser default <변경 값>
Step 3) 서비스 재구동
# service snmpd rstart
■ AIX
Step 1) vi 편집기를 이용하여 SNMP 설정 파일 열기
#vi /etc/snmpdv3.conf
Step 2) Community String 값 설정 변경 (추측하기 어려운 값으로 설정)
(수정 전) COMMUNITY public public noAuthNoPriv 0.0.0.0 0.0.0 -
(수정 후) COMMUNITY <변경 값> <변경 값> noAuthNoPriv 0.0.0.0 0.0.0 -
Step 3) 서비스 재구동
# ps –ef | grep snmp
# kill –HUP [PID]

 

■ HP-UX
Step 1) vi 편집기를 이용하여 SNMP 설정파일 열기
#vi /etc/snmpd.conf
Step 2) Community String 값 설정 변경 (추측하기 어려운 값으로 설정)
(수정 전) get-community-name: public / set-commnunity-name : private
(수정 후) get-community-name: <변경 값> / set-commnunity-name: <변경 값>
Step 3) 서비스 재구동
# ps –ef | grep snmp
# kill –HUP [PID]

■ 스크립트

echo " U-67 START "
echo " [U-67 SNMP 서비스 Community String 의 복잡성 설정] " 		>>$COMPUTERNAME 2>&1
cat /etc/snmp/snmpd.conf |grep -i "notConfigUser"			>>$COMPUTERNAME 2>&1
echo "U-67 END"
echo "============================================================"	>>$COMPUTERNAME 2>&1
echo ""


■ 용어 설명 / 팁
※ NMS(Network Management System): 네트워크 상의 모든 장비의 중앙 감시 체제를 구축하여 모니터링, 플래닝, 분석을 시행하고 관련 데이터를 보관하여 필요 즉시 활용 가능하게 하는 관리 시스템을 말함
※ Community String: SNMP는 MIB라는 정보를 주고받기 위해 인증 과정에서 일종의 비밀번호인 'Community String'을 사용함
※ 기반시설 시스템에서 SNMP 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해야 하는 경우 기본 community String 변경, 네트워크 모니터링 등의 보안 조치를 반드시 적용하여야 함

댓글

Designed by JB FACTORY