주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/UNIX 서버 진단

3.31. SNMP 서비스 Community String의 복잡성 설정 [U-67] (중) - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드(2021)

재민스 2021. 11. 8. 07:30

가. 취약점 개요

    내용 : SNMP Community String 복잡성 설정 여부 점검

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

    보안 위협

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

    참고  

※ NMS(Network Management System): 네트워크상의 모든 장비의 중앙 감시 체제를 구 축하여 모니터링, 플래닝, 분석을 시행하고 관련 데이터를 보관하여 필요 즉시 활용 가능하게 하는 관리 시스템을 말함

※ Community String: SNMP MIB라는 정보를 주고받기 위해 인증 과정에서 일종의 비밀번호인 'Community String'을 사용함

기반시설 시스템에서 SNMP 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해야 하는 경우 기본 Comunity String 변경, 네트워크 모니터링 등의 보안 조치를 반 드시 적용하여야 함

 

나. 점검방법

    대상 : SOLARIS, LINUX, AIX, HP-UX

    판단기준

-      양호 : SNMP Community 이름이 public, private 이 아닌 경우

-      취약 : SNMP Community 이름이 public, private 인 경우

    점검 명령어

OS 점검 파일
SOLARIS
9이하 버전
#vi /etc/snmp/conf/snmpd.conf
read-community public / write-community private
SOLARIS
10이상 버전
#vi /etc/sma/snmp/snmpd.conf
rocommunity public / rwcommunity private
LINUX #vi /etc/snmp/snmpd.conf
com2sec notConfigUser default public
AIX #vi /etc/snmpdv3.conf
COMMUNITY public public noAuthNoPriv 0.0.0.0 0.0.0 -
HP-UX #vi /etc/snmpd.conf
get-community-name: public / set-community-name: private
위의 설정과 같이 디폴트 커뮤니티명인 “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]

 

라. 조치시 영향

    Community String 수정 시 Server/Client에 모두 같은 Community String으로 변경하지 않을 시 통신 장애가 일어날 수 있음