[리눅스 보안] 서버 관리 - 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
'Infra > 리눅스 서버' 카테고리의 다른 글
[리눅스 보안] 서버 관리 - NFS 설정파일 접근권한 (0) | 2017.04.15 |
---|---|
[리눅스 보안] 서버 관리 - 로그온 시 경고 메시지 설정 (0) | 2017.04.11 |
[리눅스 보안] 서버 관리 - SNMP 서비스 구동 점검 (0) | 2017.04.03 |
[리눅스 보안] 서버 관리 - at 파일 소유자 및 권한 설정 (0) | 2017.03.27 |
[리눅스 보안] 서버 보안 - Ftpusers 파일 설정 (0) | 2017.03.25 |