Pagkat-on sa Linux System Auditing gamit ang Auditd Tool sa CentOS/RHEL


Ang pag-audit sa sistema yano nga nagtumong sa lawom nga pagtuki sa usa ka piho nga target nga sistema: ang usa ka pag-audit gilangkuban sa usa ka pagsusi sa lainlaing mga bahin nga naglangkob sa sistema, nga adunay kritikal nga pagsusi (ug pagsulay kung gikinahanglan) sa lainlaing mga lugar nga interes.

Usa sa mga kritikal nga subsystem sa RHEL/CentOS ang sistema sa pag-audit sa Linux nga sagad nailhan nga auditd. Nagpatuman kini og paagi sa pagsubay sa impormasyon nga may kalabotan sa seguridad sa usa ka sistema: naggamit kini og pre-configured nga mga lagda aron makolekta ang daghang impormasyon bahin sa mga panghitabo nga nahitabo sa sistema, ug girekord kini sa usa ka log file, sa ingon nagmugna og audit trial.

Makarekord kini og impormasyon sama sa petsa ug oras, tipo, ug resulta sa usa ka panghitabo; tiggamit nga maoy hinungdan sa panghitabo, bisan unsa nga mga kausaban nga gihimo sa mga file/database; paggamit sa mga mekanismo sa pag-authenticate sa sistema, sama sa PAM, LDAP, SSH, ug uban pa.

Girehistro usab sa Auditd ang bisan unsang mga pagbag-o nga gihimo sa mga file sa pagsasaayos sa pag-audit o bisan unsang pagsulay sa pag-access sa mga file sa log sa pag-audit, ug bisan unsang mga paningkamot sa pag-import o pag-eksport sa impormasyon ngadto o gikan sa sistema ug uban pang impormasyon nga may kalabutan sa seguridad.

  1. Wala kini magkinahanglan og bisan unsang eksternal nga mga programa o proseso aron modagan sa usa ka sistema nga naghimo niini nga self-reliant.
  2. Kini labi ka ma-configure busa makapahimo kanimo sa pagtan-aw sa bisan unsang (mga) operasyon sa sistema nga imong gusto.
  3. Nagtabang kini sa pag-ila o pag-analisar sa mga potensyal nga pagkompromiso sa usa ka sistema.
  4. Kini makahimo sa pagtrabaho isip usa ka independente nga sistema sa pag-ila.
  5. Mahimo kining mogana sa Intrusion Detection Systems aron makahimo sa intrusion detection.
  6. Kini usa ka hinungdanon nga himan alang sa pag-audit sa mga imbestigasyon sa forensics.

Ang sistema sa pag-audit adunay duha ka panguna nga sangkap, nga mao:

  • mga aplikasyon sa user-space ug mga gamit/gamit, ug
  • pagproseso sa tawag sa sistema sa kilid sa kernel – nagdawat kini og mga tawag sa sistema gikan sa mga aplikasyon sa luna sa user ug gipasa kini sa tulo ka matang sa mga filter, nga mao ang: user, buluhaton, exit, o dili iapil.

Ang labing importante nga bahin mao ang user-space audit daemon (auditd) nga nagtigom og impormasyon base sa pre-configured nga mga lagda, gikan sa kernel ug nagmugna og mga entry sa log file: ang default log mao ang /var/log/audit/audit.log.

Dugang pa, ang audispd (audit dispatcher daemon) usa ka multiplexor sa panghitabo nga nakig-interact sa auditd ug nagpadala sa mga panghitabo sa ubang mga programa nga gustong mohimo sa tinuod nga oras nga pagproseso sa panghitabo.

Adunay ubay-ubay nga galamiton sa user-space para sa pagdumala ug pagkuha sa impormasyon gikan sa sistema sa pag-audit:

  • auditctl – usa ka gamit sa pagkontrolar sa sistema sa pag-audit sa kernel.
  • ausearch – usa ka gamit sa pagpangita sa mga file sa log sa pag-audit alang sa piho nga mga panghitabo.
  • aureport – usa ka gamit sa paghimo og mga report sa narekord nga mga panghitabo.

Giunsa ang Pag-install ug Pag-configure sa Tool sa Pag-audit sa RHEL/CentOS/Fedora

Una siguruha nga pamatud-an nga ang himan sa pag-audit na-install sa imong sistema gamit ang grep utility sama sa mosunod:

# rpm -qa | grep audit

Kung wala nimo ma-install ang mga pakete sa ibabaw, padagana kini nga mando ingon nga gamut nga tiggamit aron ma-install kini.

# yum install audit

Sunod, susiha kung gi-enable ug nagdagan ang auditd, i-isyu ang mga command systemctl sa ubos sa terminal.

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

Karon atong tan-awon kon unsaon pag-configure ang auditd gamit ang main configuration file /etc/audit/auditd.conf. Gitugotan ka sa mga parameter dinhi nga makontrol kung giunsa ang pagdagan sa serbisyo, sama sa pagtino sa lokasyon sa log file, labing kadaghan nga mga file sa log, format sa log, kung giunsa ang pag-atubang sa mga bug-os nga disk, rotation sa log ug daghan pa nga kapilian.

# vi /etc/audit/auditd.conf

Gikan sa sampol nga output sa ubos, ang mga parametro kay gipatin-aw sa kaugalingon.

Pagsabot sa mga Lagda sa Audit

Sama sa among nahisgutan sa sayo pa, gigamit sa auditd ang mga lagda aron makolekta ang piho nga kasayuran gikan sa kernel. Kini nga mga lagda kasagarang mga opsyon sa auditctl (tan-awa ang man page) nga mahimo nimong pre-configure ang mga lagda sa /etc/audit/rules.d/audit.rules file (Sa CentOS 6, gamita ang /etc/audit/audit.rules file) , aron sila makarga sa pagsugod.

Adunay tulo ka mga matang sa mga lagda sa pag-audit nga mahimo nimong ipasabut:

  • Mga lagda sa pagkontrol - kini makapahimo sa pagbag-o sa pamatasan sa sistema sa pag-audit ug pipila sa mga pag-configure niini.
  • Mga lagda sa sistema sa file (gitawag usab nga mga pagbantay sa file) – itugot ang pag-audit sa pag-access sa usa ka file o usa ka direktoryo.
  • System call rules – nagtugot sa pag-log sa sistema sa mga tawag nga gihimo sa bisan unsang programa.

Karon ablihi ang nag-unang configuration file alang sa pag-edit:

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

Timan-i nga ang una nga seksyon sa kini nga file kinahanglan adunay mga lagda sa pagkontrol. Unya idugang ang imong mga lagda sa pag-audit (mga pagbantay sa file ug mga lagda sa tawag sa sistema) sa tunga nga seksyon, ug sa katapusan ang katapusan nga seksyon adunay mga setting sa pagkadili mabag-o nga kontrolado usab nga mga lagda.

-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

Mahimo nimong ipasabut ang mga relo sa file gamit kini nga syntax:

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

Kung asa ang opsyon:

  • w – gigamit sa pagpiho sa file o direktoryo nga bantayan.
  • p – permiso nga ma-log, r – para sa read access, w – para sa write access, x – para sa execute access ug a – para sa pag-ilis sa file o director attribute.
  • -k – nagtugot kanimo nga magbutang ug opsyonal nga string para sa pag-ila kung unsang lagda (o usa ka hugpong sa mga lagda) ang nagmugna ug espesipikong log entry.

Gitugotan sa kini nga mga lagda ang pag-awdit sa pagtan-aw sa mga panghitabo nga nagbag-o sa kini nga mga kritikal nga file sa sistema.

-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

Mahimo nimong itakda ang usa ka lagda sa tawag sa sistema gamit ang porma sa ubos:

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

diin:

  • aksyon – adunay duha ka posibleng kantidad: kanunay o dili.
  • filter – nagtino sa kernel rule-matching filter (task, exit, user ug exclude) kay gipadapat sa panghitabo.
  • system call – ngalan sa system call.
  • field – nagpiho sa dugang nga mga opsyon sama sa arkitektura, PID, GID ug uban pa aron usbon ang lagda.

Ania ang pipila ka mga lagda nga mahimo nimong ipasabut.

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

Unya sa katapusan idugang ang mga setting sa pagkadili mabag-o sa katapusan sa file, pananglitan:

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

Giunsa ang Pagtakda sa Mga Lagda sa Auditd Gamit ang Utility sa auditctl

Sa laing paagi, ipadala ang mga kapilian sa pag-audit samtang kini nagdagan, gamit ang auditctl sama sa mosunod nga mga pananglitan. Kini nga mga sugo mahimong ma-override ang mga lagda sa configuration file.

Aron ilista ang tanan nga gikarga nga mga lagda sa pag-audit, ipasa ang -l nga bandila:

# auditctl -l

Sunod, sulayi pagdugang ang pipila ka mga lagda:

# 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

Ang tanan nga mga mensahe sa pag-audit natala sa /var/log/audit/audit.log file nga default. Aron masabtan ang format sa log entry, magkarga mi og lagda ug susihon ang log entry nga namugna human sa panghitabo nga motakdo sa lagda.

Sa pag-ingon nga kami adunay sekreto nga backup nga direktoryo, kini nga lagda sa pag-audit mag-log sa bisan unsang pagsulay sa pag-access o pag-usab niini nga direktoryo:

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

Karon, gamit ang lain nga account sa sistema, sulayi ang pagbalhin sa direktoryo sa taas ug pagdagan ang ls nga mando:

$ cd /backups/secret_files/
$ ls

Ang log entry mahimong ingon niini.

Ang naa sa ibabaw nga panghitabo gilangkoban sa tulo ka matang sa audit records. Ang una mao ang 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"

Ang ikaduha mao ang tipo=CWD.

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

Ug ang katapusan mao ang 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

Makita nimo ang usa ka kompleto nga lista sa tanan nga mga natad sa panghitabo (sama sa msg, arch, ses etc..) ug ang ilang mga kahulugan sa Reference System sa Audit.

Kana lang sa pagkakaron. Sa sunod nga artikulo, atong tan-awon kung giunsa ang paggamit sa ausearch sa pagpangutana sa mga file sa log sa pag-audit: among ipasabut kung giunsa pagpangita ang piho nga kasayuran gikan sa mga log sa pag-audit. Kung naa kay pangutana, palihog kontaka mi pinaagi sa comment section sa ubos.