SNMP (Simple Network Management Protocol) - один из самых популярных протоколов для мониторинга сетевого оборудования, серверов и рабочих станций. Он позволяет получать данные о загрузке процессора, памяти, сетевых интерфейсах и многом другом. Однако, неправильная настройка SNMP может стать уязвимостью в системе. Разберем, как его правильно настроить.
1️⃣ Выбор версии SNMP. Существует три версии протокола:
SNMPv1 – устаревшая, передает данные в открытом виде (НЕ рекомендуется).
SNMPv2c – улучшенная версия, но всё еще без шифрования.
SNMPv3 – наиболее безопасная, поддерживает аутентификацию и шифрование (РЕКОМЕНДУЕТСЯ).
Для безопасного мониторинга лучше взять SNMPv3 с аутентификацией и шифрованием.
2️⃣ Настройка SNMP на Linux. Установка SNMP-сервера (snmpd)
sudo apt install snmp snmpd -y # Для Debian/Ubuntu
sudo yum install net-snmp net-snmp-utils -y # Для CentOS/RHEL
Редактирование конфигурации (/etc/snmp/snmpd.conf)
📍 Оставляем только нужные OID и включаем SNMPv3:
agentAddress udp:161,udp6:[::1]:161
rocommunity public default -V systemonly
sysLocation "Server Room"
sysContact "admin@networkadmin.ru"
📍 Перезапускаем службу:
sudo systemctl restart snmpd
sudo systemctl enable snmpd
📍 Проверяем работу SNMP:
snmpwalk -v2c -c public 127.0.0.1
3️⃣ Настройка SNMP на Windows. Установка SNMP
Для Windows 10/11 и Windows Server:
Enable-WindowsOptionalFeature -Online -FeatureName SNMP
Затем включите службу в services.msc и настройте параметры в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP через реестр.
4️⃣ Ограничение доступа по IP и Firewall. Чтобы SNMP не стал уязвимостью, ограничиваем доступ к нему.
На Linux (iptables/firewalld):
iptables -A INPUT -p udp --dport 161 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 161 -j DROP
На Windows:
New-NetFirewallRule -DisplayName "Allow SNMP" -Direction Inbound -Protocol UDP -LocalPort 161 -Action Allow -RemoteAddress 192.168.1.0/24
5️⃣ Мониторинг с помощью SNMP. Для сбора данных через SNMP можно использовать:
Zabbix
LibreNMS
Telegraf + InfluxDB + Grafana
snmpwalk/snmpget
Пример запроса данных с устройства:
snmpget -v2c -c public 192.168.1.1 .1.3.6.1.2.1.1.5.0
#SNMP #linux #windows #monitoring
🧑💻 NetworkAdmin