SELinux

SELinux aloittelijoille, jotka käyttävät CentOSia

SELinux aloittelijoille, jotka käyttävät CentOSia
NSA on kehittänyt estämään pahantahtoisen pääsyn ja tunkeutumisen. Security-Enhanced Linux tai SELinux on edistynyt kulunvalvontaominaisuus, joka toimitetaan moderneilla Linux-distroilla. SELinux määritellään pakolliseksi kulunvalvontajärjestelmäksi (MAC), joka on kehitetty korvaamaan valinnainen kulunvalvontajärjestelmä (DAC).

SELinux voi tuntua pelottavalta ja erittäin vaikea toteuttaa useimmissa nykyaikaisissa järjestelmissä. SELinuxin määrittämisellä on kuitenkin valtavia etuja sekä turvallisuuden valvonnassa että vianmäärityksessä.

Tässä opetusohjelmassa käsitellään erilaisia ​​SELinuxin toteuttamia käsitteitä ja tutkitaan erilaisia ​​käytännön menetelmiä SELinuxin käyttöönottamiseksi.

HUOMAUTUS: Ennen kuin aloitamme, on hyvä käyttää tämän opetusohjelman komentoja pääkäyttäjänä tai sudoers-ryhmän käyttäjänä.

Asenna SELinux-paketit

Asennetaan useita SELinux-paketteja, jotka puolestaan ​​auttavat työskentelemään SELinux-käytäntöjen kanssa.

Ennen kuin jatkamme SELinux-pakettien asentamista, on hyvä tarkistaa, mitkä asennetaan nykyiseen järjestelmään.

Useimmissa REHL-jakelujen asennuksissa jotkut paketit asennetaan oletusarvoisesti. Nämä paketit sisältävät:

  1. setools - Tätä pakettia käytetään valvomaan lokeja, kyselykäytäntöjä ja kontekstitiedostojen hallintaa.
  2. policycoreutils-python - tarjoaa python-ydinapuohjelmat SELinuxin hallintaan
  3. policycoreutils - tämä paketti tarjoaa myös apuohjelmia SELinuxin hallintaan.
  4. mcstrans - mcstrans tarjoaa SELinux-käännösdemonin, joka kääntää eri tasot helposti ymmärrettäviin muotoihin.
  5. setools-console - samanlainen kuin setools.
  6. Selinux-käytäntö - se tarjoaa viitteen SELinux-käytännön määrittämiseen
  7. Selinux-policy-kohdistettu - samanlainen kuin SELinux-policy
  8. Libselinux-utils - SELinux libselinux -apuohjelmat, jotka auttavat hallitsemaan SELinuxia
  9. Setroubleshoot-server - työkalut SELinuxin vianmääritykseen

Voit tarkistaa, mitkä paketit on jo asennettu järjestelmään, käyttämällä rpm -qa -komentoa ja lähettämällä tulos grepille SELinuxille seuraavasti:

rpm -qa | grep selinux
libselinux-utils-2.9-4.el8_3.x86_64
rpm-plugin-selinux-4.14.3-4.el8.x86_64
selinux-policy-kohdistettu-3.14.3-54.el8_3.2.noarch
python3-libselinux-2.9-4.el8_3.x86_64
selinux-policy-3.14.3-54.el8_3.2.noarch
libselinux-2.9-4.el8_3.x86_64

Tämän pitäisi antaa sinulle ulostulo kaikista SELinux-tukea varten asennetuista paketeista

Jos kaikkia SELinux-paketteja ei ole asennettu järjestelmään, asenna ne yum-komennolla alla olevan komennon mukaisesti:

yum install policycoreutils policycoreutils-python-utils selinux-policy selinux-policy-kohdistettu libselinux-utils setroubleshoot-server setools setools-console mcstrans

SELinux-tilat ja tilat

Aloitetaan nyt pelaaminen SELinuxilla, erityisesti SELinux-tiloilla.

SELinux-tilat

Kun SELinux on käytössä, sillä voi olla kolme mahdollista tilaa:

Täytäntöönpanotila

Jos pakotetaan SELinux-tila, se varmistaa, ettei kenenkään käyttäjän tai prosessin luvatonta pääsyä järjestelmään estetä. Pakotustila pitää myös lokitiedot luvattomasta pääsystä.

Permissiivinen tila

Permissiivinen tila toimii kuin osittain käytössä oleva SELinux-tila. Tässä tilassa pääsyä ei evätä, koska SELinux ei pakota käytäntöjään tässä tilassa. Sallittu tila pitää kuitenkin kirjaa kaikista käytäntöjen rikkomisyrityksistä. Tämä tila on erittäin tehokas testaamiseen, ennen kuin se otetaan käyttöön täysin, koska käyttäjät ja komponentit voivat silti olla vuorovaikutuksessa järjestelmän kanssa, mutta silti kerätä lokeja. Tämän avulla voit hienosäätää järjestelmääsi sopivalla tavalla.

Pois käytöstä

Estetty tila voidaan nähdä myös käytöstä poistettuna tilana, jossa SELinux on poistettu käytöstä eikä se tarjoa mitään suojausta.

SELinux-tilat

Kun SELinux on asennettu järjestelmään. Sillä voi olla binaaritiloja: käytössä ja pois käytöstä. Voit tarkastella SELinuxin tilaa komennolla:

getenforce
Liikuntarajoitteinen

Yllä oleva lähtö osoittaa, että SELinux on tällä hetkellä pois käytöstä.

Voit käyttää myös sestatus-komentoa alla esitetyllä tavalla:

sestatus
SELinux-tila: pois käytöstä

Ota SELinux käyttöön ja poista se käytöstä

Tilat ja SELinux-määritykset hoidetaan asetustiedostossa, joka sijaitsee / etc / selinux / config. Voit käyttää kissan komentoa sen sisällön tarkasteluun.

cat / etc / selinux / config
#Tämä tiedosto ohjaa järjestelmän SELinux-tilaa.
# SELINUX = voi ottaa yhden näistä kolmesta arvosta:
#enforcing - SELinux-tietoturvakäytäntöä noudatetaan.
#permissive - SELinux tulostaa varoitukset täytäntöönpanon sijaan.
#disabled - SELinux-käytäntöä ei ole ladattu.
SELINUX = täytäntöönpano
# SELINUXTYPE = voi ottaa yhden näistä kolmesta arvosta:
# kohdistettu - Kohdennetut prosessit ovat suojattuja,
# minimi - Kohdennetun käytännön muuttaminen. Vain valitut prosessit ovat suojattuja.
# mls - Monitasoinen suojaus.
SELINUXTYPE = kohdennettu

Edellä esitetyn perusteella meillä on kaksi päädirektiiviä käytössä. SELINUX-direktiivi määritti tilan, jossa SELinux määritetään. SELINUXTYPE-direktiivi määrittää SELinux-käytäntöjoukon. Oletusarvoisesti SELinux käyttää kohdennettua käytäntöä, jonka avulla voit mukauttaa käyttöoikeuksien käyttöoikeuksia. Toinen käytäntö on monitasoinen suojaus tai MLS.

Joissakin versioissa saatat löytää vähimmäiskäytännön.

cd / etc / selinux /
[ls -1
yhteensä 4
-rw-r - r-- 1 juurihakemisto 548 16. helmikuuta 22:40 kokoonpano
drwxr-xr-x 1 juurijuuri 4096 16. helmikuuta 22:43 mls
-rw-r - r-- 1 juuren juuri 2425 heinäkuu 21 2020 semanage.konf
drwxr-xr-x 1 juurihakemisto 4096 16. helmikuuta 22:40 kohdennettu

Katsotaan nyt, kuinka SELinux otetaan käyttöön järjestelmässä. Suosittelemme, että ensin asetat SELINUX-tilan sallivaksi eikä sitä pakoteta.

nano / etc / selinux / config

Muokkaa nyt SELINUX-direktiiviä seuraavasti:

SELINUX = salliva

Kun olet tallentanut tiedoston, käynnistä järjestelmä uudelleen.

käynnistä uudelleen

HUOMAUTUS: Suosittelemme, että asetat SELINUX-direktiivin sallivaksi ennen SELinuxin käyttöönottoa.

Kun käynnistät järjestelmän uudelleen, tarkista, onko SELinuxin raportoinneissa lokeja / var / log / messages.

Varmista seuraavaksi, ettei sinulla ole virheitä, ja pakota SELinux käyttöön asettamalla direktiivi pakotettavaksi tiedostoon / etc / selinux / config

Lopuksi voit tarkastella SELinux-tilaa käyttämällä sestatus-komentoa:

SELinux-tila: käytössä
SELinuxfs mount: / sys / fs / selinux
SELinux-juurihakemisto: / etc / selinux
Ladatun käytännön nimi: kohdennettu
Nykyinen tila: täytäntöönpano
Tila määritystiedostosta: virhe (onnistui)
Käytännön MLS-tila: käytössä
Käytännön deny_unknown tila: sallittu
Muistisuojauksen tarkistus: todellinen (suojattu)
Max ytimen käytäntöversio: 31

Voit myös vaihtaa eri SELinux-tilojen välillä setenforce-komennolla. Esimerkiksi, jos haluat asettaa tilan sallivaksi, käytä komentoa:

setenforce sallivaa

Tämä tila on väliaikainen ja palautetaan kokoonpanotiedostoon yhdeksi uudelleenkäynnistyksen jälkeen.

sestatus SELinux-tila: käytössä
SELinuxfs mount: / sys / fs / selinux
SELinux-juurihakemisto: / etc / selinux
Ladatun käytännön nimi: kohdennettu
Nykyinen tila: salliva
Tila konfigurointitiedostosta: pakottaa
Käytännön MLS-tila: käytössä
Käytännön deny_unknown tila: sallittu
Muistisuojauksen tarkistus: todellinen (suojattu)
Max ytimen käytäntöversio: 31

SELinux-käytäntö ja konteksti

Välttääksemme sekaannusta SELinux-aloittelijoille, emme sukella syvälle siihen, miten SELinux-käytäntöjä toteutetaan, vaan yksinkertaisesti kosketamme sitä antamaan sinulle idea.

SELinux toimii toteuttamalla tietoturvakäytäntöjä. SELinux-käytäntö viittaa sääntöön, jota käytetään järjestelmän kaikkien objektien käyttöoikeuksien määrittelemiseen. Objektit viittaavat käyttäjiin, prosesseihin, tiedostoihin ja rooleihin.

Jokainen asiayhteys määritetään muodossa käyttäjä: rooli: tyyppi: taso.

Luo esimerkiksi hakemisto kotihakemistoon ja tarkastele sen SELinux-suojauskontekstia alla olevien komentojen mukaisesti:

mkdir ~ / linuxhint_dir
ls -Z ~ / | grep linuxhint

Tämä näyttää tuotoksen alla olevan kuvan mukaisesti:

unconfined_u: object_r: user_home_t: s0 linuxhint_dir

Löydät myös muita hakemistoja, joissa on suojausyhteydet:

system: _u: object_r: user_home_t: s0

Saatat ymmärtää, että yllä oleva lähtö seuraa käyttäjän syntaksia: rooli: tyyppi: taso.

Johtopäätös

Se oli aloittelijan opetusohjelma SELinuxille CentOS 8: n avulla. Vaikka opetusohjelma on tarkoitettu aloittelijoille, se on enemmän kuin tarpeeksi saada jalkasi käyntiin SELinuxissa ja poistamaan SELinuxin pelottava luonne.

Kiitos, että luit.

Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...