CentOS Linux'ta, sınırları (sınırlayıcılar) nasıl yönetiyorsunuz? Her zaman devre dışı mı yoksa aktif mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
SeLinux (Security-Enhanced Linux), zorunlu erişim kontrolü (MAC) mekanizmasıdır. Varsayılan olarak aktiftir ve aşağıdaki modlardan birinde çalışır:
- Enforcing: Güvenlik politikalarının zorunlu uygulanması. Her yasaklanan işlem engellenir.
- Permissive: Yasaklanan işlemler engellenmez, ancak uyarılar üretilir ve loglara kaydedilir.
- Disabled: SeLinux tamamen devre dışı bırakılmıştır.
Pratikte, üretim sunucularında SeLinux'u Enforcing modunda aktif tutmaya çalışıyorum. Bu, ek bir güvenlik seviyesi sağlar. SeLinux'un devre dışı bırakılması, yalnızca sorun giderme veya belirli, tamamen kontrol edilen ortamlarda kullanılan aşırı bir önlemdir.
SeLinux'u yönetmek için şu komutları kullanıyorum:
- Mevcut durumu ve modu kontrol et:
sestatus # SeLinux durumu ve mevcut mod - Modlar arasında geçiş (yeniden başlatmadan):
setenforce 0 # Permissive mod setenforce 1 # Enforcing mod - Varsayılan modu değiştirme (yeniden başlatma gerekebilir),
/etc/selinux/configdosyasını düzenleyerek:nano /etc/selinux/config # SELINUX=enforcing yerine permissive veya disabled yap - Boolean ayarlarını yönetme (belirli politikaları izin verme veya reddetme):
getsebool -a # Tüm booleanleri listele setsebool -P <boolean_adi> on/off # Boolean'i kalıcı olarak ayarla (-P)
Yeni servisler veya uygulamalar, mevcut SeLinux politikasıyla uyumsuzsa, SeLinux'u tamamen devre dışı bırakmak yerine yerel bir politika (modül) oluşturmayı veya güncellemeyi tercih ediyorum. Bu, daha güvenli bir yaklaşımdır.
Yerel politika oluşturma adımları:
- Gerekli araçları yükle:
```bash
yum install policycoreutils policycoreutils-python
```
- SeLinux'u
Permissivemoduna getir, ihlalleri izlemek için:
```bash
setenforce 0
```
- İhlal eden işlemleri gerçekleştir.
audit.logdosyasına dayanarak politika oluştur:
```bash
grep <service_adi> /var/log/audit/audit.log | audit2allow -M my_service_policy
```
*burada* `<service_adi>` *ihlal yapan servisin adıdır.*
- Oluşturulan politikayı yükle:
```bash
semodule -i my_service_policy.pp
```
- SeLinux'u tekrar
Enforcingmoduna getir:
```bash
setenforce 1
```
Bu şekilde, stratejim, SeLinux'u Enforcing modunda kullanmak ve gerekirse ayarlamaktır.