SNMP(Simple Network Management Protocol)은 네트워크 장치 및 서버에서 정보를 수집하고 관리하기 위한 프로토콜입니다. SNMP는 네트워크 기기 간에 효과적으로 통신하고 모니터링하기 위한 표준화된 방법을 제공합니다. 초기 버전인 SNMPv1 및 SNMPv2c는 통신이 평문으로 이루어져 정보 유출이나 위변조의 위험이 있고, 커뮤니티 문자열이라는 간단한 문자열을 사용하여 인증을 수행하는 등 보안상 취약한 구조입니다.
점검 내용
- SNMP 서비스 활성화 여부 점검
- SNMP Community String 복잡성 설정 여부 점검
점검 목적
- 불필요한 SNMP 서비스 활성화로 인해 필요 이상의 정보가 노출되는 것을 막기 위해 SNMP 서비스를 중지해야함
- Community String 기본 설정인 Public, Private는 공개된 내용으로 공격자가 이를 이용하여 SNMP 서비스를 통해 시스템 정보를 얻을 수 있기 때문에 Community String을 유추하지 못하도록 설정해야함
보안 위협
- SNMP 서비스로 인하여 시스템의 주요 정보 유출 및 정보의 불법수정이 발생할 수 있음
- Community String은 Default로 public, private로 설정된 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 환경설정 파일 열람 및 수정을 통한 공격, 간단한 정보수집에서부터 관리자 권한 획득 및 Dos공격까지 다양한 형태의 공격이 가능함
점검 대상
- Linux : Rocky 9
판단 기준
- 양호 :
– SNMP 서비스를 사용하지 않는 경우
– SNMP Community 이름이 public, private 이 아닌 경우 - 취약 :
– 필요없는 SNMP 서비스를 사용하는 경우
– SNMP Community 이름이 public, private 인 경우
조치 방법
- SNMP 서비스가 필요없는 경우
- SNMP 서비스를 제공하는 핵심 패키지(net-snmp)가 설치되지 않았거나, 설치되었더라도 SNMP 서비스 데몬(snmpd, snmptrapd)이 활성화되지 않았으면 “양호”로 판단
dnf list installed net-snmp systemctl status snmpd snmptrapd
- SNMP 서비스 데몬(snmpd, snmptrapd)이 활성화되었다면 비활성화 조치
systemctl disable --now snmpd snmptrapd
- SNMP 서비스를 제공하는 핵심 패키지(net-snmp)가 설치되지 않았거나, 설치되었더라도 SNMP 서비스 데몬(snmpd, snmptrapd)이 활성화되지 않았으면 “양호”로 판단
- SNMP 서비스를 사용하는 경우는 SNMP Community 이름 점검
- SNMP 서비스 설정 파일(/etc/snmp/snmpd.conf)에서 SNMP Community 이름이 “public”이면 “취약”으로 판단
[root@rocky9u2 ~]# vi /etc/snmp/snmpd.conf..... MORE ..... # sec.name source community com2sec notConfigUser default public ..... MORE .....
- SNMP Community 이름을 추측하기 어려운 값으로 설정
[root@rocky9u2 ~]# vi /etc/snmp/snmpd.conf..... MORE ..... # sec.name source community com2sec notConfigUser default hard_to_guess ..... MORE .....
- SNMP 서비스 설정 파일(/etc/snmp/snmpd.conf)에서 SNMP Community 이름이 “public”이면 “취약”으로 판단
◁ DNS 서비스(named) 점검 | | | 웹 서비스(httpd) 점검 ▷ |
---|