[Eisfair] In Zusammenhang mit Locky Frage an die Sambaexperten

Thomas Bork tom at eisfair.org
So Mär 6 15:13:11 CET 2016


Am 02.03.2016 um 22:14 schrieb Olaf Jaehrling:

> Jürgen, bekomme ich die Zeilen

War ich gemeint?

> [global]
> full_audit:failure = none
> full_audit:success = pwrite write rename
> full_audit:prefix = IP=%I|USER=%u|MACHINE=%m|VOLUME=%S
> full_audit:facility = local7
> full_audit:priority = NOTICE
>
> und bei jedem zu überwachenden [Volume]
>
> vfs objects = full_audit
>
> irgendwie vernüftig rein, ohne das jeder Nutzer das händisch machen muss?

Irgendwann hatte ich schon einmal full_audit für unser Paket vorbereitet 
und mit ausgeliefert. Aber ich hatte dafür nie eine 
Konfigurations-Variable integriert.

Das hatte aber überhaupt nichts mit locky zu tun, sondern mit der 
Verfolgung von Veränderungen auf den Freigaben.

Unterschiede:
Es wird nicht [global] verwendet, sondern immer in den 
Freigabe-Sektionen, denn aus dem Manual für smb.conf:

vfs objects (S) (das S steht für Freigabe-Definition, nicht Global)

This parameter specifies the backend names which are used for Samba VFS 
I/O operations. By default, normal disk I/O operations are used but 
these can be overloaded with one or more VFS objects.

Default: vfs objects =

Example: vfs objects = extd_audit recycle

Und aus dem Manual für full_audit (auch hier wird wieder die 
Freigabe-Definition verwendet):

EXAMPLES

Log file and directory open operations on the [records] share using the 
LOCAL7 facility and ALERT priority, including the username and IP 
address. Logging excludes the open VFS function on failures:

         [records]
	path = /data/records
	vfs objects = full_audit
	full_audit:prefix = %u|%I
	full_audit:success = open opendir
	full_audit:failure = all !open
	full_audit:facility = LOCAL7
	full_audit:priority = ALERT



Also habe ich in /var/install/config.d/samba.sh das hier definiert:

[...]
do_check_vfs_fullaudit ()
{
   if [ "$SAMBA_FULL_AUDIT" = "yes" ]
   then
       if [ -z "$vfs_objects" ]
       then
           vfs_objects='full_audit'
       else
           vfs_objects="full_audit, $vfs_objects"
       fi
   fi
}
[...]
do_write_vfs_fullaudit ()
{
   if [ "$SAMBA_FULL_AUDIT" = "yes" ]
   then
      {
       echo " full_audit:prefix = %S|%u|%I"
       echo " full_audit:success = open mkdir read write rmdir unlink"
       echo " full_audit:failure = none"
       echo " full_audit:facility = LOCAL7"
       echo " full_audit:priority = ALERT"
      }
   fi
}

Und in den Freigabe-Definitionen (auto und manual) dann :

[...]
     do_smbinfo
     vfs_objects=''
     do_check_vfs_recycle
     do_check_vfs_fullaudit
     do_check_vfs_dirsort
     do_write_vfs_objects
     do_write_vfs_fullaudit
     do_write_vfs_recycle
[...]

Das loggt kompletter (open mkdir read write rmdir unlink), verwendet als 
Priority ALERT und setzt keine anderen vfs_objects (dirsort, recycle) 
ausser Kraft.

Zur Zeit wird zwar nur noch der Papierkorb (vfs_recycle) genutzt.
Aber vfs_dirsort wird schon mitgeliefert, wurde auch schon mal 
konfiguriert, dann wegen eines Problems (Unterschlagung von 
Dateien/Verzeichnissen in der sortierten Ausgabe) aber wieder heraus 
genommen.


Um so etwas für alle Belange (auch - aber nicht nur locky) sinnvoll zu 
integrieren, müsste man die Freigabe-Definitionen im Paket erheblich 
aufblähen und alle Optionen konfigurierbar machen, also

SAMBA_SHARE_"$idx"_FULLAUDIT yes/no
SAMBA_SHARE_"$idx"_FULLAUDIT_PREFIX
SAMBA_SHARE_"$idx"_FULLAUDIT_SUCCESS
SAMBA_SHARE_"$idx"_FULLAUDIT_FAILURE
SAMBA_SHARE_"$idx"_FULLAUDIT_FACILITY
SAMBA_SHARE_"$idx"_FULLAUDIT_PRIORITY


Sorry - aber das ist mir zu fett. Und ich denke immer noch, dass das nur 
ein Wettlauf mit der Zeit wäre.


Wenn Du damit experimentieren willst, kannst Du direkt in 
/var/install/config.d/samba.sh eine Variable

SAMBA_FULL_AUDIT='yes'

setzen und die Funktion

do_write_vfs_fullaudit ()
{
   if [ "$SAMBA_FULL_AUDIT" = "yes" ]
   then
      {
       echo " full_audit:prefix = %S|%u|%I"
       echo " full_audit:success = open mkdir read write rmdir unlink"
       echo " full_audit:failure = none"
       echo " full_audit:facility = LOCAL7"
       echo " full_audit:priority = ALERT"
      }
   fi
}

anpassen. Natürlich sind die Änderungen nach einem Samba-Update dann 
wieder weg...

-- 
der tom
[eisfair-team]


Mehr Informationen über die Mailingliste Eisfair