systemd-analyze ile security çıktısıyla servis sertleştirme

0 ردود 8 مشاهدات
المقيّمون
المشاركون
صاحب الموضوع #1

Giriş ve bağlam
Bir Linux sisteminin güvenlik durumunu değerlendirirken, karşılaşılan en pratik adımlardan biri systemd’nin sunduğu analiz araçlarını kullanmaktır. Özellikle systemd-analyze security çıktısı, birimlerin (servislerin) hangi güvenlik özelliklerini devreye alıp almadığını hızlıca özetler. Bu çıktı, okay, deny ve restrict gibi farklı modlarda hangi yetkilerin kullanıldığını göstererek potansiyel zayıf noktaları belirlemede yol gösterir. Amacımız, güvenlik açıklarını hızlı tespit etmek ve servisleri mümkün olduğunca sıkı çalıştırmak.

systemd-analyze security nedir ve neleri gösterir
systemd-analyze security komutu, mevcut birimlerin güvenlik bağlamında hangi kernel veya systemd özelliklerini etkinleştirdiğini raporlar. Öne çıkan alanlar:
  • PrivateTmp, PrivateDevices, ProtectSystem ve ProtectHome gibi korumalı alan kullanımı; bu ayar, birimin kök dosya sistemi ve ev dizinleri üzerinde sınırlı erişim sağlar.
  • Lockdown modu, Root_squash benzeri mount seçenekleri ve fs.protected_regular gibi kernel düzeyinde ek güvenlik katmanları.
  • CapabilityBoundingSet, AmbientCapabilities ve NoNewPrivileges gibi yetki kontrolleri; süreçlerin hangi yetkilerle çalışacağını sınırlar.
  • Source tree ve PrivateNetwork/ProtectKernelLogs gibi ağ ve çekirdek loglarıyla ilgili kısıtlar; potansiyel dışa açık iletişimleri azaltır.
  • PrivateUsers veProtectHostname gibi kullanıcı izolasyonu ve ad alanı kontrolleri; yazılımların birbirine karışmasını sınırlar.


Sertleştirme stratejileri ve pratik uygulama örnekleri
1) Temel izolasyonla başlayın
Birimler için PrivateTmp=yes, PrivateDevices=yes ve ProtectSystem=full ile başlayın. Bu kombinasyon, bir servis çalışırken geçici dosyaların diğer süreçler tarafından erişilmesini ve işletim sistemi kök dizinlerinin bozulmasını engeller.

2) Yetki kısıtlamasını sıkılaştırın
CapabilityBoundingSet= CAP_SYS_ADMIN CAP_NET_BIND_SERVICE gibi kritik yetkileri kısıtlayın; NoNewPrivileges=yes ile süreçlerin yeni yetkiler kazanmasını engelleyin. Eğer belirli bir hizmetin belirli bir yetkiye ihtiyacı varsa, bunu minimal ilave ile sağlayın.

3) Ağ izolasyonu ve log güvenliği
PrivateNetwork=yes veya ProtectKernelLogs=yes gibi seçeneklerle ağ kaynakları ve çekirdek logları üzerinde sınırlama getirin. Ağ üzerinden gereksiz iletişimleri engelleyin; sadece gerekli port ve protokolleri Allow list ile yönetin.

4) Ev periyodik denetim ve güncellemeler
systemd-analyze security çıktısını zaman zaman yeniden üretin ve değişiklikleri kaydedin. Değişikliklerden sonra yeniden başlatma veya reload ile oturumları temizleyin, yeni ayarların uygulanabilirliğini doğrulayın.

Örnek yaygın bir konfigürasyon tekniği (örnek unit snippet)
كود
12345678910 
[Service]
ProtectSystem=full
PrivateTmp=yes
PrivateDevices=yes
NoNewPrivileges=yes
CapabilityBoundingSet= CAP_NET_BIND_SERVICE
AmbientCapabilities= 
[Install]
WantedBy=multi-user.target


Sonuç ve dikkat noktaları
systemd-analyze security çıktısı, mevcut güvenlik durumunu hızlıca görünür kılar; ancak her bir ayarın sisteme etkisini test etmek gerekir. Sertleştirme adımlarını uygularken uygulamanın işlevselliğinin bozulmadığını doğrulamak adına kapsamlı bir test planı ve geri dönüşüm adımları hazırlanmalıdır. Bu bağlamda, hangi servisler için hangi ayarın gerekliliğini belirlemek adına ekip içi paylaşım ve kayıt tutulması kritik öneme sahiptir.

يجب تسجيل الدخول للرد.

المستخدمون الذين يشاهدون هذا الموضوع (الإجمالي: 1, الأعضاء: 1, الضيوف: 0)
الإجمالي: 1 (الأعضاء: 1, الضيوف: 0)
0 اقتباسات محددة