SELinux vs AppArmor: võrdlus Linuxi serverite puhul
15 min lugemine - 21. mai 2026

SELinuxi ja AppArmori võrdlemine Linuxi serverite turvalisuse tagamiseks: Lugege, kuidas mõlemad MAC-raamistikud töötavad, peamised erinevused ja millist valida oma hostingu seadistuse jaoks.
SELinux vs AppArmor: milline MAC-raamistik sobib teie serverile?
SELinux ja AppArmor rakendavad mõlemad Linuxis kohustuslikku juurdepääsukontrolli (MAC), piirates protsesside tegevust isegi juhul, kui need saavad root-õigused. Erinevus seisneb selles, kuidas nad seda teevad. SELinux omistab igale failile ja protsessile püsivad märgised. AppArmor kasutab selle asemel failide teeraja reegleid. See üks disainivalik mõjutab kõike muud: keerukust, turvalisuse taset ja seda, milline distributsioon millist tööriista vaikimisi kaasas toob.
Kuidas SELinux töötab
SELinuxi arendas algselt välja NSA ja see on vaikimisi kaasas RHEL-i, CentOS-i, Fedora ja Rocky Linuxiga. See märgistab süsteemis iga objekti, sealhulgas faile, protsesse, porte ja pistikupesad, turvakonttekstiga formaadis user:role:type:level. type teeb suurema osa tööst mehhanismi abil, mida nimetatakse Type Enforcement (TE).
Näiteks töötab Apache veebiserver tüübina httpd_t. Veebisisu failidel on teistsugune tüüp. Kui ükski poliitika reegel ei luba selgesõnaliselt httpd_t sellele sisu tüübile juurdepääsu, lükatakse taotlus tagasi. See on vaikimisi keelustav mudel. Midagi ei ole lubatud, kui reegel ei sätesta teisiti.
SELinux toetab ka mitmetasandilist turvalisust (MLS) ja mitmekategoorilist turvalisust (MCS), mis klassifitseerivad andmeid tundlikkuse taseme järgi ja piiravad juurdepääsu vastavalt. MCS annab SELinuxile tugeva konteinerite eraldatuse, hoides konteinerid üksteisest ja hostist eraldatuna. See on oluline Kubernetes ja OpenShift keskkondades, kus podid jagavad ühte sõlme.
Selle vastukaaluks on keerukus. SELinuxi õppimiskõver on järsk. Juurdepääsu keeldumiste lahendamine tähendab auditeerimislogide lugemist, turvakontekstide mõistmist ja mõnikord ka kohandatud poliitikamoodulite loomist audit2allow. Meeskondadele, kellel puudub pühendunud turvatöötaja, on see koormus reaalne.
Kuidas AppArmor töötab
AppArmor kasutab teistsugust lähenemisviisi. Objekti märgistamise asemel lisab ta rakendustele turvaprofiilid nende failide asukoha alusel. Profiil /usr/sbin/nginx määrab kindlaks, milliseid katalooge Nginx võib lugeda, milliseid porte ta võib siduda ja milliseid võimekusi ta vajab. Profiilid on lihttekstifailid, mis on salvestatud /etc/apparmor.d/.
AppArmor on Ubuntu, Debian ja SUSE vaikimisi kasutatav MAC-raamistik. See on olnud Linuxi tuuma osa alates versioonist 2.6.36. Profiilita rakendused kasutavad standardseid Linuxi DAC-õigusi.
AppArmor töötab profiili kohta kahes režiimis: Enforce (blokeerib ja logib rikkumised) ja Complain (logib rikkumised ilma blokeerimata). See muudab uute profiilide järkjärgulise kasutuselevõtu praktiliseks. Alustage Complain-režiimis, vaadake logid läbi, karmistage profiili ja lülituge seejärel Enforce-režiimile.
Sellised tööriistad nagu aa-genprof ja aa-logprof aitavad profiile interaktiivselt luua, jälgides rakenduse tegevust ja genereerides reegleid selle käitumise põhjal. Võrreldes SELinuxi poliitikamoodulitega on süntaks palju lihtsam lugeda ja käsitsi muuta.
Miinuseks on see, et teepõhised reeglid ei järgi faile, kui need liiguvad. Kõvakettalink või sidumismount võib teoreetiliselt teepõhise piirangu mööda hiilida. AppArmoril puudub ka sisseehitatud MLS/MCS tugi, seega saab see isoleerida konteinerid peremehest, kuid mitte üksteisest, nagu seda teeb SELinux.
Kõrvuti võrdlus
| Funktsioon | SELinux | AppArmor |
|---|---|---|
| Juurdepääsu kontrollimudel | Sildipõhine (turvakontekstid) | Teepõhine (failisüsteemi asukohad) |
| Vaikimisi seisukoht | Keela kõik | Luba kõike (piirangud profiili kaupa) |
| Failide liikumine | Sildid järgivad faili | Turvalisus seotud teekonnaga |
| MLS/MCS tugi | Jah | Ei |
| Konteinerite eraldamine | Konteinerist konteinerisse ja konteinerist hostile | Ainult konteinerist hostile |
| Poliitika formaat | Kompileeritud binaarmoodulid | Inimloetavad tekstifailid |
| Vaikimisi distributsioonid | RHEL, Fedora, CentOS, Rocky Linux | Ubuntu, Debian, SUSE |
| Õppimiskõver | Järsk | Mõõdukas |
Põhikonfiguratsioon
SELinux
Kontrollige praegust seisundit:
sestatus
getenforceAlusta lubavas režiimis, et logida rikkumisi ilma midagi blokeerimata:
setenforce 0Kasutage enamiku serverite puhul „targeted” poliitikat. See piirab kõrge riskiga teenuseid, nagu veebiserverid ja andmebaasid, jättes kõik muu piiranguteta. Muutke see püsivaks /etc/selinux/config:
SELINUX=enforcing
SELINUXTYPE=targetedKontrollige failide ja protsesside turvakontekste:
ls -Z /var/www/html
ps -eZ | grep httpdKui teenus kasutab mittestandardset porti, uuendage poliitikat:
semanage port -a -t ssh_port_t -p tcp 9999Juurdepääsu keeldu tekitavate kohandatud rakenduste jaoks looge auditeerimislogist poliitikamoodul:
ausearch -m avc -ts recent | audit2allow -M my_custom_policy
semodule -i my_custom_policy.ppAppArmor
Kontrollige, millised profiilid on laaditud:
sudo aa-statusKui vajate profiilide haldamise tööriistu, installige utiliitide pakett:
sudo apt install apparmor-utilsLooge profiil interaktiivselt rakenduse töötamise ajal:
sudo aa-genprof /path/to/binaryTäpsustage profiili, otsides logidest rikkumisi:
sudo aa-logprofVahetage profiili režiime:
sudo aa-enforce /etc/apparmor.d/usr.sbin.nginx
sudo aa-complain /etc/apparmor.d/usr.sbin.nginxMillist tuleks kasutada?
Praktiline vastus enamikule administraatoritele: kasutage seda, mis teie distributsiooniga kaasas on. RHEL, CentOS, Fedora ja Rocky Linux tulevad koos SELinuxiga. Ubuntu, Debian ja SUSE tulevad koos AppArmoriga. Mõlemal raamistikul on oma platvormide jaoks väljakujunenud tööriistad ja poliitikad. Üleminek mis tahes distributsiooni vaikimisi valikust erinevale valikule lisab tööd ja vähendab kogukonna toetust.
Peale selle laske oma nõuetel otsustada:
- Valige SELinux, kui vajate vastavust PCI DSS, HIPAA või DISA-STIG standarditele. Kui kasutate Kubernetes või OpenShiftis mitme kasutajaga konteineritöökoormusi. Kui vajate konteineritevahelist isolatsiooni jagatud hostidel. Kui teie keskkond töötleb salastatud või tundlikkustasemega andmeid.
- Valige AppArmor, kui kasutate Ubuntu või Debiani ja soovite MAC-kaitset ilma suurema vaevata. Kui teie seadistus on üksik server või väike klastri, mis käitab standardseid veebiteenuseid. Kui kiire kasutuselevõtt on tähtsam kui detailne, märgistustasandi kontroll.
Mõlemad raamistikud lisavad minimaalse tööaja koormuse. SELinux salvestab juurdepääsuotsused oma Access Vector Cache'i. AppArmori poliitika laadimine võib tekitada väikese viivituse käivitamisel, kuid selle mõju tööaja jooksul on tühine. Enamiku hosting-töökoormuste puhul ei ole kumbki neist pudelikaelaks.
Kui vajate usaldusväärset hosting-alust, millel on täielik root-juurdepääs mõlema raamistiku konfigureerimiseks, annavad FDC pühendatud serverid või VPS teile kontrolli SELinuxi või AppArmori seadistamiseks vastavalt teie keskkonna nõuetele.

Zombiprotsessid Linuxis: Leia, eemalda, takista
Õppige, kuidas tuvastada, eemaldada ja vältida zombiprotsesse Linuxis. Käsklused, koodiparandused ja seire näpunäited serverite administraatoritele.
15 min lugemine - 19. mai 2026
Linuxi serveri karastamise kontrollnimekiri
15 min lugemine - 8. mai 2026

Kas teil on küsimusi või vajate kohandatud lahendust?
Paindlikud võimalused
Ülemaailmne haare
Kohene kasutuselevõtt
Paindlikud võimalused
Ülemaailmne haare
Kohene kasutuselevõtt