Olet luultavasti kuullut AppArmorista Ubuntua käyttäessäsi, mutta koska se ei ole sovellus, joka näkyy sovellusvalikossa eikä näy missään graafisessa muodossa, jotkut eivät ehkä tiedä, mitä se tekee ja miksi se on välttämätöntä järjestelmällesi. Lyhyesti sanottuna AppArmor on suojausmoduuli, joka rajoittaa yksittäiset ohjelmat lueteltuihin tiedostoihin ja ominaisuuksiin, jotta ne eivät aiheuta tuhoa järjestelmääsi.
Opi ero SELinuxin ja AppArmorin välillä suojataksesi Linux-järjestelmäsi.
Mikä on AppArmor?
AppArmor on pakollinen pääsynhallintajärjestelmä (MAC), joka rajoittaa ohjelmat rajoitetuihin resursseihin. Se rajoittaa ohjelmien joukkoon tiedostoja, määritteitä ja ominaisuuksia, jotta ne eivät mene syvälle järjestelmään ja aiheuta tuhoa (ellei sille ole annettu lupaa). Windowsin käyttäjätilien valvonta (UAC) -mallin sijaan, joka antaa käyttäjille hallinnan, AppArmor sitoo pääsynhallintaattribuutit itse ohjelmaan.
Kuinka AppArmor toimii
AppArmor toimii ydintasolla (katso nämä vinkit, jos käännät omaa ydintäsi) ja latautuu ensimmäisen käynnistyksen aikana. AppArmor käsittelee luvat profiilien kautta: joukko sääntöjä, jotka määräävät, mitä ohjelma voi tehdä ja mitä ei.
Profiilit voivat käyttää kahta tilaa: Enforcement ja Complain. Täytäntöönpanotila on profiilissa määritellyn käytännön tiukka täytäntöönpano, ja se raportoi käytäntörikkomusyrityksistä. Valitustila ilmoittaa vain käytäntörikkomusyritykset, eikä se pakota käytäntöä. Useimmat profiilit ladataan Enforcement-tilassa, mutta myös valitustilassa voi olla hyvä määrä kolmannen osapuolen profiileja.
AppArmor-tilan tarkistaminen
Jos käytät Ubuntu 7.04:ää tai uudempaa, AppArmor asennetaan oletuksena ja latautuu, kun käynnistät tietokoneen. Tarkista AppArmor-tila kirjoittamalla seuraava komento terminaaliin:
Alla oleva kuva näyttää mitä näet.
Järjestelmässäni voit nähdä, että pakotustilassa on ladattu 36 profiilia.
Käytöstä poistettujen AppArmor-profiilien etsiminen
AppArmorissa on useita esiladattuja profiileja, joista osa on oletuksena poistettu käytöstä. Voit tarkistaa nämä "/etc/apparmor.d/disable"-kansiosta. AppArmorin uusimmassa versiossa näet, että rsyslogd-profiili ei ole käytössä.
Tämä profiili on oletuksena poistettu käytöstä, koska käyttäjät tekevät usein rsyslogd-määrityksiä, jotka tekevät siitä yhteensopimattoman AppArmorin kanssa.
Kärki: opi kuinka voit hallita Ubuntu-konettasi etänä Webminin avulla.
AppArmor-profiilien käyttöönotto ja poistaminen käytöstä
Vaikka järjestelmään voi ladata useita profiileja, jokainen profiili voidaan joko ottaa käyttöön tai poistaa käytöstä yksitellen. Voit esimerkiksi ottaa käyttöön aiemmin mainitun rsyslogd-profiilin. Seuraa alla olevia ohjeita saadaksesi lisätietoja.
Avaa pääte ja kirjoita:
sudo apt install apparmor-utilsTämä asentaa työkalut, joita tarvitaan seuraavien komentojen suorittamiseen tässä opetusohjelmassa. Ota profiili käyttöön kirjoittamalla:
sudo aa-enforce /etc/apparmor.d/usr.sbin.rsyslogdVoit poistaa sen käytöstä uudelleen seuraavasti:
sudo ln -s /etc/apparmor.d/usr.sbin.rsyslogd /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.rsyslogdMiltä AppArmor-profiili näyttää?
Vaikka AppArmor-profiilit kuulostavat monimutkaisilta ohjelmistoilta, ne ovat itse asiassa yksinkertainen tekstitiedosto, jonka tiedostopolut ilmoittavat, mihin kansioihin ja hakemistoihin sovellus voi päästä. Voit helposti kaksoisnapsauttaa mitä tahansa profiilia "/etc/apparmor.d"-kansiossa avataksesi sen tekstieditorissasi.
Rsyslogd-profiili näyttää alla olevalta kuvalta.
Omien profiilien luominen sovellusten lukitsemiseksi
Ubuntu tekee jo melko hyvää työtä suojellakseen sinua, mutta jos haluat rajoittaa mukautettua sovellusta, jota Ubuntu ei suojaa, voit luoda oman AppArmor-profiilin lukitaksesi sovelluksen. Tämä on erityisen hyödyllistä palvelimella, jossa sovellukset saattavat olla käynnissä taustalla.
Huomautus: Ennen kuin luot omia profiileja, on parasta tutustua olemassa olevaan AppArmor-profiilikirjastoon ja tarkistaa, onko sovelluksesi profiili saatavilla. Voit myös asentaa apparmor-profiileja saadaksesi ylimääräisen profiililuettelon.
Suorita seuraava komento aloittaaksesi profiloinnin:
sudo aa-genprof /polku/sovellukseen/polku/sovellukseen on tiedostopolku sovellukseen, jonka haluat profiloida. Oletussovelluskansio on "/usr/bin", mutta se voi vaihdella sovelluksen ja asennustavan mukaan, kuten "/snap/bin".
Kun jätät päätteen käynnissä, käynnistä sovellus, jota siirryt Profiiliin. Tässä esimerkissä käytän Kritaa. Käytä sovellusta tavalliseen tapaan.
Palaa jokaiselle sovellukselle suorittamasi toiminnolle terminaaliin ja paina Shift + S saadaksesi sen tarkistamaan muutokset.
Täältä näet polun, jota sovellus käyttää, ja toiminnon vakavuuden. Valitse "Salli (A)" tai "Estä (D)" toiminto.
Tee näin muiden sovellukselle suoritettavien toimien ajan. Parhaan tuloksen saavuttamiseksi on parasta suunnitella toimintoluettelosi ennen profiloinnin aloittamista.
Lopuksi, kun olet valmis, paina Shift + F lopettaaksesi profiloinnin ja Shift + S tallentaaksesi profiilin.
Kun profiili on luotu, se tallennetaan "/etc/apparmor.d"-kansioon ja ladataan Enforcement-tilassa.
Muokkaa profiileja
Voit muokata äskettäin luotua profiilia käyttämällä seuraavaa komentoa:
sudo aa-logprof /etc/apparmor.d/Tässä tapauksessa
tulee olla sen uuden profiilin nimi, joka luotiin, kun käytit komentoa aa-genprof aiemmin. AppArmor tarkistaa lokimerkinnät ja antaa sinun tehdä muutoksia profiiliin.
AppArmorin pysäyttäminen ja uudelleenkäynnistys
Jos jostain syystä sinun on lopetettava AppArmor, voit tehdä sen helposti:
sudo service apparmor stopVoit vahvistaa sen pysäyttämisen tarkistamalla tilan tällä komennolla:
systemctl status apparmorJa aloittaaksesi AppArmorin uudelleen:
sudo service apparmor käynnistyy uudelleenJos tarkistat tilan uudelleen, näet vihreän valon, joka osoittaa, että AppArmor on käynnissä.
Jos käytät omaa palvelintasi, tutustu näihin vinkkeihin Linux-palvelimesi suojaamiseksi.
Usein Kysytyt Kysymykset
Miksi AppArmor poistaa rsyslogin oletusarvoisesti käytöstä?
rsyslog on konfiguroitava ohjelmisto, joka käsittelee järjestelmän kirjaamista, mukaan lukien lokiviestien vastaanottaminen, muuntaminen ja toimittaminen eri kohteisiin. Sen AppArmor-profiili "usr.sbin.rsyslogd" on mukana, mutta oletuksena poistettu käytöstä.
Canonical-insinöörin Jamie Strandbogen mukaantämä tapahtuu, koska rsyslog on niin hyvin konfiguroitavissa, että profiili ei välttämättä aina toimi kunnolla.
Mitä eroa on AppArmorin versioilla 2 ja 3?
AppArmor 3.x on AppArmorin uusin versio, ja se julkaistiin 1. lokakuuta 2020, ja se on merkittävä laajennus. AppArmor 2.x on hyvin vanha, se julkaistiin noin vuonna 2007. Vaikuttaa siltä, että 2.x-sarjassa ei enää ole aktiivista kehitystä. Uusin versio, 2.13.6, julkaistiin joulukuussa 2020, ja AppArmor 2.14 on listattu "peruutetuksi" kehityssivustolla. AppArmor 3.0.7 julkaistiin 9. elokuuta 2022.
Jos minulla on AppArmor, tarvitsenko silti virustorjuntaa?
Kyllä, tarvitset silti virustorjuntaohjelman, vaikka sinulla olisi AppArmor käynnissä. Nämä kaksi suorittavat täysin erilaisia toimintoja ja täydentävät toisiaan. On hyvä, että Ubuntussa on virustorjunta, vaikka Linux-järjestelmät ovatkin vähemmän haittaohjelmien tekijöiden kohteena.
Mitä ovat binaariset blobit ja miksi ne ovat turvallisuusriski? Opi vastaus ja kuinka Linux-Libre voi tarjota paremman suojan kuin tavallinen Linux.
Indeksi
- Mikä on AppArmor?
- Kuinka AppArmor toimii
- AppArmor-tilan tarkistaminen
- Käytöstä poistettujen AppArmor-profiilien etsiminen
- AppArmor-profiilien käyttöönotto ja poistaminen käytöstä
- Miltä AppArmor-profiili näyttää?
- Omien profiilien luominen sovellusten lukitsemiseksi
- AppArmorin pysäyttäminen ja uudelleenkäynnistys
- Usein Kysytyt Kysymykset
Vastaa