[인프라진단] #U-59 안전한 SNMP 버전 사용
1. 항목 설명
SNMPv1·v2c는 Community String 기반이며 인증정보와 데이터 보호가 약합니다. SNMPv3의 인증·암호화 모드를 사용해야 감청과 위조 위험을 줄일 수 있습니다.
판단 기준: 가이드는 SNMPv3 이상 사용 여부를 기준으로 제시합니다. 이 실습에서는 인증과 암호화를 함께 적용하는 authPriv 구성을 사용했습니다.
2026 가이드 근거


2. 점검 목적
SNMP 관리 통신의 사용자 인증과 기밀성·무결성을 확보하는 것이 목적입니다.
3. 실습 환경
- 원본 진단 환경: Ubuntu 24.04.2 LTS
- 설정 화면 확인 환경: Ubuntu Server 24.04.4 LTS, Linux 6.8.0-138-generic
- 가상화 환경: VMware Workstation
- 호스트 이름: u-lab
- 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
- 원본 진단 실행 ID: 20260903-094131
- 원본 진단 수집일: 2026-09-03
- 증적 화면 캡처일: 2026-09-08
- 화면 수집 방식: VMware Ubuntu VM 콘솔 직접 캡처
최초진단과 이행진단 이미지는 2026-09-03에 실제 수집한 원본 결과를 VM 콘솔에서 열어 캡처했습니다. 원본 수집일과 화면 캡처일은 서로 다르며, 과거 결과를 오늘의 재진단 결과로 표시하지 않았습니다. 취약 상태 구성과 조치에는 격리된 관리 연결을 보조적으로 사용했습니다.
설정 확인 이미지는 캡처일의 VM에서 명령을 실행한 화면입니다. 실습 종료 후 서비스를 중지하거나 임시 설정을 제거한 항목은 당시 이행진단과 현재 상태가 다를 수 있습니다.
4. 취약 상태 구성
루프백 전용 snmpd에 rocommunity public을 설정해 SNMPv1/v2c Community 기반 모델을 활성화했습니다.
이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.
구성 방법
다음은 /etc/snmp/snmpd.conf에 적용한 실습용 설정입니다. public은 취약 상태 재현을 위한 예시 값입니다.
agentaddress udp:127.0.0.1:161
view systemonly included .1.3.6.1.2.1
rocommunity public 127.0.0.1 -V systemonly
구성 후 다음 명령으로 실제 상태를 확인했습니다.
sudo grep -E '^(agentaddress|rocommunity|rouser)' /etc/snmp/snmpd.conf; sudo systemctl is-active snmpd
5. 최초진단 결과
- 원본 진단 판정: 취약
- 원본 진단 판정 근거: 평문 Community를 사용하는 SNMPv1/v2c 설정이 확인됐습니다.

6. 조치 방법
공개 증적에 비밀값을 남기지 않고 SHA 인증과 AES 암호화를 사용하는 SNMPv3 authPriv 사용자로 전환했습니다.
sudo systemctl stop snmpd
# 실제 암호는 비공개 입력
sudo net-snmp-create-v3-user -ro -a SHA -x AES \
-A '<인증_암호>' -X '<암호화_암호>' u59audit
/etc/snmp/snmpd.conf에서 기존 rocommunity·rwcommunity를 제거하고 아래 설정으로 교체했습니다. 암호를 명령줄에 직접 넣으면 셸 이력이나 프로세스 인자에 남을 수 있으므로 실제 환경에서는 보호된 관리 절차를 사용해야 합니다.
agentaddress udp:127.0.0.1:161
view systemonly included .1.3.6.1.2.1
rouser u59audit priv -V systemonly
sudo chown root:root /etc/snmp/snmpd.conf
sudo chmod 0600 /etc/snmp/snmpd.conf
sudo systemctl start snmpd
원본 증적은 보안 모델 설정, 엔진 사용자 레코드 존재와 Community 제거 여부를 확인한 결과입니다. SNMPv3 클라이언트의 실제 인증·암호화 통신 성공까지 검증한 증적은 아니므로 운영 반영 시에는 별도 통신 시험이 필요합니다.
Linux 설정 확인 위치: snmpd 보안 모델, rouser와 엔진 사용자 존재 여부
후속 실습 종료 시 임시 SNMPv3 설정을 원래 설정으로 복원하고 snmpd를 중지·비활성화했습니다. 현재 설정 화면은 정리 상태이며, authPriv 적용과 Community 지시문 제거 여부는 U-59 이행진단 원본으로 확인합니다. 현재 Community 값과 비밀 키는 출력하지 않았습니다.

7. 이행진단 결과
- 원본 진단 판정: 양호
- 원본 진단 판정 근거: SNMPv3_authPriv, rouser ... priv와 엔진 사용자 레코드가 확인되고 Community 지시문은 없었습니다.

8. 실무 주의사항
SNMPv3라도 noAuthNoPriv나 authNoPriv는 요구 수준이 다릅니다. 사용자별 인증·암호화 알고리즘과 View 범위를 함께 확인해야 합니다.
컨설턴트 조언
- 비밀번호·엔진 키는 증적에 출력하지 말고 비밀 저장소에서 관리하며 장비별 고유 자격증명을 사용합니다.
- 허용 대상을 업무 IP와 관리 경유지 기준으로 최소화하고 IPv4·IPv6 규칙을 함께 확인합니다.
- 원격 방화벽 변경 전 현재 관리 세션과 별도의 복구 콘솔 또는 되돌리기 예약을 확보합니다.
- 설정 파일뿐 아니라 실제 리스너와 외부 관점의 접속 시험을 이행 증적으로 남깁니다.
9. 마무리
이번 실습에서는 실제 최초·이행진단 기록과 VM 콘솔 캡처를 비교했습니다. 운영 환경에서도 변경 후 기능 시험과 정기 재점검을 함께 수행해야 합니다.
'2026 주요정보통신기반시설 가이드 > Unix(Linux)' 카테고리의 다른 글
| [인프라진단] #U-61 SNMP Access Control 설정 (0) | 2026.09.09 |
|---|---|
| [인프라진단] #U-60 SNMP Community String 복잡성 설정 (0) | 2026.09.09 |
| [인프라진단] #U-58 불필요한 SNMP 서비스 구동 점검 (0) | 2026.09.08 |
| [인프라진단] #U-57 Ftpusers 파일 설정 (0) | 2026.09.08 |
| [인프라진단] #U-56 FTP 서비스 접근 제어 설정 (0) | 2026.09.08 |