Samba vfs audit – sledujeme aktivitu užívateľov na súboroch

Samba logo
Približný čas čítania: 3 minút

Samba VFS Audit je modul, ktorý umožňuje sledovať aktivity užívateľov na súboroch zdieľaných prostredníctvom Linux Samba servera. Štandardný samba log neobsahuje žiadne podstatné informácie v tomto smere a aby sme získali prístup k údajom o tom kto a ako so súbormi manipuloval je potrebné použiť tzv. VFS modul. A možno sú aj iné možnosti, neviem. 

O túto voľbu som sa začal zaujímať v dobe keď na mojom pracovisku došlo k výmazu „Smetiska„. Voľne zdieľaného, sieťového priečinku,  ktorý je dostupný v našej organizácií z každého firemného počítača a slúži na rýchle zdieľanie súborov medzi ostatnými užívateľmi a počítačmi. Ako doba pokročila zo „Smetiska“ sa stalo miesto kde si veľa ľudí, uložilo na dlhodobé účeli veľa súborov. Bolo toho rádovo niekoľko stoviek GB.

Jedného pekného dňa však všetky dáta z priečinka zmizli. Keďže disk na serveri nevykazoval žiadne chyby, javil sa ako najpravdepodobnejší dôvod epileptický záchvat niektorého nášho kolegu v dobe keď práve pracoval s týmito súbormi v tomto priečinku. Bohužiaľ, nik sa nepriznal. A tak mi neostávalo nič iné ako zabezpečiť monitoring tohto priečinku aby som do budúcna vedel určiť vinníka.

vfs audit — uloží zvolené operácie na súbore do systémoveho logu.

Samba VFS Audit Log
Ukážka Samba VFS Audit Logu

Na obrázku je možné vidieť krátku ukážku VFS auditu.

Poradie údajov tak ako idú za sebou:

  • Čas |
  • Meno užívateľa |
  • IP adresa pristupujúceho počítača |
  • NetBios meno prist. počítača |
  • Zdieľaný priečinok |
  • Akcia prevádzaná na súbore |
  • Výsledok a
  • Cesta a názov k súboru.

Potrebné zmeny v /etc/samba/smb.conf

full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

full_audit:prefix = %u|%I|%m|%S – určuje tvar a typ informácií v logu.  Kde:

  • %u – Meno užívateľa
  • %I – IP adresa pristupujúcej mašiny
  • %m – Meno mašiny
  • %S – Meno zdieľaného priečinka

full_audit:success – ktoré operácie na súbore chceme zalogovať.
full_audit:failure – v prípade nezdaru
full_audit:facilityfull_audit:priority – Kategória a priorita pre *syslog-y. Viď,. nižšie.

Poslednou nutnou voľbou je vfs object = full_audit, ktorý sa pridáva ku každému zdieľanému priečinku a ktorým určujeme že práve tam chceme vykonávať audit. Teda napr.:

[smetisko]
comment = Firemny bordel
browseable = yes
read only = no
create mask = 0766
directory mask = 0766
path = /home/samba/smetisko
guest ok = yes
force group = www-data
force user = www-data
veto files = /copy.exe/host.exe/autorun.inf/RECYCLER/
vfs object = full_audit

V tomto momente máme plne funkčný audit, ktorý však posiela hlášky do syslogu a je teda ešte nutné tieto odchytiť a uložiť do samostatného súboru.

Konfigurácia na rsyslogd (Debian 8, Ubuntu)

Keďže všetky hlášky idú do syslogu, je potrebné ich oddeliť do samostatného súboru kvôli lepšej prehľadnosti. Postačí pridanie jednoduchého pravidla:

echo "local5.notice*       /var/log/samba-audit.log" >>/etc/rsyslog.d/99-samba-audit.conf

Netreba zabudnúť reštartovať rsyslogd.

Okrem toho, logovací súbor naberá časom na objeme, takže by ho bolo dobré asi aj rotovať.

Vytvorte/otvorte súbor /etc/logrotate.d/samba a pridajte doň nasledujúce riadky:

/var/log/samba-audit.log {
    weekly
    missingok
    rotate 7
    postrotate
         reload rsyslog > /dev/null 2>&1 || true
    endscript
    compress
    notifempty
}

 

 

 

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.