Bir sunucuda bütün çalışanların aynı root hesabını kullanması, işlemleri kimin yaptığını ayırmayı ve erişimi gerektiğinde kaldırmayı zorlaştırır. Kişisel hesaplar ve görevle sınırlı yetkiler daha anlaşılır bir yönetim modeli kurar. Sudo, yetkili kullanıcının belirli işlemleri daha yüksek izinle çalıştırmasına yardımcı olur. Ancak izin verilen komutun içinden başka komut çalıştırılabiliyorsa sınırlı görünüm yanıltıcı olabilir. En az yetki yaklaşımı, yalnız komut adı listesi yazmaktan daha kapsamlı değerlendirme gerektirir.
Görevleri ve erişimleri çıkarın
Hangi kişinin hangi hizmeti yönetmesi gerektiğini listeleyin. Yazılım dağıtımı, günlük okuma, hizmet yeniden yükleme ve kullanıcı yönetimi farklı yetkilerdir. Kullanıcının rutin işini root olmadan yapabilip yapamadığını değerlendirin. Mevcut erişimleri değiştirmeden çalışan yönetici oturumunu açık tutun ve konsol kurtarma yolunu doğrulayın. Yönetim yetkisini kaldırmak kritik otomasyonları etkileyebilir; cron, dağıtım anahtarları ve servis hesaplarının bağımlılıklarını inceleyin. Yalnız görünen insan hesaplarına bakmak yeterli değildir.
Uygulama adımları
- Personel için ayrı, tanımlanabilir kullanıcı hesapları kullanın. Ortak operasyon hesabı gerekiyorsa sorumluluğu ve kayıt politikasını belirleyin; kişisel yönetici erişimleri yine ayrı izlenmelidir. Gereksiz root SSH girişini açarak kullanım kolaylığı sağlamayın. Yeni kullanıcının ev dizini, SSH anahtarı ve grup üyeliklerini kontrol edin. Hesap oluşturmak otomatik olarak tüm hizmetlere erişim vermemelidir. Gereken dosya veya günlük erişimini daha düşük yetkiyle sağlamak mümkün olabilir.
- Mevcut sudo yetkilerini kullanıcı bağlamında
sudo -lile inceleyin. Grup üyeliği ve dahil edilen kural dosyaları beklenmedik geniş izinler verebilir. Ubuntu sistemlerinde sudo grubunun geniş yönetim yetkisi olabileceğini dikkate alın; görev sınırlaması istiyorsanız gruba eklemenin etkisini anlayın.NOPASSWD: ALLgibi geniş bir kuralı kopyalanmış örnekten uygulamayın. Bir servis hesabının sürekli parolasız yönetici olması, uygulama hatasının sunucunun tamamını etkilemesine yol açabilir. - Gerekliyse kuralı
visudoile düzenleyin. Dağıtımın desteklediği sudoers.d parça dosyaları kullanılabilir; dosya adlandırma ve izin kurallarını yerel belgelerden doğrulayın. Tam komut yolunu, izin verilen parametreleri ve çalıştırılacak kullanıcıyı açık tanımlayın. Bir metin düzenleyici, kabuk, paket yöneticisi veya kullanıcı tarafından değiştirilen betik üzerinden root yetkisi veriyorsanız bunun kapsamı geniş olabilir. Komut adı dar görünse bile kullanıcının çalıştırılacak dosyayı değiştirebildiği durumu inceleyin. visudo -cile yapılandırmayı kontrol edin ve hata varsa uygulamayı tamamlanmış saymayın. Yetkili mevcut oturumda geri dönüş için eski dosya hazır olmalıdır. Yeni kullanıcı oturumunda hem izin verilen görevi hem izin verilmemesi gereken örneği test edin. Testte üretim hizmetini gereksiz yere durdurmayın; zarar vermeyen inceleme veya planlı işlem kullanın. Başarılı test sonrası kayıt altına alınmış kuralla devam edin. Dosya içeriğini kimlerin değiştirebildiğini ayrıca doğrulayın.
İzleme ve erişim kaldırma
Sudo günlüklerini kurumun saklama politikasıyla izleyin. Komut kaydı her uygulamanın içinde yapılan bütün alt işlemleri göstermeyebilir; gereksiz hassas veri kaydını da önleyin. Personel ayrıldığında grup üyeliği, SSH anahtarı, uygulama tokenı ve otomasyon yetkilerini birlikte kaldırın. Sadece kullanıcı parolasını kilitlemek anahtarla girişin kesildiğini kanıtlamaz. Düzenli erişim incelemesinde artık kullanılmayan istisnaları temizleyin. Her değişiklikte iş sorumlusu, gerekçe ve son doğrulama tarihi bulunması yönetimi kolaylaştırır.
Sık sorulan sorular
Bir tek komuta izin vermek her zaman güvenli midir?
Hayır. Komutun kabuk açma, dosya yazma veya başka program çalıştırma yeteneği varsa sonuç root erişimine dönüşebilir. Tam davranışı ve parametreleri değerlendirin.
Sudo parolası istemeyi kaldırmak otomasyon için zorunlu mudur?
Her senaryoda zorunlu değildir. Otomasyonun ihtiyacı dar tanımlanmalı ve uygun servis kimliği kullanılmalıdır. Geniş parolasız yetki yerine görev bazlı, denetlenebilir çözüm planlayın.
Resmi kaynaklar
Süreç özeti
Linux kullanıcılarında sudo ve en az yetki
| Adım | Kontrol |
|---|---|
| 1 | Görev envanteri |
| 2 | Kişisel hesap |
| 3 | Sınırlı izin |
| 4 | Söz dizimi kontrolü |
| 5 | Yetki testi |
