CentOS/RHEL-de Auditd Tool bilen Linux Ulgam Auditini öwreniň


Ulgam barlagy diňe belli bir maksatly ulgamyň çuňňur seljermesini aňladýar: audit, bu ulgamy öz içine alýan dürli bölekleriň gözden geçirilmeginden, dürli gyzyklanýan ugurlarda tankydy baha bermekden (we zerur bolsa synag etmekden) ybaratdyr.

RHEL/CentOS-daky kritiki kiçi ulgamlaryň biri, adatça auditd diýlip atlandyrylýan Linux audit ulgamy. Ulgamda howpsuzlyk bilen baglanyşykly maglumatlary yzarlamak üçin bir serişdäni ulanýar: ulgamda bolup geçýän wakalar barada köp mukdarda maglumat ýygnamak üçin öňünden düzülen düzgünleri ulanýar we olary hasaba alyş faýlynda ýazýar, şeýlelik bilen audit synagyny döredýär.

Wakanyň senesi we wagty, görnüşi we netijesi ýaly maglumatlary ýazyp biler; hadysany döreden ulanyjylar, faýllara/maglumat bazalaryna edilen islendik üýtgetmeler; PAM, LDAP, SSH we başgalar ýaly ulgam tanamak mehanizmlerini ulanmak.

Auditd, şeýle hem, audit konfigurasiýa faýllaryna edilen islendik üýtgeşmeleri ýa-da audit gündelik faýllaryna girmek synanyşyklaryny, ulgamdan ýa-da maglumatlardan import ýa-da eksport etmek üçin edilýän tagallalary we howpsuzlyk bilen baglanyşykly başga-da köp maglumatlary hasaba alýar.

  1. Öz-özüne garaşly ulgamda işlemek üçin daşarky programmalaryň ýa-da prosesleriň zerurlygy ýok.
  2. highlyokary düzülip bilner, şonuň üçin islän ulgam amallaryňyzy görmäge mümkinçilik berýär.
  3. Ulgamyň bolup biläýjek ylalaşyklaryny ýüze çykarmaga ýa-da derňemäge kömek edýär.
  4. Garaşsyz kesgitlemek ulgamy hökmünde işlemäge ukyply.
  5. Çozuşy ýüze çykarmak üçin çozuşy kesgitlemek ulgamlary bilen işläp biler.
  6. Kazyýet derňewleriniň derňewi üçin möhüm gural.

Gözegçilik ulgamynyň iki esasy komponenti bar:

  • ulanyjy giňişlik programmalary we kömekçi enjamlar/gurallar we
  • ýadro tarapy ulgam jaňlaryny gaýtadan işlemek - bu ulanyjy giňişligindäki programmalardan ulgam jaňlaryny kabul edýär we üç görnüşli süzgüçden geçirýär, ýagny: ulanyjy, wezipe, çykmak ýa-da çykarmak.

Iň möhüm bölegi, ýadrodan öňünden düzülen düzgünlere esaslanýan maglumatlary ýygnaýan we gündelik faýlda ýazgylary döredýän ulanyjy-giňişlik audit daemon (auditd) bolup durýar: deslapky gündelik /var/log/audit/audit.log.

Mundan başga-da, audispd (audit dispetçeri daemon), auditd bilen täsirleşýän we wakalary hakyky wagtda gaýtadan işlemek isleýän beýleki programmalara hadysalary iberýän hadysanyň multiplexorydyr.

Gözegçilik ulgamyndan maglumatlary dolandyrmak we almak üçin ulanyjy giňişlik gurallarynyň birnäçesi bar:

  • auditctl - ýadro gözegçilik ulgamyna gözegçilik etmek üçin peýdaly.
  • gözleg - belli hadysalar üçin audit gündelik faýllaryny gözlemek üçin peýdaly.
  • aureport - ýazylan wakalaryň hasabatlaryny döretmek üçin peýdaly.

Audit guralyny RHEL/CentOS/Fedora-da nädip gurmaly we sazlamaly

Ilki bilen grep kömekçi programmasyny ulanyp, gözegçilik guralynyň ulgamyňyza gurnalandygyny barlaň:

# rpm -qa | grep audit

Aboveokardaky paketleriňiz ýok bolsa, bu buýrugy gurmak üçin kök ulanyjy hökmünde işlediň.

# yum install audit

Ondan soň, auditd-iň açykdygyny we işleýändigini barlaň, terminalctl buýruklaryny terminalda beriň.

--------------- 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]

Indi esasy konfigurasiýa faýly /etc/audit/auditd.conf ulanyp, auditd-i nädip sazlamalydygyny göreris. Bu ýerdäki parametrler, gündelik faýlyň ýerleşýän ýerini kesgitlemek, gündelik faýllaryň sanyny, gündelik formaty, doly diskler bilen iş salyşmak, gündeligiň aýlanmagy we başga-da köp opsiýa ýaly hyzmatyň işleýşine gözegçilik etmäge mümkinçilik berýär.

# vi /etc/audit/auditd.conf

Aşakdaky nusga çykyşyndan parametrler öz-özünden düşündirilýär.

Gözegçilik düzgünlerine düşünmek

Öň hem belläp geçişimiz ýaly, auditd ýadrodan anyk maglumatlary ýygnamak üçin düzgünleri ulanýar. Bu düzgünler, esasan, /etc/audit/rules.d/audit.rules faýlynda düzgünleri öňünden düzüp bilýän auditctl opsiýalarydyr (CentOS 6-da /etc/audit/audit.rules faýly ulanyň) , başlangyçda ýüklener ýaly.

Gözegçilik düzgünleriniň üç görnüşi bar:

  • Dolandyryş düzgünleri - bular gözegçilik ulgamynyň özüni alyp barşyny we birnäçe konfigurasiýasyny üýtgetmäge mümkinçilik berýär.
  • Faýl ulgamynyň düzgünleri (faýl sagatlary hem diýilýär) - belli bir faýla ýa-da kataloga giriş barlagyny geçirmäge mümkinçilik berýär.
  • Ulgam jaň düzgünleri - islendik programma tarapyndan edilen ulgam jaňlarynyň hasaba alynmagyna rugsat berýär.

Indi redaktirlemek üçin esasy konfigurasiýa faýly açyň:

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

Bu faýlyň birinji bölüminde dolandyryş düzgünleriniň bolmalydygyny unutmaň. Soňra audit bölümiňizi (faýl sagatlary we ulgam jaň düzgünleri) orta bölüme goşuň, iň soňunda soňky bölümde gözegçilik düzgünleri bolan üýtgewsiz sazlamalar bar.

-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

Bu sintaksis arkaly faýl sagatlaryny kesgitläp bilersiňiz:

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

Nirede wariant:

  • w - gözegçilik etmek üçin faýl ýa-da katalog görkezmek üçin ulanylýar.
  • p - hasaba alynmaga rugsatlar, r - okamak üçin giriş, w - ýazmak üçin giriş, x - girişi ýerine ýetirmek we a - faýl ýa-da direktor atributyny üýtgetmek üçin.
  • -k - haýsy düzgüniň (ýa-da düzgünleriň toplumynyň) belli bir gündelik ýazgysyny döredendigini kesgitlemek üçin goşmaça setir bellemäge mümkinçilik berýär.

Bu düzgünler, bu möhüm ulgam faýllaryna üýtgeşmeler girizýän wakalary synlamaga mümkinçilik berýär.

-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

Aşakdaky formany ulanyp ulgam jaň düzgünini düzüp bilersiňiz:

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

nirede:

  • hereket - iki mümkin bolup biler: hemişe ýa-da hiç haçan.
  • süzgüç - çärä ýadro düzgünine laýyk gelýän süzgüji kesgitleýär (mesele, çykyş, ulanyjy we aýyrmak).
  • ulgam jaňy - ulgam jaň ady.
  • meýdan - düzgüni üýtgetmek üçin arhitektura, PID, GID we ş.m. ýaly goşmaça wariantlary kesgitleýär.

Ine, kesgitläp biljek käbir düzgünleriňiz.

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

Soň bolsa faýlyň soňundaky üýtgewsiz sazlamalary goşuň:

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

Auditdl Utility ulanyp, Auditd düzgünlerini nädip düzmeli

Ativea-da bolmasa, aşakdaky mysallardaky ýaly auditctl ulanyp, işleýän wagtynda opsiýalary iberiň. Bu buýruklar konfigurasiýa faýlyndaky düzgünleri ýok edip biler.

Häzirki wagtda ýüklenen audit düzgünleriniň hemmesini sanamak üçin -l baýdagyny geçiň:

# auditctl -l

Ondan soň birnäçe düzgün goşmaga synanyşyň:

# 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

Audithli habar habarlary /var/log/audit/audit.log faýlynda ýazylýar. Logurnalyň giriş formatyna düşünmek üçin bir düzgüni ýükläris we düzgüne gabat gelýän wakadan soň döredilen gündelik ýazgyny barlarys.

Gizlin ätiýaçlyk bukjamyz bar diýsek, bu gözegçilik düzgüni bu kataloga girmek ýa-da üýtgetmek synanyşyklaryny hasaba alar:

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

Indi başga bir ulgam hasaby ulanyp, ýokardaky kataloga geçip, ls buýrugyny işlediň:

$ cd /backups/secret_files/
$ ls

Giriş ýazgysy şeýle bolar.

Aboveokardaky waka üç görnüşli audit ýazgylaryndan ybarat. Birinjisi=SYSCALL görnüşi:

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"

Ikinjisi=CWD görnüşi.

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

Iň soňkusy bolsa=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

Audit ulgamynyň salgylanmasynda ähli waka meýdanlarynyň doly sanawyny (meselem, ms, arch, ses we ş.m.) tapyp bilersiňiz.

Bularyň hemmesi häzirlikçe. Indiki makalada, audit gündeliginiň faýllaryny gözlemek üçin gözleg gözlegini nädip ulanmalydygyna serederis: audit gündeliginden anyk maglumatlary nädip gözlemelidigini düşündireris. Soraglaryňyz bar bolsa, aşakdaky teswir bölümi arkaly bize ýüz tutmagyňyzy haýyş edýäris.