premier commit
This commit is contained in:
commit
24bc90cbc9
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
use esmith::Build::CreateLinks qw(:all);
|
||||||
|
|
||||||
|
foreach my $event (qw/bootstrap-console-save share-modify ibay-modify/){
|
||||||
|
templates2events("/etc/clamrt.list", $event);
|
||||||
|
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/clamrt");
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
enabled
|
|
@ -0,0 +1 @@
|
||||||
|
service
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
use esmith::AccountsDB;
|
||||||
|
my $a = esmith::AccountsDB->open_ro || die "Couldn't open AccountsDB\n";
|
||||||
|
|
||||||
|
my @ibays = $a->ibays();
|
||||||
|
my @shares = $a->get_all_by_prop(type=>'share');
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach my $share (@shares){
|
||||||
|
my $name = $share->key;
|
||||||
|
my $av = $share->prop('ClamRT') || 'disabled';
|
||||||
|
next unless ($av eq 'enabled');
|
||||||
|
$OUT .= "/home/e-smith/files/shares/$name/files\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach my $ibay (@ibays){
|
||||||
|
my $name = $ibay->key;
|
||||||
|
my $av = $ibay->prop('ClamRT') || 'disabled';
|
||||||
|
next unless ($av eq 'enabled');
|
||||||
|
$OUT .= "/home/e-smith/files/ibays/$name\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
# Just a dummy rep so there's always a rep to watch
|
||||||
|
}
|
||||||
|
/tmp
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec \
|
||||||
|
/usr/local/bin/setuidgid smelog \
|
||||||
|
/usr/local/bin/multilog t s5000000 \
|
||||||
|
/var/log/clamrt
|
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Daniel Berteaud <daniel@firewall-services.com>
|
||||||
|
# Inspired by Clam Temps Reel from Hackurx
|
||||||
|
# http://hackurx.wordpress.com
|
||||||
|
# Licence: GPL v3
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
|
||||||
|
CLAMD=$(/sbin/e-smith/db configuration getprop clamd status || \
|
||||||
|
echo 'disabled')
|
||||||
|
if [ "$CLAMD" = "disabled" ]; then
|
||||||
|
sv d .
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
MAIL=$(/sbin/e-smith/db configuration getprop clamrt SendEmail || \
|
||||||
|
echo 'enabled')
|
||||||
|
MAIL_MSG=$(/sbin/e-smith/db configuration getprop clamrt EmailMessage || \
|
||||||
|
echo 'A virus was found in ${!FILE}. This file has been moved to quarantine')
|
||||||
|
MAIL_SUBJ=$(/sbin/e-smith/db configuration getprop clamrt EmailSubject || \
|
||||||
|
echo 'A virus was found')
|
||||||
|
MAIL_DEST=$(/sbin/e-smith/db configuration getprop clamrt EmailDest || \
|
||||||
|
echo 'admin')
|
||||||
|
QUARANTINE=$(/sbin/e-smith/db configuration getprop clamav QuarantineDirectory || \
|
||||||
|
echo '/var/spool/clamav/quarantine')
|
||||||
|
|
||||||
|
/usr/bin/inotifywait -q -m -r -e create,modify,access --fromfile=/etc/clamrt.list \
|
||||||
|
--timefmt %M --format '%w%f|%T|%e' | \
|
||||||
|
perl -laF: -ne '$| = 1; print unless $_{$F[0]}++' | \
|
||||||
|
sed --unbuffered 's/|.*//g' |
|
||||||
|
|
||||||
|
while read FILE; do
|
||||||
|
echo "Scanning: $FILE"
|
||||||
|
[ -e "$FILE" ] && clamdscan --fdpass --quiet -m --move=$QUARANTINE "$FILE"
|
||||||
|
if [ "$?" == "1" ]; then
|
||||||
|
echo "Malware found: $FILE quarantined ($QUARANTINE/$(basename $FILE))"
|
||||||
|
[ "$MAIL" = "enabled" ] && echo $MAIL_MSG | mail -s "$MAIL_SUBJ" $MAIL_DEST
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Authority: VIP-ire
|
||||||
|
# Name: Daniel B.
|
||||||
|
|
||||||
|
Summary: On access AV scanner
|
||||||
|
%define name smeserver-webapps-common
|
||||||
|
Name: %{name}
|
||||||
|
%define version 0.0.1
|
||||||
|
%define release 1.beta0
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}%{?dist}
|
||||||
|
License: GPL
|
||||||
|
Group: SMEServer/addon
|
||||||
|
|
||||||
|
Source: %{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
URL: http://www.firewall-services.com/
|
||||||
|
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||||
|
BuildArchitectures: noarch
|
||||||
|
Requires: e-smith-base
|
||||||
|
Requires: smeserver-clamav
|
||||||
|
Requires: inotify-tools
|
||||||
|
BuildRequires: e-smith-devtools
|
||||||
|
|
||||||
|
%description
|
||||||
|
Provides on access AV scan for shares and ibays
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup
|
||||||
|
|
||||||
|
%build
|
||||||
|
perl createlinks
|
||||||
|
%{__mkdir_p} root/var/log/clamrt
|
||||||
|
|
||||||
|
%install
|
||||||
|
/bin/rm -rf $RPM_BUILD_ROOT
|
||||||
|
(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
|
||||||
|
/bin/rm -f %{name}-%{version}-filelist
|
||||||
|
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
|
||||||
|
--file /var/service/clamrt/run 'attr(0755,root,root)' \
|
||||||
|
--file /var/service/clamrt/log/run 'attr(0755,root,root)' \
|
||||||
|
--dir /var/log/clamrt 'attr(0750,smelog,smelog)' \
|
||||||
|
> %{name}-%{version}-filelist
|
||||||
|
echo "%doc CHANGELOG.git" >> %{name}-%{version}-filelist
|
||||||
|
|
||||||
|
%files -f %{name}-%{version}-filelist
|
||||||
|
%defattr(-,root,root)
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
Loading…
Reference in New Issue