Sunucu Güvenliği İçin AppArmor Ayarları

Celal

Yarbay
Admin
Katılım
23 Kasım 2025
Mesajlar
1,103
Reaksiyon puanı
46

AppArmor Nedir ve Neden Önemlidir?​


AppArmor, Linux işletim sistemleri için geliştirilmiş, zorunlu erişim kontrolü (MAC) sağlayan bir güvenlik modülüdür. Uygulamaların sistem kaynaklarına erişimini kısıtlayarak sunucu güvenliğini artırır. Başka bir deyişle, her uygulamanın belirli bir "profil" içinde çalışmasını sağlar ve bu profil, uygulamanın hangi dosyalara okuma/yazma erişimi olduğunu, hangi ağ portlarını kullanabileceğini veya hangi sistem çağrılarını yapabileceğini tanımlar. Bu sayede, kötü amaçlı bir yazılım veya güvenlik açığı başarılı olsa bile, AppArmor tanımlanan sınırlar içinde kaldığı için sistemin geri kalanına zarar verme potansiyelini önemli ölçüde azaltır. Özellikle web sunucuları, veritabanı sunucuları ve diğer kritik servisler için AppArmor, potansiyel saldırı yüzeyini daraltan hayati bir savunma katmanı sunar. Bu nedenle, sunucu güvenliği stratejilerinin ayrılmaz bir parçası olarak değerlendirilir.

AppArmor Profillerinin Yapısal Temelleri​


AppArmor, her bir program veya hizmet için özel olarak tanımlanmış metin tabanlı profiller aracılığıyla çalışır. Bu profiller genellikle `/etc/apparmor.d/` dizininde saklanır ve ilgili uygulamanın çalıştırılabilir dosyasıyla eşleşir. Bir AppArmor profili, bir uygulamanın belirli dosya yollarına erişimini (okuma, yazma, çalıştırma), ağ soketlerini kullanma yeteneğini ve hatta belirli çekirdek yeteneklerine erişimini belirleyen bir dizi kural içerir. Örneğin, bir web sunucusu profili sadece `/var/www/` dizinine erişime izin verirken, sistem dosyalarına erişimi engelleyebilir. Her kural, uygulamanın güvenli bir şekilde çalışması için gerekli olan minimum izinleri tanımlar. Bu prensip, en az ayrıcalık ilkesi olarak bilinir ve güvenlik mimarisinin temel taşlarından biridir.

Uygulama Profili Oluşturma ve Düzenleme Adımları​


AppArmor profilleri oluşturmak veya mevcut profilleri düzenlemek, sunucu güvenliğini özelleştirmenin kilit adımlarından biridir. İlk olarak, `aa-genprof` aracı ile bir uygulamanın davranışını otomatik olarak izleyerek bir taslak profil oluşturabilirsiniz. Uygulama bir süre çalıştırıldıktan sonra, `aa-logprof` komutu, uygulamanın yaptığı ve mevcut profilin engellediği eylemleri analiz ederek profilinize yeni kurallar eklemenizi önerir. Bu etkileşimli süreç, profilin zamanla optimize edilmesini sağlar. Ek olarak, profilleri manuel olarak düzenleyerek belirli kuralları ekleyebilir veya değiştirebilirsiniz. Unutmamak gerekir ki, bir profili çok kısıtlayıcı yapmak uygulamanın düzgün çalışmasını engelleyebilirken, çok gevşek yapmak güvenlik faydalarını azaltır. Bu nedenle, profil oluşturma ve düzenleme süreci dikkatli bir denge gerektirir.

AppArmor'ın Çalışma Modları: Gözlem ve Zorlama​


AppArmor profilleri iki temel modda çalışır: "enforce" (zorlama) ve "complain" (gözlem). Zorlama modunda, AppArmor profili tarafından belirlenen kurallara uymayan herhangi bir uygulama girişimi kesinlikle engellenir ve bu durum sistem günlüklerine kaydedilir. Bu, üretim ortamlarında en yüksek güvenlik seviyesini sağlayan varsayılan moddur. Aksine, gözlem modunda ise AppArmor, kurallara aykırı davranışları sadece sistem günlüklerine kaydeder, ancak bu eylemleri engellemez. Gözlem modu, yeni bir profil oluştururken veya mevcut bir profil üzerinde değişiklik yaparken çok faydalıdır; bu sayede uygulamanın işlevselliğini bozmadan potansiyel sorunları tespit edebilirsiniz. Güvenlik politikalarınızı uygularken, profilleri önce gözlem modunda test etmek ve ardından istikrarlı olduklarından emin olduğunuzda zorlama moduna geçirmek en iyi uygulamadır.

Güvenlik Politikalarını En İyileştirme Yöntemleri​


AppArmor profillerinin etkinliğini artırmak için çeşitli en iyileştirme yöntemleri mevcuttur. Her şeyden önce, "en az ayrıcalık" ilkesini sıkı bir şekilde uygulamak esastır; yani, bir uygulamaya yalnızca görevi için kesinlikle gerekli olan erişim izinlerini verin. Gereksiz dosya veya ağ erişimlerini kısıtlayarak potansiyel saldırı yüzeyini önemli ölçüde daraltırsınız. Bununla birlikte, profilleri düzenli olarak gözden geçirmek ve uygulamanın yeni sürümleri veya bağımlılık değişiklikleri sonrası güncellemeler yapmak önemlidir. Örneğin, bir uygulamanın yeni bir özelliği, eski bir profil tarafından engellenebilecek yeni bir dosya erişimine ihtiyaç duyabilir. Profilleri daha modüler hale getirmek, yani ortak kuralları ayrı dosyalarda tanımlayıp diğer profillerde içe aktarmak, yönetim kolaylığı sağlar. Sonuç olarak, kapsamlı testler ve sürekli izleme, güvenlik politikalarınızın her zaman güncel ve etkili kalmasını sağlar.

AppArmor Günlük Kayıtlarını Etkin İzleme​


AppArmor'ın sağladığı güvenlik faydalarından tam olarak yararlanmak için günlük kayıtlarını düzenli ve etkin bir şekilde izlemek büyük önem taşır. AppArmor tarafından engellenen veya gözlem modunda kaydedilen tüm olaylar, genellikle `/var/log/kern.log` veya sistemin genel günlük dosyalarında (örneğin, `syslog` veya `journalctl` aracılığıyla erişilebilen) yer alır. Bu günlükleri inceleyerek, AppArmor politikalarınızın uygulamanın normal çalışmasını engelleyip engellemediğini veya potansiyel güvenlik olaylarını gösterip göstermediğini hızlıca anlayabilirsiniz. Özellikle gözlem modunda yeni profilleri test ederken, günlükleri detaylıca analiz etmek, profilinize eklenmesi gereken eksik kuralları belirlemenize yardımcı olur. `dmesg -w` komutunu kullanarak gerçek zamanlı AppArmor olaylarını takip etmek de sorun giderme sürecini hızlandırabilir. Bu nedenle, düzenli günlük analizi, AppArmor temelli güvenlik duruşunuzu sürekli olarak güçlendirir.

Kapsamlı Sunucu Koruması İçin AppArmor Stratejileri​


AppArmor, sunucu güvenliği mimarisinde güçlü bir bileşen olsa da, tek başına yeterli değildir; kapsamlı bir güvenlik stratejisinin parçası olarak kullanılmalıdır. Birincil strateji, AppArmor'ı diğer güvenlik araçlarıyla entegre etmektir. Örneğin, güvenlik duvarları (firewall) ile ağ erişimlerini kontrol ederken, AppArmor ile uygulama düzeyinde dosya ve süreç erişimlerini kısıtlayabilirsiniz. Ek olarak, güçlü parola politikaları, düzenli yazılım güncellemeleri ve güvenlik yamaları, izinsiz giriş tespit sistemleri (IDS) ve düzenli güvenlik denetimleri, AppArmor ile birlikte katmanlı bir savunma mekanizması oluşturur. Başka bir deyişle, her bir katman, bir diğerinin zayıflıklarını kapatarak genel sunucu güvenliğini artırır. Bu bütüncül yaklaşım, olası saldırılara karşı çok daha dirençli bir ortam sağlar ve kritik verilerinizi daha iyi korumanıza olanak tanır.
 
Geri
Üst Alt