Komutları üretim sunucusunda çalıştırmadan önce yedek alın ve mümkünse bir test ortamında deneyin. Yönetim erişiminizi (SSH, panel) kaybetmemek için ayar değişikliklerinde açık bir ikinci oturum bulundurun.
Bu rehberde ne yapacağız?
Bu rehberde Linux sunucunuzdaki SNMP servisini (net-snmp snmpd) güvenli hale getirecek, eski community dizeleri yerine SNMPv3 kimlik doğrulama ve şifrelemeyi kuracaksınız. İzleme sistemleriyle çalışan hosting ve sunucu yöneticileri için hazırlanmıştır; yaklaşık 30-40 dakika sürer.
SNMP, cihazların izlenmesi için yaygın kullanılan bir protokoldür. SNMPv1 ve v2c sürümleri kimlik doğrulamayı düz metin bir community dizesiyle yapar; ağ üzerinde dinlenebilir ve varsayılan değerleri (public, private gibi) tahmin edilebilir. SNMPv3 ise kullanıcı bazlı kimlik doğrulama ve şifreleme sunar.
Gereksinimler
- Debian/Ubuntu veya AlmaLinux/Rocky Linux sunucu ve sudo yetkisi
- İzleme sunucunuzun SNMPv3 desteği ve IP adresi
- Güvenlik duvarını düzenleme yetkisi; yanlış kural uzaktan erişimi kesebilir, bu yüzden ikinci oturum açık kalsın
- Mevcut
snmpd.confdosyasının yedeği
Adım adım SNMP güvenliği
1. Paketleri kurun
Debian/Ubuntu için:
sudo apt update
sudo apt install snmpd snmpAlmaLinux/Rocky için:
sudo dnf install net-snmp net-snmp-utils2. Yapılandırmayı yedekleyin
sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.yedek3. Dinleme adresini sınırlayın ve eski community'leri kaldırın
Varsayılan yapılandırmada rocommunity, rwcommunity ve com2sec satırlarını yorum satırı yapın veya silin. Hiçbir koşulda yazma (rw) erişimi vermeyin. Dinleme adresini yalnızca gerekli arayüzle sınırlayın; yerel izleme için 127.0.0.1, merkezi izleme için özel yönetim adresiniz olabilir.
agentAddress udp:127.0.0.1:161Merkezi izleme sunucusu uzaktan erişecekse adresi yönetim ağı arayüzünüzün IP'si ile değiştirin (örneğin udp:10.10.10.5:161). Genel internet arayüzünde dinletmeyin.
4. SNMPv3 kullanıcısını tanımlayın
Salt okunur bir SNMPv3 kullanıcısı tanımlayın. Parolalar en az 8 karakter olmalıdır; aşağıdaki değerleri güçlü ve benzersiz parolalarla değiştirin. net-snmp belgesi, createUser satırının servis durdurulmuşken kalıcı depolama dosyasına yazılmasını önerir: Debian/Ubuntu'da /var/lib/snmp/snmpd.conf, AlmaLinux/Rocky'de /var/lib/net-snmp/snmpd.conf. Servis başladığında satır okunur, anahtara dönüştürülür ve açık metin parola dosyadan kaldırılır.
sudo systemctl stop snmpd
sudo nano /var/lib/snmp/snmpd.confcreateUser izlemeKullanici SHA GucluKimlikParolasi1 AES GucluSifrelemeParolasi2Yetki ve tanım satırlarını ise ana yapılandırmaya, /etc/snmp/snmpd.conf dosyasına ekleyin:
rouser izlemeKullanici priv
sysLocation Veri merkezi
sysContact sistem@example.compriv ifadesi, bu kullanıcı için hem kimlik doğrulama hem şifrelemeyi zorunlu kılar. Servisi başlattıktan sonra kalıcı dosyada createUser satırının yerini usmUser satırının aldığını kontrol edin. Sürümünüzde bulunuyorsa net-snmp-create-v3-user aracı da aynı işlemi yapar.
5. Servisi yeniden başlatın
Debian/Ubuntu için:
sudo systemctl restart snmpd
sudo systemctl enable snmpdAlmaLinux/Rocky için de servis adı snmpd'dir; aynı komutlar geçerlidir.
6. Güvenlik duvarında erişimi kısıtlayın
SNMP UDP 161 portunu kullanır. Yalnızca izleme sunucusu adresinden erişime izin verin. Aşağıdaki nftables örneğinde mevcut input zincirinizin adı olan girdi'yi ve filtre tablosunu kendi yapınıza göre uyarlayın.
sudo nft add rule inet filtre girdi ip saddr 10.10.10.20 udp dport 161 acceptBaşka kural yoksa 161 portu varsayılan drop politikası ile zaten kapalı kalır. Bu kuralı kalıcı yapmak için kural dosyanıza da ekleyin.
Doğrulama
İzleme sunucusundan veya yerelde snmpwalk ile SNMPv3 sorgusu yapın.
snmpwalk -v3 -l authPriv -u izlemeKullanici -a SHA -A 'GucluKimlikParolasi1' -x AES -X 'GucluSifrelemeParolasi2' 127.0.0.1 systemSistem adı, açıklaması ve çalışma süresi gibi bilgiler dönmelidir. Komut satırına yazılan parolalar süreç listesinde ve kabuk geçmişinde görünür; düzenli kullanım için bunları yalnızca sizin okuyabildiğiniz ~/.snmp/snmp.conf dosyasına defSecurityName, defAuthPassphrase, defPrivPassphrase gibi anahtarlarla yazın. Eski community ile sorgunun reddedildiğini de deneyin.
snmpwalk -v2c -c public 127.0.0.1 systemBu komut zaman aşımı veya yetkilendirme hatası vermelidir. Dinleme adresini sudo ss -ulpn | grep 161 ile kontrol edin.
Sık karşılaşılan sorunlar
- Timeout alıyorum: güvenlik duvarı UDP 161'i engelliyor olabilir ya da agentAddress satırı yanlış arayüzü gösteriyordur.
- Authentication failure: kullanıcı adı, algoritma (SHA/AES) veya parolalar iki tarafta farklıdır. Parola uzunluğunu da kontrol edin.
- Kullanıcı oluşmuyor veya sonradan kayboluyor: createUser satırı servis çalışırken eklenmiştir; snmpd kapanırken kalıcı dosyayı yeniden yazar. Servisi durdurup satırı yeniden ekleyin ve servisi başlatın.
- İzleme sistemi v3 desteklemiyor: sürümünü güncelleyin; mümkün değilse v2c'yi yalnızca yönetim ağına, salt okunur ve kısıtlı kaynak adresiyle sınırlayın.
Güvenlik ve bakım notları
- public ve private gibi varsayılan community dizelerini hiçbir cihazda bırakmayın.
- Yazma erişimi (rw) gerçekten gerekmedikçe vermeyin.
- SNMP erişimini yönetim ağı ve izleme sunucusu adresiyle sınırlayın; internete açmayın.
- Kimlik doğrulama ve şifreleme parolalarını farklı ve güçlü seçin, düzenli değiştirin.
- SNMP'nin yansıtma/amplifikasyon saldırılarında kötüye kullanılabildiğini unutmayın; dışarıya açık UDP 161 bırakmayın.
- Ağ cihazlarında da aynı ilkeleri uygulayın; komutlar için üreticinin belgesine bakın.
Sık sorulan sorular
SNMPv2c kullanmak güvenli mi?
v2c community dizesini şifresiz taşır ve ağ dinlemesine açıktır. Yalnızca izole bir yönetim ağında, salt okunur ve kaynak adresi kısıtlı olarak kullanılabilir; mümkünse SNMPv3 tercih edin.
SNMPv3'te authPriv ne demek?
Hem kimlik doğrulama (auth) hem de içeriğin şifrelenmesi (priv) kullanıldığı güvenlik seviyesidir. En güvenli seviyedir ve önerilir.
Hangi SNMP verisi hassastır?
Arayüz listeleri, yönlendirme tabloları, ARP ve süreç bilgileri saldırgana ağ haritası verebilir. Bu yüzden okuma erişimi bile yalnızca yetkili izleme sistemine açılmalıdır.
İlgili sözlük terimleri
Bu kategorideki diğer rehberler
- Ağ sorun giderme: ping, traceroute, mtr ve dig ile adım adım teşhisBağlantı ve yavaşlık sorunlarında ping, traceroute, mtr, dig, ss ve tcpdump araçlarıyla sorunun nerede olduğunu adım adım bulmayı gösteren Linux ağ sorun giderme rehberi.
- IPv6 güvenlik duvarı ve adresleme temelleriIPv6 adresleme, SLAAC, gerekli ICMPv6 türleri, nftables ile IPv6 güvenlik duvarı kuralları ve sunucuda IPv6 kapatma/açma adımlarını anlatan pratik bir rehber.
- Ağ cihazı yapılandırma yedekleme yaklaşımıAnahtar, yönlendirici ve güvenlik duvarı yapılandırmalarını zamanlanmış olarak çekme, Git ile sürüm kontrolü ve değişiklik takibi için üretici bağımsız bir yedekleme yaklaşımı.
- SNMP ve agent ile ağ izleme temelleriSNMPv3 ile güvenli ağ izleme, agent tabanlı izleme farkı, Zabbix ve LibreNMS yaklaşımı, makul eşikler ve uyarı tasarımı için uygulamalı bir başlangıç rehberi.