Täältä saat vastauksia tärkeisiin kysymyksiin elämästä, maailmankaikkeudesta ja kaikesta Linuxissa parannetulla suojauksella.
"Tärkeä totuus, että asiat eivät aina ole sitä miltä ne näyttävät, on yleisesti tiedossa..."
-Douglas Adams, Linnunradan käsikirja liftareille
Turvallisuus. Lisääntynyt luotettavuus. Kirjeenvaihto. Käytäntö. Four Horsemen of the Apocalypse sysadmin. Päivittäisten tehtäviemme - valvonta, varmuuskopiointi, toteutus, konfigurointi, päivitys jne. - lisäksi vastaamme myös järjestelmien turvallisuudesta. Jopa ne järjestelmät, joissa kolmannen osapuolen palveluntarjoaja suosittelee tehostetun suojauksen poistamista käytöstä. Se tuntuu työltä Ethan Hunt kohdasta "Mission: Impossible".
Tämän ongelman edessä jotkut järjestelmänvalvojat päättävät ryhtyä toimiin sininen pilleri, koska he luulevat, että he eivät koskaan tiedä vastausta elämän, maailmankaikkeuden ja kaiken muun suureen kysymykseen. Ja kuten me kaikki tiedämme, vastaus on 42.
Lippujen oppaan galaksiin hengessä tässä on 42 vastausta tärkeisiin hallintaa ja käyttöä koskeviin kysymyksiin. SELinux järjestelmissäsi.
1. SELinux on pakotettu kulunvalvontajärjestelmä, mikä tarkoittaa, että jokaisella prosessilla on etiketti. Jokaisella tiedostolla, hakemistolla ja järjestelmäobjektilla on myös tunnisteet. Käytäntösäännöt hallitsevat pääsyä merkittyjen prosessien ja objektien välillä. Ydin valvoo näitä sääntöjä.
2. Kaksi tärkeintä käsitettä ovat: Pakkausmerkinnät — merkinnät (tiedostot, prosessit, portit jne.) ja Tyyppivalvonta (joka eristää prosessit toisistaan tyyppien perusteella).
3. Oikea etiketin muoto user:role:type:level (valinnainen).
4. Tarkoituksena tarjota monitasoinen suojaus (Monitasoinen suojaus - MLS) on hallita prosesseja (verkkotunnuksia) käyttämiensä tietojen turvallisuustason perusteella. Esimerkiksi salainen prosessi ei voi lukea huippusalaisia tietoja.
5. Useiden kategorioiden turvallisuuden varmistaminen (Multi-Category Security - MCS) suojaa samanlaisia prosesseja toisiltaan (esimerkiksi virtuaalikoneet, OpenShift-moottorit, SELinux-hiekkalaatikot, säiliöt jne.).
Prosessi käynnissä kontekstissa httpd_t, voi olla vuorovaikutuksessa merkityn kohteen kanssa httpd_something_t.
13. Monet komennot hyväksyvät argumentin -Z tarkastella, luoda ja muuttaa kontekstia:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
Kontekstit määritetään, kun tiedostot luodaan niiden päähakemiston kontekstin perusteella (joitakin poikkeuksia lukuun ottamatta). RPM:t voivat luoda konteksteja kuten asennuksen aikana.
14. SELinux-virheille on neljä pääsyytä, jotka kuvataan tarkemmin alla olevissa kohdissa 15-21:
Merkintäongelmat
Johtuen siitä, mikä SELinuxin on tiedettävä
Virhe SELinux-käytännössä/sovelluksessa
Tietosi voivat vaarantua
15.Merkintäongelma: jos tiedostosi ovat /srv/myweb on merkitty väärin, pääsy voidaan evätä. Tässä on joitain tapoja korjata tämä:
Jos tiedät etiketin: # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
Jos tiedät tiedoston, jossa on vastaavat merkinnät: # semanage fcontext -a -e /srv/myweb /var/www
17. Jos SELinux sinun on tiedettäväettä HTTPD kuuntelee porttia 8585, kerro SELinuxille:
# semanage port -a -t http_port_t -p tcp 8585
18.SELinux sinun on tiedettävä Boolen arvot, jotka mahdollistavat SELinux-käytännön osien muuttamisen ajon aikana tietämättä, että SELinux-käytäntö korvataan. Jos esimerkiksi haluat, että httpd lähettää sähköpostia, kirjoita: # setsebool -P httpd_can_sendmail 1
19.SELinux sinun on tiedettävä loogiset arvot SELinux-asetusten käyttöönottoon/poistamiseen:
Voit nähdä kaikki loogiset arvot seuraavasti: # getsebool -a
Näet kunkin kuvauksen seuraavasti: # semanage boolean -l
Boolen arvon asettaminen: # setsebool [_boolean_] [1|0]
Pysyvää asennusta varten lisää -P. Esimerkiksi: # setsebool httpd_enable_ftp_server 1 -P
20. SELinux-käytännöt/sovellukset voivat sisältää virheitä, kuten:
Epätavalliset koodipolut
Kokoonpanot
Uudelleenohjataan stdout
Tiedostokuvaaja vuotaa
Suoritettava muisti
Huonosti rakennetut kirjastot
Avaa liput (älä lähetä raporttia Bugzillalle; Bugzilalla ei ole SLA:ta).
21.Tietosi voivat vaarantuajos sinulla on rajoitettuja verkkotunnuksia, jotka yrittävät:
25. Jos tapahtuu SELinux-virhe, käytä lokia setroubleshoot tarjoaa useita mahdollisia ratkaisuja.
Esimerkiksi alkaen journalctl:
Jun 14 19:41:07 web1 setroubleshoot: SELinux is preventing httpd from getattr access on the file /var/www/html/index.html. For complete message run: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
# sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
SELinux is preventing httpd from getattr access on the file /var/www/html/index.html.
***** Plugin restorecon (99.5 confidence) suggests ************************
If you want to fix the label,
/var/www/html/index.html default label should be httpd_syscontent_t.
Then you can restorecon.
Do
# /sbin/restorecon -v /var/www/html/index.html
26. Kirjaaminen: SELinux tallentaa tietoja moniin paikkoihin:
Varmista, että SELinux toimii sallivassa tilassa: # setenforce 0
Käytä skriptiä fixfilesvarmistaaksesi, että tiedostot nimetään uudelleen seuraavan uudelleenkäynnistyksen yhteydessä:
# fixfiles -F onboot # reboot
34. Luo käyttäjä tietyllä MLS-alueella: # useradd -Z staff_u john
Käyttämällä komentoa useradd, yhdistä uusi käyttäjä olemassa olevaan SELinux-käyttäjään (tässä tapauksessa staff_u).