Hoşgeldin Misafir

Ubuntu'da AppArmor Yapılandırması

Graves

Graves

Karanlık Özgürlüktür
Moderator
9 Eki 2024
10,451 Mesaj
TIM Görevleri
2

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Ubuntu'da AppArmor Yapılandırması
Merhabalar Ben @Phobos Lojistik grup adına paylaşılan Ubuntu'da AppArmor Yapılandırması makalesinde sizi görmekten mutluyum.

AppArmor Nedir?

AppArmor (Application Armor), Ubuntu gibi Debian tabanlı sistemlerde kullanılan bir Zorunlu Erişim Kontrolü (Mandatory Access Control - MAC) sistemidir. Amaç, sistemde çalışan uygulamaların yalnızca izin verilen kaynaklara erişebilmesini sağlamaktır. Bu, sistem güvenliğini artırarak kötü amaçlı yazılımların etkilerini sınırlar.



AppArmor Nasıl Çalışır?

AppArmor, uygulamalar için özel yazılmış güvenlik profilleri ile çalışır. Her profil, uygulamanın hangi dosyalara erişebileceğini, hangi yetkileri kullanabileceğini ve ne tür işlemler gerçekleştirebileceğini belirler.

Profiller şu iki modda çalışabilir

  • Enforce: Profil zorla uygulanır, izin verilmeyen işlemler engellenir.
  • Complain: Profil ihlali durumunda sadece günlük kaydı tutulur, işlem engellenmez.


AppArmor Durumunu Kontrol Etme

AppArmor'un sistemde aktif olup olmadığını görmek için

Kod:
sudo aa-status

Bu komut, yüklü profilleri, aktif modda olanları ve şikayet (complain) modundakileri listeler.




AppArmor Nasıl Etkinleştirilir?

Ubuntu'da AppArmor genellikle varsayılan olarak aktiftir. Aktif değilse, şu komutlarla etkinleştirilebilir

Kod:
sudo systemctl enable apparmor
sudo systemctl start apparmor

Grub yapılandırmasını da kontrol etmen gerekebilir. Şu satırın olup olmadığını doğrula

Kod:
cat /etc/default/grub | grep apparmor=1

Yoksa şuna benzer bir şekilde GRUB_CMDLINE_LINUX_DEFAULT değişkenine ekle

Kod:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor"
sudo update-grub



Mevcut Profilleri Görüntüleme

Kod:
sudo aa-status

veya

Kod:
sudo apparmor_status

Profiller genellikle /etc/apparmor.d/ dizininde yer alır.




Yeni Profil Oluşturma

AppArmor için profil oluşturmanın iki yolu vardır

1. Elle Profil Yazımı

Örnek bir profil (örneğin /etc/apparmor.d/usr.bin.myapp):

Kod:
#include <tunables/global>

/usr/bin/myapp {

[HEADING=2]Okuma izni[/HEADING]
/etc/myapp/** r,
/usr/share/myapp/** r,

[HEADING=2]Yazma izni[/HEADING]
/var/log/myapp.log w,

[HEADING=2]Her şeyi kısıtla[/HEADING]
deny /** mrwklx,
}

Bu profili etkinleştirmek için

Kod:
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.myapp

2. aa-genprof Aracı ile Otomatik Profil

Uygulama çalışırken onun erişimlerini gözlemleyerek profil oluşturmak

Kod:
sudo aa-genprof /usr/bin/myapp



Profili Complain Moduna Alma

Geliştirme aşamasında profili complain moduna almak isteyebilirsin

Kod:
sudo aa-complain /etc/apparmor.d/usr.bin.myapp



Profili Enforce Moduna Alma

Hazır olduğunda
Kod:
sudo aa-enforce /etc/apparmor.d/usr.bin.myapp



Log ve Hata Takibi

AppArmor olayları genellikle syslog veya audit.log dosyalarına yazılır

Kod:
sudo journalctl | grep apparmor
veya
Kod:
grep "apparmor=" /var/log/syslog



AppArmor'u Devre Dışı Bırakmak

Geçici olarak devre dışı bırakmak

Kod:
sudo systemctl stop apparmor

Kalıcı olarak devre dışı bırakmak için GRUB ayarlarından apparmor=0 parametresi eklenmeli.



AppArmor, Ubuntu sistemlerinde uygulama güvenliğini sağlamak için oldukça güçlü ve kullanımı göreceli olarak kolay bir çözümdür. Profilleri anlamak ve doğru yapılandırmak, sistem güvenliğin için büyük katkı sağlar.


btn1pyf.png