AppArmor

Tutorial AppArmor Debian

Tutorial AppArmor Debian
AppArmor adalah sistem kontrol akses wajib untuk Linux. Dalam sistem kontrol akses wajib (MAC), kernel memberlakukan pembatasan pada jalur, soket, port, dan berbagai mekanisme input/output. Ini dikembangkan oleh Immunex dan sekarang dikelola oleh SUSE. Ini telah menjadi bagian dari kernel Linux sejak versi 2.6.36.

Sementara kernel Linux menyediakan isolasi pengguna yang baik dan kontrol izin file yang kuat, MAC seperti AppArmor memberikan izin dan perlindungan yang lebih halus terhadap banyak ancaman yang tidak diketahui. Jika kerentanan keamanan ditemukan di kernel Linux atau daemon sistem lainnya, sistem AppArmor yang dikonfigurasi dengan baik dapat mencegah akses ke jalur kritis yang mungkin rentan terhadap masalah tersebut.

AppArmor dapat bekerja secara efektif dalam dua mode - menegakkan dan mengeluh. Enforce adalah status produksi default AppArmor, sementara keluhan berguna untuk mengembangkan seperangkat aturan berdasarkan pola operasi nyata dan untuk pelanggaran logging. Ini dikonfigurasi melalui file teks biasa dalam format yang relatif ramah dan memiliki kurva belajar yang lebih pendek daripada kebanyakan sistem kontrol akses wajib lainnya.

Instalasi

Untuk menginstal AppArmor di Debian, jalankan (sebagai root):

apt install apparmor apparmor-utils auditd

Anda dapat menghilangkan auditd jika Anda tidak memerlukan alat pembuatan profil.

Jika Anda ingin menginstal starter dan profil tambahan, jalankan:

apt install apparmor-profiles apparmor-profiles-extra

Karena AppArmor adalah modul kernel Linux, Anda harus mengaktifkannya dengan perintah berikut:

mkdir -p /etc/default/grub.d

Buat file /etc/default/grub.d/pakaian.cfg dengan isi sebagai berikut:

GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT apparmor=1 keamanan=apparmor"

Simpan dan keluar, lalu jalankan:

update-grub

Kemudian reboot.

Ada perdebatan apakah ini harus dilakukan secara otomatis. Anda mungkin ingin membaca bagian akhir laporan bug ini untuk melihat apakah ini telah diubah sejak saat penulisan ini.

Setelah Anda reboot, Anda dapat memeriksa untuk melihat apakah AppArmor diaktifkan dengan menjalankan:

status aa

Perintah ini akan mencantumkan profil AppArmor yang dimuat dan mencantumkan status kepatuhannya saat ini (diberlakukan, mengeluh, dll.)

Jika Anda menjalankan:

ps auxZ | grep -v '^tidak dibatasi'

Anda akan melihat daftar program yang dibatasi oleh profil AppArmor. Program terbatas adalah program yang terpengaruh dan dibatasi (baik secara pasif, dalam mode keluhan, atau secara aktif dalam mode yang dipaksakan) oleh AppArmor.

Mengubah Mode / Menonaktifkan AppArmor

Jika Anda ingin menonaktifkan AppArmor karena program tidak berfungsi, Anda mungkin ingin mempertimbangkan untuk menempatkan profil dalam mode keluhan alih-alih mode paksa. Untuk melakukan ini, jalankan (sebagai root, atau melalui Sudo):

aa-keluhan /path/ke/program

Misalnya, jika ping tidak berfungsi dengan benar, gunakan:

aa-complain /usr/bin/ping

Setelah profil dalam mode keluhan, Anda dapat memeriksa logging melalui /var/log/syslog atau dengan journalctl -xe pada sistem systemd (Debian 8.x, Jessie, dan lebih tinggi).

Setelah Anda mengedit profil untuk menghapus atau menyesuaikan pembatasan, Anda dapat mengaktifkan mode penegakan lagi untuk biner dengan:

aa-menegakkan /path/ke/program

Pada contoh di atas, ganti /path/to/program dengan path lengkap ke biner yang terpengaruh oleh profil yang dimaksud.

Jika Anda memiliki masalah dengan program dan dalam mode keluhan, log akan memberikan informasi spesifik tentang tindakan yang ditolak. Bidang operasi akan menjelaskan apa yang coba dilakukan program, bidang profil profil spesifik yang terpengaruh, nama akan menentukan target tindakan (i.e. file apa yang dihentikan dari operasi baca atau tulis), dan topeng yang diminta dan ditolak menunjukkan jika operasi, baik yang diminta oleh program dan ditolak per profil, dibaca atau dibaca-tulis.

Anda dapat menonaktifkan profil sepenuhnya dengan menjalankan:

aa-nonaktifkan /path/ke/program

Atau, Anda dapat menonaktifkan AppArmor sepenuhnya dengan mengedit file: /etc/default/grub.d/pakaian.cfg berisi:

GRUB_CMDLINE_LINUX_DEFAULT=”$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0”

Kemudian berjalan:

update-grub

Dan me-reboot sistem Anda.

Bekerja dengan Profil AppArmor

Profil AppArmor berada di /etc/apparmor.d/ direktori. Jika Anda menginstal paket apparmor-profiles dan apparmor-profiles-extra, Anda akan menemukan profil di /usr/share/doc/apparmor-profiles dan /usr/share/doc/apparmor-profiles/extra. Untuk mengaktifkannya, salin file ke /etc/apparmor.d kemudian edit untuk memastikannya berisi nilai yang Anda inginkan, simpan, lalu jalankan:

service apparmor reload

Jika Anda ingin memuat ulang hanya satu profil, jalankan:

apparmor_parser -r /etc/apparmor.d/profil

Di mana "profil" adalah nama profil yang dimaksud.

Tidak disarankan untuk hanya menyalin profil dan profil tambahan ke /etc/apparmor.d direktori tanpa mengeditnya dengan tangan. Beberapa profil mungkin sudah tua dan beberapa pasti tidak akan berisi nilai yang Anda inginkan. Jika Anda menyalin semuanya, setidaknya atur mereka untuk mengeluh sehingga Anda dapat memantau pelanggaran tanpa merusak program dalam produksi:

cd /etc/apparmor.d
untuk f dalam *.* ; lakukan aa-complain /etc/apparmor.d/$f; selesai

Anda dapat menggunakan perintah aa-enforce satu per satu untuk mengaktifkan profil yang ingin Anda simpan, menyetel yang menyebabkan masalah dan menerapkannya, atau menghapus yang tidak Anda perlukan dengan menjalankan aa-disable atau menghapus file profil dari /etc/apparmor.d.

Membuat Profil AppArmor

Sebelum Anda membuat profil khusus, Anda perlu mencari /etc/apparmor.d dan /usr/share/doc/apparmor-profiles direktori untuk profil yang ada yang mencakup biner yang dimaksud. Untuk mencari ini, jalankan:

temukan /usr/share/doc/apparmor-profiles | grep "program" -i

Menggantikan program dengan program yang ingin Anda lindungi dengan AppArmor. Jika Anda menemukannya, salin ke /etc/apparmor.d dan kemudian edit file di editor teks favorit Anda.

Setiap profil terdiri dari tiga bagian utama: meliputi, kemampuan, dan jalur. Anda dapat menemukan referensi bermanfaat dalam dokumentasi SuSESE.

Termasuk

Termasuk menyediakan sintaks yang dapat Anda gunakan di dalam file. Mereka menggunakan sintaks C/C++ #include <> dan biasanya referensi abstraksi yang ditemukan di /etc/apparmor.direktori d/abstraksi.

Kemampuan

Bagian kemampuan, biasanya ditemukan setelah penyertaan, mencantumkan kemampuan khusus yang dapat dilakukan oleh program. Misalnya, Anda dapat membiarkan program melakukan operasi setuid dengan:

kemampuan setuid

Kemampuan net_bind_service memungkinkan program untuk mengikat ke port jaringan. Jika Anda tidak memberikan ini, daemon server seperti Apache tidak dapat membuka port 80 dan mendengarkan. Namun, menghilangkan kemampuan ini dapat memberikan keamanan yang sangat baik untuk proses yang tidak Anda percayai di jaringan.

jalan

Anda dapat membuat daftar jalur yang dapat dibaca oleh program (dan mungkin ditulis). Misalnya, jika Anda ingin mengizinkan program untuk mengakses file /etc/passwd, tambahkan:

/etc/passwd r

Di profil. Perhatikan "r" - ini berarti hanya baca. Jika Anda mengubah ini menjadi "w", menulis ke jalur atau file ini akan diizinkan.

Bahkan jika Anda mengizinkan jalur di AppArmor, itu masih tunduk pada batasan sistem file Linux (mis.e. diatur dengan chmod, chgrp, dan chown). Namun, AppArmor masih akan memberikan lapisan perlindungan ekstra jika mekanisme tersebut dikompromikan.

Kesimpulan

Kunci keberhasilan penerapan AppArmor adalah mengatur profil untuk dikeluhkan, lalu ditegakkan. Pemeriksaan log yang cermat akan memberi Anda jalur dan kemampuan minimal yang diperlukan untuk operasi program yang sukses. Dengan menetapkan ini dan tidak lebih, Anda akan secara dramatis meningkatkan keamanan sistem Anda.

Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...