Lærðu Linux kerfisendurskoðun með Auditd Tool á CentOS/RHEL


Kerfisendurskoðun vísar einfaldlega til ítarlegrar greiningar á tilteknu markkerfi: endurskoðun samanstendur af athugun á hinum ýmsu hlutum sem mynda það kerfi, með gagnrýnu mati (og prófun ef þörf krefur) á mismunandi áhugasviðum.

Eitt af mikilvægu undirkerfunum á RHEL/CentOS Linux endurskoðunarkerfinu sem almennt er þekkt sem auditd. Það útfærir leið til að rekja öryggisupplýsingar um kerfi: það notar fyrirfram stilltar reglur til að safna miklu magni af upplýsingum um atburði sem eru að gerast á kerfinu og skráir þá í annálaskrá og býr þannig til endurskoðunarprófun.

Það getur skráð upplýsingar eins og dagsetningu og tíma, gerð og niðurstöðu atburðar; notendur sem ollu atburðinum, allar breytingar sem gerðar eru á skrám/gagnagrunnum; notkun kerfisvottunaraðferða, svo sem PAM, LDAP, SSH og fleiri.

Auditd skráir einnig allar breytingar sem gerðar eru á endurskoðunarstillingarskrám eða allar tilraunir til að fá aðgang að endurskoðunarskrám og allar tilraunir til að flytja inn eða flytja upplýsingar inn í eða úr kerfinu auk fjölda annarra öryggistengdra upplýsinga.

  1. Það þarf ekki utanaðkomandi forrit eða ferli til að keyra á kerfi sem gerir það sjálfbjarga.
  2. Það er mjög stillanlegt og gerir þér því kleift að skoða hvaða kerfisaðgerð(ir) sem þú vilt.
  3. Það hjálpar við að greina eða greina hugsanlegar málamiðlanir í kerfi.
  4. Það er hægt að virka sem sjálfstætt greiningarkerfi.
  5. Það getur unnið með innbrotsskynjunarkerfum til að virkja árásarskynjun.
  6. Það er mikilvægt tæki til að endurskoða réttarrannsóknir.

Endurskoðunarkerfið hefur tvo kjarnaþætti, þ.e.

  • notendarýmisforrit og tól/tól, og
  • Kjarnahlið kerfissímtalsvinnsla – þetta tekur við kerfissímtölum frá notendarýmisforritum og sendir þau í gegnum þrjár tegundir sía, nefnilega: notandi, verkefni, hætta eða útiloka.

Mikilvægasti hlutinn er endurskoðunarpúkinn fyrir notendarýmið (auditd) sem safnar upplýsingum byggðar á fyrirfram stilltum reglum, úr kjarnanum og býr til færslur í annálaskrá: sjálfgefinn log er /var/log/audit/audit.log.

Auk þess er audispd (audit dispatcher púkinn) atburðafjöldi sem hefur samskipti við auditd og sendir atburði til annarra forrita sem vilja framkvæma rauntíma atburðavinnslu.

Það eru nokkur notendarýmisverkfæri til að stjórna og sækja upplýsingar úr endurskoðunarkerfinu:

  • auditctl – tól til að stjórna endurskoðunarkerfi kjarnans.
  • ausearch – tól til að leita að endurskoðunarskrám fyrir tiltekna atburði.
  • aureport – tól til að búa til skýrslur um skráða atburði.

Hvernig á að setja upp og stilla endurskoðunarverkfæri í RHEL/CentOS/Fedora

Fyrst skaltu ganga úr skugga um að endurskoðunartólið sé sett upp á kerfinu þínu með því að nota grep tólið sem hér segir:

# rpm -qa | grep audit

Ef þú ert ekki með ofangreinda pakka uppsetta skaltu keyra þessa skipun sem rótnotanda til að setja þá upp.

# yum install audit

Næst skaltu athuga hvort auditd sé virkt og í gangi, gefðu út systemctl skipanirnar hér að neðan á flugstöðinni.

--------------- On CentOS/RHEL 7 --------------- 
# systemctl is-enabled auditd
# systemctl status auditd
# systemctl start auditd   [Start]
# systemctl enable auditd  [Enable]

--------------- On CentOS/RHEL 6 --------------- 
# service auditd status
# service auditd start     [Start]
# chkconfig auditd on      [Enable]

Nú munum við sjá hvernig á að stilla auditd með því að nota aðalstillingarskrána /etc/audit/auditd.conf. Færibreyturnar hér gera þér kleift að stjórna því hvernig þjónustan keyrir, svo sem að skilgreina staðsetningu annálaskrárinnar, hámarksfjölda annálaskráa, annálasniði, hvernig á að takast á við fulla diska, snúning skrár og marga fleiri valkosti.

# vi /etc/audit/auditd.conf

Af sýnishorninu hér að neðan skýra breyturnar sig sjálfar.

Skilningur á endurskoðunarreglum

Eins og við nefndum áðan notar auditd reglur til að safna tilteknum upplýsingum úr kjarnanum. Þessar reglur eru í grundvallaratriðum auditctl valkostir (sjá mansíðu) sem þú getur fyrirfram stillt reglur í /etc/audit/rules.d/audit.rules skránni (Á CentOS 6, notaðu /etc/audit/audit.rules skrána) , þannig að þau séu hlaðin við ræsingu.

Það eru þrjár tegundir af endurskoðunarreglum sem þú getur skilgreint:

  • Stjórnreglur – þær gera kleift að breyta hegðun endurskoðunarkerfisins og nokkrum stillingum þess.
  • Skráakerfisreglur (einnig nefndar skráavaktir) – gera kleift að endurskoða aðgang að tiltekinni skrá eða möppu.
  • Kerfissímtalsreglur – leyfa skráningu á kerfissímtölum frá hvaða forriti sem er.

Opnaðu nú aðalstillingarskrána til að breyta:

# vi /etc/audit/rules.d/audit.rules

Athugaðu að fyrsti hluti þessarar skráar verður að innihalda stjórnunarreglur. Bættu síðan við endurskoðunarreglunum þínum (skráavakt og kerfiskallareglur) í miðhlutann, og að lokum inniheldur síðasti hlutinn óbreytanlegar stillingar sem eru einnig stjórnunarreglur.

-D		#removes all previous rules
-b  3074	#define buffer size
-f 4		#panic on failure 
-r 120		#create at most 120 audit messages per second

Þú getur skilgreint skráaúrslit með því að nota þessa setningafræði:

-w /path/to/file/or/directory -p permissions -k key_name

Þar sem valmöguleikinn:

  • w – er notað til að tilgreina skrá eða möppu til að fylgjast með.
  • p – heimildir til að skrá, r – fyrir lesaðgang, w – fyrir skrifaðgang, x – fyrir keyrsluaðgang og a – fyrir breytingu á skráar- eða stjórnandaeiginleika.
  • -k – gerir þér kleift að stilla valfrjálsan streng til að bera kennsl á hvaða regla (eða sett af reglum) bjó til ákveðna annálsfærslu.

Þessar reglur leyfa endurskoðun að fylgjast með atburðum sem gera breytingar á þessum mikilvægu kerfisskrám.

-w /etc/passwd -p wa -k passwd_changes
-w /etc/group -p wa -k group_changes
-w /etc/shadow -p wa -k shadow_changes
-w /etc/sudoers -p wa -k sudoers_changes

Þú getur stillt kerfissímtalsreglu með því að nota eyðublaðið hér að neðan:

-a action,filter -S system_call -F field=value -k key_name

hvar:

  • aðgerð – hefur tvö möguleg gildi: alltaf eða aldrei.
  • sía – tilgreinir samsvörunarsíu kjarnareglna (verkefni, hætta, notandi og útiloka) er notuð á viðburðinn.
  • kerfiskall – heiti kerfiskalls.
  • reitur – tilgreinir viðbótarvalkosti eins og arkitektúr, PID, GID osfrv til að breyta reglu.

Hér eru nokkrar reglur sem þú getur skilgreint.

-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change
-a always,exit -S sethostname -S setdomainname -k system_locale

Bættu síðan að lokum við óbreytanlegum stillingum í lok skráarinnar, til dæmis:

-e 1	#enable auditing
-e 2	#make the configuration immutable -- reboot is required to change audit rules

Hvernig á að setja endurskoðunarreglur með því að nota auditctl tólið

Að öðrum kosti skaltu senda valkostina til auditd á meðan það er í gangi, með því að nota auditctl eins og í eftirfarandi dæmum. Þessar skipanir geta hnekið reglum í stillingarskránni.

Til að skrá allar endurskoðunarreglur sem nú eru hlaðnar skaltu senda -l fánann:

# auditctl -l

Næst skaltu reyna að bæta við nokkrum reglum:

# auditctl -w /etc/passwd -p wa -k passwd_changes
# auditctl -w /etc/group -p wa -k group_changes
# auditctl -w /etc/sudoers -p wa -k sudoers_changes
# auditctl -l

Öll endurskoðunarskilaboð eru sjálfgefið skráð í /var/log/audit/audit.log skrá. Til að skilja sniðið á færsluskránni munum við hlaða inn reglu og athuga færsluna sem myndast eftir atburð sem passar við regluna.

Að því gefnu að við höfum leynilega afritaskrá mun þessi endurskoðunarregla skrá allar tilraunir til að fá aðgang að eða breyta þessari skrá:

# auditctl -w /backups/secret_files/ -p rwa -k secret_backup

Nú, notaðu annan kerfisreikning, reyndu að fara inn í möppuna hér að ofan og keyrðu ls skipunina:

$ cd /backups/secret_files/
$ ls

Logfærslan mun líta þannig út.

Ofangreind atburður samanstendur af þrenns konar endurskoðunarskrám. Sú fyrsta er type=SYSCALL:

type=SYSCALL msg=audit(1505784331.849:444): arch=c000003e syscall=257 success=yes exit=3 a0=ffffffffffffff9c a1=8ad5c0 a2=90800 a3=0 items=1 ppid=2191 pid=2680 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts1 ses=3 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="secret_backup"

Annað er type=CWD.

type=CWD msg=audit(1505784331.849:444):  cwd="/backups/secret_files"

Og sá síðasti er type=PATH:

type=PATH msg=audit(1505784331.849:444): item=0 name="." inode=261635 dev=08:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=unconfined_u:object_r:default_t:s0 objtype=NORMAL

Þú getur fundið heildarlista yfir alla atburðareitina (svo sem skilaboð, arch, ses osfrv.) og merkingu þeirra í endurskoðunarkerfisvísuninni.

Það er allt í bili. Í næstu grein munum við skoða hvernig á að nota ausearch til að spyrjast fyrir um endurskoðunarskrár: við munum útskýra hvernig á að leita að tilteknum upplýsingum úr endurskoðunarskrám. Ef þú hefur einhverjar spurningar, vinsamlegast hafðu samband við okkur í gegnum athugasemdareitinn hér að neðan.