Aplik nedir?

90

Apparmor hakkında çok fazla şey duyuyorum, aşağıdakileri öğrenmek istiyorum:

  • Uygulayıcı nedir?
  • Apparmor nasıl çalışır?
sordu Alvar 05.01.2013 03:09

3 cevap

87

Nedir?

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 home klasö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.

Nasıl çalışır?

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.

kullanabilirsiniz.

Bunlar en yaygın komutlardır:

NOT: : Profiller /etc/apparmor.d/

dizininde depolanır.
  • 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

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:

  1. Yol Girişleri , bir uygulamanın erişebileceği dosyaları belirler.

  2. 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ı

KAYNAKLARI:

İşte

İşte

İşte

İşte

    
verilen cevap Seth 05.01.2013 04:17
6
  

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.

Size birkaç tane daha yararlı Bağlantı aldım: Wiki.Ubuntu.com Ubuntuforums.org

Ubuntu 12.04 & amp; Ubuntu 12.10

Umarım size yardımcı olur.

    
verilen cevap Ten-Coin 05.01.2013 04:13
3

İş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.

    
verilen cevap Adeline Dale 09.01.2013 08:09

Etiketlerdeki diğer soruları oku