Apparmor hakkında çok fazla şey duyuyorum, aşağıdakileri öğrenmek istiyorum:
- Uygulayıcı nedir?
- Apparmor nasıl çalışır?
Apparmor hakkında çok fazla şey duyuyorum, aşağıdakileri öğrenmek istiyorum:
Apparmor bir Zorunlu Erişim Kontrolü (veya MAC) sistemidir. Programları belirli kaynaklarla kısıtlamak için LSM çekirdek geliştirmelerini kullanır. AppArmor bunu, sistem başladığında çekirdeğe yüklenen profillerle yapar. Apparmor'un iki tür profil modu vardır, uygulama ve şikayet. Zorlama modunda profiller zorla bu profilin kurallarını ve ihlal ihlali girişimlerini
syslog veya
auditd olarak raporlar. Şikayet modundaki profiller, herhangi bir profil kuralını zorunlu kılmaz, yalnızca ihlal girişimlerini günlüğe kaydeder.
Ubuntu Apparmor'da varsayılan olarak yüklenir. Bir programın erişime ihtiyacı olan dosyaları ve izinleri belirlemek için uygulamaları profillere sınırlar. Bazı uygulamalar kendi özelliklerine sahip olacak ve daha fazlası
apparmor-profiles paketinde bulunabilir.
apparmor-profiles dosyasını çalıştırarak
sudo apt-get install apparmor-profiles yükleyebilirsiniz.
Ubuntu forumlarında bu yazı için yeniden yazdığım iyi bir Apparmor örneği buldum.
Apparmor, uygulamaların kötülüğü açmasını engelleyen bir güvenlik çerçevesidir. Örneğin: Firefox'u çalıştırırsam ve
homeklasörümü silecek kötü amaçlı yazılım yüklemeyi deneyen kötü bir siteyi ziyaret edersem, Apparmor'un istemediğim bir şeyi yapmasını engelleyerek Firefox'taki sınırları vardır (müziklerime, belgelerime erişmek gibi) vb). Bu şekilde, uygulamanız tehlikeye atılmış olsa bile, hiçbir zarar verilemez.
apparmor-utils paketi, Apparmor'u yapılandırmak için komut satırı araçları içerir. Bunu kullanarak Apparmor'un yürütme modunu değiştirebilir, bir profilin durumunu yeni profiller oluşturabilir, vb.
Bunlar en yaygın komutlardır:
NOT: : Profiller
/etc/apparmor.d/
Apparmor’un durumunu
sudo apparmor_status ile kontrol edebilirsiniz. Yüklenen tüm profillerin * bir listesi, zorlama modunda tüm profiller, şikayet modundaki tüm profiller, zorlama / şikayette tanımlanmış olan süreçlerin bir listesini alacaksınız.
Şikayet et modunda bir profil koymak için
sudo aa-complain /path/to/bin değerini kullanırsınız; burada
/path/to/bin
bin klasörüdür. Örneğin, çalışıyor:
sudo aa-complain /usr/bin/firefox , Firefox'u şikayetçi moduna geçirecektir.
Bir program profilini zorunlu kılmak için
sudo aa-enforce /path/to/bin kullanın.
tüm profilleri, sırasıyla
sudo aa-complain /etc/apparmor.d/* ve
sudo aa-enforce.d/* ile şikayet / zorlama modlarına yükleyebilirsiniz.
Çekirdeğe bir profil yüklemek için
apparmor_parser kullanırsınız. % Co_de% parametresini kullanarak profilleri yeniden yükleyebilirsiniz.
Bir profil yüklemek için:
-r içeriğini etkin bir şekilde Apparmor'un ayrıştırıcısına yazdırır
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a .
Bir profili yeniden yüklemek için,
profile.name parametresini kullanın, şöyle ki:
-r
Tüm Apparmor'un profillerini yeniden yüklemek için:
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
Bir profili devre dışı bırakmak için bağlantı 'yı
sudo service apparmor reload kullanarak bu gibi
/etc/apparmor.d/disable/ ' yi kullanın:
ln sonra çalıştırın:
sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/ .
NOT:
sudo apparmor_parser -R /etc/apparmor.d/profile.name ile karıştırmayın
apparmor_parser -r AYNI ŞEY YOK!
Bir profili yeniden etkinleştirmek için,
apparmor_parser -R 'daki sembolik bağı kaldırın ve
/etc/apparmor.d/disable/ parametresini kullanarak yükleyin.
-a
sudo rm /etc/apparmor.d/disable/profile.name
Apparmor'u
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a ile devre dışı bırakabilir ve
sudo service apparmor stop kullanarak çekirdek modülünü kaldırabilirsiniz
sudo update-rc.d -f apparmor defaults ile Apparmor'u başlatın ve
sudo service apparmor start ile çekirdek modüllerini yükleyin
Profiller
sudo update-rc.d apparmor defaults dizininde depolanır ve '/' ile '/' ile değiştirerek profilin çalışabilirliğine giden tam yolun adı verilir. Örneğin,
/etc/apparmor.d/ ,
/etc/apparmor.d/bin.ping cinsinden
ping için profildir.
Profillerde kullanılan iki ana giriş tipi vardır:
Yol Girişleri , bir uygulamanın erişebileceği dosyaları belirler.
Yetenek girişleri, bir işlemin hangi ayrıcalıkları kullanabileceğini belirler.
Örnek olarak
/bin bulunan
ping profiline bakalım.
#include <tunables/global> /bin/ping flags=(complain) { #include <abstractions/base> #include <abstractions/consoles> #include <abstractions/nameservice> capability net_raw, capability setuid, network inet raw, /bin/ping mixr, /etc/modules.conf r, }
etc/apparmor.d/bin.ping
#include <tunables/global> dizinindeki
global dosyasını içerir, bu, birden çok uygulamanın ortak bir dosyaya yerleştirilmesine ilişkin ifadelere izin verir.
tunables , profilli programa giden yolu ayarlar ve modu şikayet etmeye ayarlar.
/bin/ping flags=(complain) , uygulamanın
capability net_raw yeteneğine erişimini sağlar.
CAP_NET_RAW Posix.1e , uygulamanın dosyaya okuma ve yürütme izni vermesine izin verir.
/bin/ping mixr
/etc/modules.conf r, , uygulamayı
r için oku ayrıcalıklarına verir
NOT: Bir profil oluşturduktan / düzenledikten sonra, değişikliklerin yürürlüğe girmesi için profili yeniden yüklemeniz gerekir.
Kullanabileceğiniz izinlerin bir listesi:
/etc/modules.conf - oku
r - yaz
w - Kısıtlanmamış Yürüt
ux - Kısıtlanmamış Yürüt - ortamı temizle
Ux - Ayrık profil yürütme
px - Ayrık profil yürütme - ortamı temizle
Px - Yürütme yürütme
ix -
m 'ye
PROT_EXEC çağrı ile izin ver
mmap(2) - bağlantı
AppArmor bir çekirdek olan Zorunlu Erişim Denetimi (MAC) sistemidir. Programları sınırlı bir kaynak kümesine sınırlamak için (LSM) geliştirme. AppArmor'un güvenlik modeli, erişim denetimi niteliklerini kullanıcılar yerine programlar. AppArmor hapsi üzerinden sağlanır Çekirdeğe yüklenen profiller, genellikle önyüklemede. AppArmor profilleri iki moddan birinde olabilir: zorlama ve şikayet. Yüklenen profiller Uygulama modunda tanımlı politikanın yürürlüğe girmesiyle sonuçlanır Profilin yanı sıra politika ihlali girişimlerini rapor etme ( syslog veya auditd ile). Şikayet modunda profiller zorlanmaz politika yerine bunun yerine politika ihlali girişimlerini raporlayın.
AppArmor, Linux'taki diğer bazı MAC sistemlerinden farklıdır. yol tabanlı, zorlama ve şikayet modunun karıştırılmasına izin verir profiller, kullanımı kolaylaştırmak için dosyaları içerir ve çok daha düşük bir değere sahiptir Diğer popüler MAC sistemlerine göre giriş engeli.
AppArmor, ilk olarak Immunix'te ve daha sonra görülen yerleşik bir teknolojidir. Ubuntu, Novell / SUSE ve Mandriva'ya entegre edildi. Çekirdek AppArmor işlevselliği 2.6.36'dan itibaren Linux çekirdeği ana hattında; AppArmor, Ubuntu ve diğer geliştiriciler tarafından birleştirme çalışmaları devam ediyor Ana çekirdek çekirdeğine ek AppArmor işlevselliği.
Umarım size yardımcı olur.
İşte, Apparmor wiki 'den bir alıntı:
AppArmor etkili ve kullanımı kolay bir Linux uygulama güvenlik sistemidir. AppArmor, iyi davranışları uygulayarak ve bilinmeyen uygulama kusurlarının istismar edilmesini önleyerek işletim sistemini ve uygulamaları harici veya dahili tehditlerden, hatta sıfır gün saldırılarına karşı proaktif olarak korur. AppArmor güvenlik politikaları, bireysel uygulamaların hangi sistem kaynaklarına erişebileceğini ve hangi ayrıcalıklarla tamamen tanımlandığını belirler. AppArmor ile bir dizi varsayılan politika dahil edilmiştir ve gelişmiş statik analiz ve öğrenme tabanlı araçların bir kombinasyonunu kullanarak, çok karmaşık uygulamalar için bile AppArmor politikaları birkaç saat içinde başarıyla dağıtılabilir.