Home » SNMP v3: Secure Network Monitoring แบบเข้ารหัส
SNMP v3: Secure Network Monitoring แบบเข้ารหัส
SNMP v3: Secure Network Monitoring แบบเข้ารหัส
SNMP v3 (Simple Network Management Protocol version 3) เป็นเวอร์ชันล่าสุดของ SNMP ที่เพิ่ม security features สำคัญ ได้แก่ authentication (ยืนยันตัวตน) และ encryption (เข้ารหัสข้อมูล) แก้ปัญหาที่ SNMP v1/v2c มีมาตลอด คือส่ง community string แบบ plaintext ซึ่งอาจถูก sniff ได้ง่าย
หลายองค์กร ยังใช้ SNMP v2c อยู่ เพราะ config ง่ายกว่า แค่ใส่ community string แต่ SNMP v2c ส่ง community string แบบ clear text ใครก็ตามที่ sniff traffic ได้ก็จะได้ community string ไป ซึ่งอาจใช้ read/write ค่า config ของอุปกรณ์ได้ SNMP v3 แก้ปัญหานี้ด้วย authentication + encryption บทความนี้จะสอนวิธี config และใช้งาน
SNMP v1 vs v2c vs v3
| คุณสมบัติ |
SNMP v1 |
SNMP v2c |
SNMP v3 |
| Authentication |
Community string (plaintext) |
Community string (plaintext) |
Username + auth protocol (MD5/SHA) |
| Encryption |
ไม่มี |
ไม่มี |
DES / AES-128/192/256 |
| Access Control |
Community-based |
Community-based |
User-based (USM) + View-based (VACM) |
| GetBulk |
ไม่มี |
มี (เร็วกว่า GetNext) |
มี |
| 64-bit Counters |
ไม่มี |
มี |
มี |
| Security Level |
ต่ำ |
ต่ำ |
สูง (authPriv) |
SNMP v3 Security Levels
| Security Level |
Authentication |
Encryption |
เหมาะกับ |
| noAuthNoPriv |
ไม่มี (username only) |
ไม่มี |
ไม่แนะนำ (เหมือน v1/v2c) |
| authNoPriv |
มี (MD5/SHA) |
ไม่มี |
ยืนยันตัวตน แต่ data ไม่เข้ารหัส |
| authPriv |
มี (MD5/SHA) |
มี (DES/AES) |
แนะนำ (ปลอดภัยที่สุด) |
SNMP v3 Components
| Component |
บทบาท |
| USM (User-based Security Model) |
จัดการ users, authentication, encryption |
| VACM (View-based Access Control Model) |
ควบคุมว่า user เข้าถึง OID ไหนได้บ้าง |
| Engine ID |
Unique identifier ของ SNMP agent แต่ละตัว |
| Context |
ชื่อ context สำหรับแยก access (เช่น VRF) |
Authentication Protocols
| Protocol |
Hash Algorithm |
ความปลอดภัย |
| MD5 (HMAC-MD5-96) |
MD5 (128-bit) |
ต่ำ (deprecated ไม่แนะนำ) |
| SHA (HMAC-SHA-96) |
SHA-1 (160-bit) |
ปานกลาง (ยังใช้ได้) |
| SHA-224 |
SHA-2 (224-bit) |
ดี |
| SHA-256 |
SHA-2 (256-bit) |
ดีมาก (แนะนำ) |
| SHA-384 |
SHA-2 (384-bit) |
ดีมาก |
| SHA-512 |
SHA-2 (512-bit) |
ดีที่สุด |
Encryption Protocols
| Protocol |
Algorithm |
ความปลอดภัย |
| DES (CBC-DES) |
DES (56-bit key) |
ต่ำ (deprecated) |
| 3DES |
Triple DES (168-bit) |
ปานกลาง (ช้า) |
| AES-128 |
AES (128-bit key) |
ดี (แนะนำ) |
| AES-192 |
AES (192-bit key) |
ดีมาก |
| AES-256 |
AES (256-bit key) |
ดีที่สุด |
Configuration (Cisco IOS)
ตัวอย่าง Config บน Cisco Router/Switch
สร้าง SNMP v3 group: snmp-server group MONITOR-GROUP v3 priv สร้าง SNMP v3 user: snmp-server user monitor-user MONITOR-GROUP v3 auth sha AuthPass123 priv aes 128 PrivPass456 กำหนด contact + location: snmp-server contact [email protected] + snmp-server location Bangkok-DC1
SNMP v3 + NMS Tools
| NMS Tool |
SNMP v3 Support |
Config |
| Zabbix |
Full (authPriv) |
Host config: SNMP v3 + credentials |
| PRTG |
Full (authPriv) |
Device settings: SNMP v3 tab |
| LibreNMS |
Full (authPriv) |
Device add: SNMP v3 credentials |
| Nagios |
Full (via plugins) |
check_snmp plugin with -l/-a/-x flags |
| Grafana + Telegraf |
Full (authPriv) |
Telegraf SNMP input plugin config |
| SolarWinds |
Full (authPriv) |
Node properties: SNMP v3 |
Migration from v2c to v3
| Step |
Action |
| 1. Inventory |
รายการ devices ทั้งหมดที่ใช้ SNMP + NMS ที่ poll |
| 2. Plan credentials |
กำหนด username, auth protocol, priv protocol, passwords |
| 3. Config devices |
เพิ่ม SNMP v3 config บนทุก device (ยังไม่ลบ v2c) |
| 4. Update NMS |
เปลี่ยน NMS ให้ poll ด้วย SNMP v3 แทน v2c |
| 5. Verify |
ตรวจสอบว่า NMS poll ด้วย v3 ได้ปกติทุก device |
| 6. Remove v2c |
ลบ SNMP v2c community strings ออกจากทุก device |
| 7. Firewall |
อนุญาต SNMP (UDP 161/162) เฉพาะจาก NMS IP |
Best Practices
| Practice |
รายละเอียด |
| ใช้ authPriv เสมอ |
Authentication + Encryption ทั้งคู่ |
| ใช้ SHA-256 + AES-128 ขึ้นไป |
หลีกเลี่ยง MD5 + DES (deprecated) |
| Password ที่แข็งแรง |
Auth + priv passwords ต้อง complex (12+ chars) |
| Restrict access by IP |
ACL ให้เฉพาะ NMS IP เท่านั้นที่ query SNMP ได้ |
| Read-only เป็นหลัก |
ใช้ read-only access ยกเว้นจำเป็นต้อง write |
| SNMP v3 trap receivers |
Config trap receiver ด้วย v3 credentials ด้วย |
| Rotate credentials |
เปลี่ยน passwords เป็นประจำ (ทุก 90 วัน) |
ทิ้งท้าย: SNMP v3 = SNMP ที่ปลอดภัย
SNMP v3 เป็น must-have สำหรับ secure network monitoring ใช้ authPriv (SHA-256 + AES-128) เป็นมาตรฐาน migrate จาก v2c ทีละ step (เพิ่ม v3 → test → ลบ v2c) restrict SNMP access ด้วย ACL + firewall rules ไม่มีเหตุผลที่จะใช้ v1/v2c ในปี 2568
อ่านเพิ่มเติมเกี่ยวกับ Network Performance Monitoring และ Network Access Control ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com