ProHoster > Log > administrasjon > SELinux jukseark for systemadministratorer: 42 svar på viktige spørsmål
SELinux jukseark for systemadministratorer: 42 svar på viktige spørsmål
Oversettelsen av artikkelen ble utarbeidet spesielt for studentene på kurset "Linux-administrator".
Her vil du få svar på viktige spørsmål om livet, universet og alt i Linux med forbedret sikkerhet.
"Den viktige sannheten om at ting ikke alltid er som de ser ut er allmennkunnskap ..."
- Douglas Adams, Haikerens guide til galaksen
Sikkerhet. Økt pålitelighet. Korrespondanse. Politikk. Four Horsemen of the Apocalypse sysadmin. I tillegg til våre daglige oppgaver – overvåking, backup, implementering, konfigurering, oppdatering osv. – er vi også ansvarlige for sikkerheten til våre systemer. Selv de systemene der tredjepartsleverandøren anbefaler at vi deaktiverer forbedret sikkerhet. Det føles som jobb Ethan Hunt fra «Mission: Impossible».
Stilt overfor dette dilemmaet bestemmer noen systemadministratorer seg for å ta blå pille, fordi de tror de aldri vil vite svaret på det store spørsmålet om livet, universet og alt det der. Og som vi alle vet, er svaret 42.
I ånden til The Hitchhiker's Guide to the Galaxy, her er 42 svar på viktige spørsmål om kontroll og bruk. SELinux på systemene dine.
1. SELinux er et tvungen tilgangskontrollsystem, som betyr at hver prosess har en etikett. Hver fil, katalog og systemobjekt har også etiketter. Policyregler kontrollerer tilgang mellom merkede prosesser og objekter. Kjernen håndhever disse reglene.
2. De to viktigste konseptene er: Merking — merkinger (filer, prosesser, porter osv.) og Type håndhevelse (som isolerer prosesser fra hverandre basert på typer).
4. Formålet med å tilby sikkerhet på flere nivåer (Multi-Level Security - MLS) er å administrere prosesser (domener) basert på sikkerhetsnivået til dataene de skal bruke. For eksempel kan ikke en hemmelig prosess lese topphemmelige data.
Prosess som kjører i kontekst httpd_t, kan samhandle med et merket objekt httpd_something_t.
13. Mange kommandoer godtar et argument -Z for å se, skape og endre kontekst:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
Kontekster etableres når filer opprettes basert på konteksten til deres overordnede katalog (med noen unntak). RPM-er kan etablere kontekster som under installasjon.
14. Det er fire hovedårsaker til SELinux-feil, som er beskrevet mer detaljert i punktene 15-21 nedenfor:
Merkeproblemer
På grunn av noe som SELinux trenger å vite
Feil i SELinux policy/applikasjon
Informasjonen din kan være kompromittert
15.Merkeproblem: hvis filene dine er i /srv/myweb er merket feil, kan tilgang nektes. Her er noen måter å fikse dette på:
Hvis du kjenner etiketten: # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
Hvis du kjenner en fil med tilsvarende markeringer: # semanage fcontext -a -e /srv/myweb /var/www
Gjenopprette konteksten (for begge tilfeller): # restorecon -vR /srv/myweb
16.Merkeproblem: hvis du flytter filen i stedet for å kopiere den, vil filen beholde sin opprinnelige kontekst. Slik løser du dette problemet:
Endre kontekstkommandoen med etiketten: # chcon -t httpd_system_content_t /var/www/html/index.html
Endre kontekstkommandoen med lenkeetiketten: # chcon --reference /var/www/html/ /var/www/html/index.html
Gjenopprett konteksten (for begge tilfeller): # restorecon -vR /var/www/html/
17. Hvis SELinux du trenger å viteat HTTPD lytter på port 8585, fortell SELinux:
# semanage port -a -t http_port_t -p tcp 8585
18.SELinux du trenger å vite Boolske verdier som gjør at deler av SELinux-policyen kan endres under kjøretid uten at kunnskap om SELinux-policyen blir overskrevet. Hvis du for eksempel vil at httpd skal sende e-post, skriv inn: # setsebool -P httpd_can_sendmail 1
19.SELinux du trenger å vite logiske verdier for å aktivere/deaktivere SELinux-innstillinger:
For å se alle boolske verdier: # getsebool -a
For å se en beskrivelse av hver: # semanage boolean -l
For å angi en boolsk verdi: # setsebool [_boolean_] [1|0]
For en permanent installasjon, legg til -P. For eksempel: # setsebool httpd_enable_ftp_server 1 -P
20. SELinux retningslinjer/applikasjoner kan inneholde feil, inkludert:
Uvanlige kodebaner
Konfigurasjoner
Omdirigerer standard
Filbeskrivelsen lekker
Kjørbart minne
Dårlig bygde biblioteker
Åpne billetter (ikke send inn en rapport til Bugzilla; Bugzilla har ingen SLA).
21.Informasjonen din kan være kompromitterthvis du har begrensede domener som prøver å:
25. Hvis det oppstår en SELinux-feil, bruk loggen setroubleshoot tilbyr flere mulige løsninger.
For eksempel fra 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. Logging: SELinux registrerer informasjon mange steder: