본문 바로가기

Infra/리눅스 서버

[리눅스 보안] 서버 관리 - SNMP 서비스 Sommunity String의 복잡성 설정

[리눅스 보안] 서버 관리 - SNMP 서비스 Sommunity String의 복잡성 설정



■ 대상 OS : SunOS, Linux, AIX, HP-UX


■ 취약점 개요

    - *SNMP(Simple Network Management Protocol) 서비스는 시스템 상태를 실시간으로 파악하는 *NMS(Network Management System)를 위하여 UNIX 시스템에서 기본적으로 제공하는 서비스이며 정보를 받기 위해 일종의 패스워드인 Community String을 사용함

    - *Community String은 Default로 public, private로 설정된 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 시스템의 주요 정보 및 설정을 파악할 수 있음


    *SNMP(Simple Network Management Protocol) : TCP/IP 기반 네트워크상의 각 호스트에서 정기적으로 여러 정보를 자동으로 수집하여 네트워크 관리를 하기 위한 프로토콜을 의미함.

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

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


■ 보안대책

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

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


■ 조치방법

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


■ 보안설정 방법

    ◆ OS별 점검 파일 위치 및 점검 방법

        - SunOS, 9 이하 버전

          #vi /etc/snmp/conf/snmpd.conf

          read-community public / write-community private

        - SunOS 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"을 사용하는 경우 아래의 보안설정 방법에 따라 설정을 변경


    ◆ OS별 snmpd.conf 파일 위치

        - SunOS

          /etc/snmpd.conf

          /etc/snmp/snmpd.conf

          /etc/snmp/conf/snmpd.conf

          /etc/sma/snmp/snmpd.conf  (SunOS 10 버전 일 경우)

        - Linux

          /etc/snmpd.conf

          /etc/snmp/snmpd.conf

          /etc/snmp/conf/snmpd.conf

        - AIX

          SNMP V1 을 사용할 경우 : /etc/snmpd.conf

          SNMP V3 을 사용할 경우 : /etc/snmpdv3.conf

        - HP-UX

          /etc/snmpd.conf

          /etc/snmp/snmpd.conf

          /etc/snmp/conf/snmpd.conf


    ※ 일부 정보보호시스템에 설치 경로에 따라 다를 수 있음


■ SunOS

    1. vi 편집기를 이용하여 SNMP 설정파일을 연 후

    2. Community String 값 설정 변경(추측하기 어려운 값으로 설정)

    - SunOS 9 이하 버전

      #vi /etc/snmp/conf/snmpd.conf

      (수정 전) read-community public / write-community private

      (수정 후) read-community <변경 값> / write-community <변경 값>

    - SunOS 10 이상 버전

      #vi /etc/sma/snmp/snmpd.conf

      (수정 전) read-community public / rwcommunity private

      (수정 후) rocommunity <변경겂> / rwcommunity <변경 값>


 Linux

    1. vi 편집기를 이용하여 SNMP 설정파일을 연 후

       #vi /etc/snmp/snmpd.conf

    2. Community String 값 설정 변경 (추측하기 어려운 값으로 설정)

       (수정 전) com2sec notConfigUser default public

       (수정 후) com2sec notConfigUser default <변경 값>


 AIX

    1. vi 편집기를 이용하여 SNMP 설정파일을 연 후

       #vi /etc/snmpdv3.conf

    2. Community String 값 설정 변경 (추측하기 어려운 값으로 설정)

       (수정 전) COMMUNITY public public noAuthNoPriv 0.0.0.0 0.0.0 -

       (수정 후) COMMUNITY <변경 값> <변경 값> noAuthNoPriv 0.0.0.0 0.0.0 -


■ HP-UX

    1. vi 편집기를 이용하여 SNMP 설정파일을 연 후

       #vi /etc/snmpd.conf

    2. Community String 값 설정 변경 (추측하기 어려운 값으로 설정)

       (수정 전) get-community-name : public / set-community-name : private

       (수정 후) get-community-name : <변경 값> / set-community-name : <변경 값>


■ 조치 시 영향

    - NMS에서 서버를 모니터링 하는 경우 SNMP를 사용하며, 기타 SNMP를 사용할 경우 Community String 변경 시 통신하고자 하는 Server/Client에 모두 같은 Community String을 사용하여야 함




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기