Yanıtlar:
Apparmor, Zorunlu Erişim Kontrolü (veya MAC) sistemidir. Programları belirli kaynaklarla sınırlandırmak 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 etme. Uygulama kipindeki profiller bu profilin kurallarını zorlar ve ihlal girişimlerini syslog
veya içinde bildirir auditd
. Şikayet modundaki profiller, herhangi bir profil kuralını zorlamaz; ihlal ihlal girişimlerini girmeniz yeterlidir.
Ubuntu'da Apparmor varsayılan olarak yüklenir. Bir programın erişmesi gereken dosya ve izinleri belirlemek için uygulamaları profillerle sınırlar. Bazı uygulamalar kendi özelliklerine sahip olacak ve daha fazlasını apparmor-profiles
pakette bulabilirsiniz.
Sen yükleyebilir apparmor-profiles
çalıştırarak sudo apt-get install apparmor-profiles
.
Bu yazı için yeniden yazdığım Ubuntu forumlarında iyi bir Apparmor örneği buldum.
Apparmor, uygulamaların kötülük yapmasını önleyen bir güvenlik çerçevesidir. Örneğin: Firefox'u çalıştırıp
home
, klasörümü silecek kötü amaçlı yazılım yüklemeye çalışan kötü bir siteyi ziyaret edersem, Apparmor, istemediğim herhangi bir şeyi yapmasını engellese de (müziğe, belgelerime vb. Erişmek gibi) Firefox'ta sınırlar koyar. Bu sayede başvurunuz tehlikeye atılsa bile, hiçbir zarar yapılamaz.
apparmor-utils
Paket AppArmor yapılandırmak için komut satırı araçları içerir. Kullanarak Apparmor'un yürütme modunu değiştirebilir, bir profilin durumunu bulabilir ve yeni profiller oluşturabilirsiniz
Bunlar en yaygın komutlardır:
Not: Profiller içinde saklanır./etc/apparmor.d/
sudo apparmor_status
. Yüklenen tüm profillerin *, zorlama modundaki tüm profillerin, şikayet modundaki tüm profillerin, zorla / şikayet içindeki hangi işlemlerin tanımlandığını vb. sudo aa-complain /path/to/bin
, nerede /path/to/bin
programlar bin
klasörü. Örneğin, running: sudo aa-complain /usr/bin/firefox
Firefox’u şikayet moduna geçirir.sudo aa-enforce /path/to/bin
Bir program profilini zorlamak için kullanılır . sudo aa-complain /etc/apparmor.d/*
ve ile şikayet / zorlama modlarına yükleyebilirsiniz sudo aa-enforce.d/*
. Bir profili çekirdeğe yüklemek için kullanırsın apparmor_parser
. -r
Parametreyi kullanarak profilleri yeniden yükleyebilirsiniz .
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
içeriğini profile.name
Apparmor ayrıştırıcısına etkili bir şekilde basar .-r
, aşağıdaki gibi parametreyi kullanın :cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
Bir profili devre dışı bırakmak için size bağlantı için /etc/apparmor.d/disable/
kullanıyor ln
böyle: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
o zaman çalıştırın: sudo apparmor_parser -R /etc/apparmor.d/profile.name
.
Not: karıştırmayınapparmor_parser -r
ileapparmor_parser -R
ONLAR AYNI ŞEY DEĞİLDİR!
/etc/apparmor.d/disable/
ve -a
parametreyi kullanarak yükleyin .sudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
ve çekirdek modülünü kullanaraksudo update-rc.d -f apparmor defaults
sudo service apparmor start
ve çekirdek modüllerini yükleyinsudo update-rc.d apparmor defaults
Profiller, /etc/apparmor.d/
'/' yerine '.' İle değiştirilen, çalıştırılabilir dosyanın tam yolundan sonra depolanır ve adlandırılır. Örneğin /etc/apparmor.d/bin.ping
için profil ping
içinde /bin
.
Profillerde kullanılan iki ana giriş türü vardır:
Yol Girdileri, bir uygulamanın hangi dosyalara erişebileceğini belirler.
Yetenek girdileri, bir sürecin hangi ayrıcalıkları kullanabileceğini belirler.
Örnek olarak ping
bulunan profile etc/apparmor.d/bin.ping
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,
}
#include <tunables/global>
Dosyayı global
dizine dahil eder tunables
, bu, ortak bir dosyaya yerleştirilmek üzere birden fazla uygulamaya ilişkin ifadelere izin verir.
/bin/ping flags=(complain)
profilli programın yolunu ve şikayet edilecek modu ayarlar.
capability net_raw
Uygulamanın CAP_NET_RAW Posix.1e
kabiliyete erişmesine izin verir .
/bin/ping mixr
Uygulamaya, dosyaya erişimi okuma ve yürütme izni verir.
/etc/modules.conf r,
r
Uygulama verir okuma için ayrıcalıkları/etc/modules.conf
Not: Bir profil oluşturduktan / düzenledikten sonra, değişikliklerin geçerli olması için profili yeniden yüklemeniz gerekir.
İşte kullanabileceğiniz izinlerin bir listesi:
r
- oku w
- yazmak ux
- Kısıtsız Yürütme Ux
- Kısıtsız Yürüt - ortamı temizle px
- Ayrık profil yürütme Px
- Ayrık profil yürütme - çevreyi temizle ix
- Devralma yürütme m
- izin PROT_EXEC
ile mmap(2)
çağrıları l
- linkAppArmor, programları sınırlı sayıda kaynakla sınırlandırmak için bir çekirdek (LSM) geliştirmesi olan bir Zorunlu Erişim Kontrolü (MAC) sistemidir. AppArmor'un güvenlik modeli, erişim denetimi niteliklerini kullanıcılar yerine programlara bağlamaktır. AppArmor hapsi, çekirdeğe yüklenen ve tipik olarak önyüklemeli profiller aracılığıyla sağlanır. AppArmor profilleri iki moddan birinde olabilir: uygulama ve şikayet etme. Uygulama modunda yüklenen profiller, profilde tanımlanan politikanın uygulanmasının yanı sıra politika ihlali teşebbüslerinin raporlanmasına (syslog veya auditd yoluyla) neden olur. Şikayet modundaki profiller politikayı zorlamaz, bunun yerine politika ihlali girişimlerini raporlar.
AppArmor, Linux'ta yol tabanlı olması, zorlama ve şikayet modu profillerinin karıştırılmasına izin vermesi, gelişmeyi kolaylaştırmak için dosyalar içermesi ve diğer popüler MAC sistemlerine göre daha düşük bir engel oluşturması nedeniyle, Linux'taki diğer MAC sistemlerinden farklıdır.
AppArmor, ilk olarak Immunix'te görülen ve daha sonra Ubuntu, Novell / SUSE ve Mandriva'ya entegre edilmiş bir teknolojidir. Çekirdek AppArmor işlevselliği, Linux çekirdeğinde 2.6.36'dan itibarendir; AppArmor, Ubuntu ve diğer geliştiriciler tarafından ek AppArmor işlevselliğini ana hat çekirdeğinde birleştirmek için çalışmalar devam etmektedir.
Sana birkaç tane daha faydalı link var. Wiki.Ubuntu.com Ubuntuforums.org
Apparmor Ubuntu 12.04 ve Ubuntu 12.10 için kılavuzları
Umarım bu 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 bir davranış sergileyen ve bilinmeyen uygulama hatalarının istismar edilmesini önleyerek işletim sistemini ve uygulamalarını dış kaynaklı veya iç tehditlerden, hatta sıfır günlük saldırılardan proaktif olarak korur. AppArmor güvenlik politikaları, bireysel uygulamaların hangi sistem kaynaklarına erişebileceğini ve hangi ayrıcalıklara sahip olduğunu tamamen tanımlar. AppArmor'a bir dizi varsayılan politika dahil edilmiştir ve gelişmiş statik analiz ve öğrenme temelli araçların bir kombinasyonu kullanılarak, çok karmaşık uygulamalar için bile AppArmor politikaları birkaç saat içinde başarıyla dağıtılabilir.