Spam Management · 13 min read · Dec 25, 2025
Идеальный SpamSnake - Ubuntu Jeos 10.10 Maverick Meerkat - Страница 3
8. Baruwa
Скачайте пользовательский пакет deb для baruwa:
cd /usr/src
wget baruwa_1.0.1-2sn_all.deb Обновлено 021811
wget baruwa-doc_1.0.1-2_all.deb
gdebi baruwa*.debВам будет предложено настроить базу данных baruwa для ведения журнала, включая имя пользователя и пароль для доступа, которые будут использоваться скриптами Baruwa. Вам также будет предложено настроить информацию о пользователе-администраторе для интерфейса Baruwa.
vi /usr/share/pyshared/baruwa/settings.pyИзмените URL-адрес хоста карантина по вашему усмотрению:
QUARANTINE_REPORT_HOSTURL = 'http://baruwa-alpha.local'vi /opt/MailScanner/etc/MailScanner.confВы должны убедиться, что следующие параметры установлены:
Always Looked Up Last = &BaruwaSQL
Is Definitely Not Spam = &BaruwaWhitelist
Is Definitely Spam = &BaruwaBlacklist
Required SpamAssassin Score = &BaruwaLowScore
High SpamAssassin Score = &BaruwaHighScore Обновление Baruwa
*Примечание: Этот раздел предназначен только для тех, кто использует более старую версию Baruwa. Пропустите это, если вы выполняете новую установку.
Скачайте последнюю версию пакета deb для baruwa:
cd /usr/src
wget baruwa_1.0.2-4sn_all.deb Обновлено 052011
wget baruwa-doc_1.0.2-4_all.deb
gdebi baruwa*.debКогда вам будет предложено настроить базу данных mysql, выберите “нет”. Мы повторно используем текущую базу данных и настройки.
Убедитесь, что /usr/share/pyshared/baruwa/settings.py настроен с правильной информацией о базе данных перед подключением, в противном случае ваше подключение не удастся.
vi /usr/share/pyshared/baruwa/settings.pyDATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' или 'oracle'.
DATABASE_NAME = 'baruwa' # Или путь к файлу базы данных, если используется sqlite3.
DATABASE_USER = 'baruwa' # Не используется с sqlite3.
DATABASE_PASSWORD = 'password' # Не используется с sqlite3.
DATABASE_HOST = '' # Установите в пустую строку для localhost. Не используется с sqlite3.
DATABASE_PORT = '' # Установите в пустую строку для по умолчанию. Не используется с sqlite3.*Примечание: Из-за нескольких незначительных конфликтов при обновлении, эти шаги могут потребоваться для правильного обновления baruwa.
Если /opt/MailScanner был удален:
ln -s /opt/MailScanner-version /opt/MailScanner
rm -r /etc/MailScanner
ln -s /opt/MailScanner/etc /etc/MailScanner
ln -s /opt/MailScanner/lib/MailScanner/CustomFunctions /etc/MailScannerУбедитесь, что вы обновили строку подключения к базе данных в файлах /etc/MailScanner/CustomFunctions/*.pm.
Наконец, выполните
manage.py syncdbПерезапустите Uwsgi и Nginx
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartBaruwa должна быть обновлена до 102-4sn.
Обновление Baruwa 102-4 до 111-3sn
Установите Rabbitmq-Server 2.2.0 и настройте базу данных/пользователя/пароль:
cd /usr/src
wget http://ppa.launchpad.net/drizzle-developers/ppa/ubuntu/pool/main/r/rabbitmq-server/rabbitmq-server_2.2.0-1~maverick0_all.deb
gdebi rabbit*vi /etc/rabbitmq/rabbitmq.conf для привязки к localhost:
export RABBITMQ_NODENAME=rabbit@localhost
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1Добавьте учетные данные базы данных:
rabbitmqctl add_user baruwa password
rabbitmqctl add_vhost baruwa
rabbitmqctl set_permissions -p baruwa baruwa ".*" ".*" ".*"Перезапустите rabbitmq-server:
/etc/init.d/rabbitmq-server restartДобавьте источники для Baruwa 1.1.1-3 и установите зависимости:
wget -O - http://apt.baruwa.org/baruwa-apt-keys.gpg | apt-key add -vi /etc/apt/sources.list
#baruwa
deb http://apt.baruwa.org/ubuntu maverick mainУстановите зависимости:
apt-get update
apt-get install python-django-celery python-importlib*Примечание: Вышеуказанная команда должна установить все зависимости для Baruwa.
Скачайте и установите Baruwa1.1.1-3sn:
mkdir /usr/src/baruwa1113 && cd /usr/src/baruwa1113
wget https://docs.google.com/open?id=0B9cN15Q3pKnwY2YyMmMwOTQtNGJkMi00ZDc2LWFjMjMtY2UxMzFlYWY5Mzk2
mv open* baruwa_1.1.1-3sn_all.deb
wget https://docs.google.com/open?id=0B9cN15Q3pKnwODk2OGViYmMtMGZmYS00NmJjLTkwZWUtNTJjYTQ1YzAzOTg1
mv open* baruwa-doc_1.1.1-3sn_all.deb
gdebi baruwa_1.1.1-3sn_all.deb
gdebi baruwa-doc_1.1.1-3sn_all.deb*Примечание: Установите версию файлов от поставщика пакета, когда будет предложено. Выберите “нет” для настройки mysql, так как мы обновляем с предыдущей версии.
Исправьте символическую ссылку для settings.py:
rm –r /usr/share/pyshared/baruwa/settings.py && ln –s /etc/baruwa/settings.py /usr/share/pyshared/baruwa/vi /etc/baruwa/settings.py и исправьте конфигурацию базы данных baruwa:
DATABASES = {
'default': {
# Добавьте 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3'
# или 'oracle'.
'ENGINE': 'django.db.backends.mysql',
# Или путь к файлу базы данных, если используется sqlite3.
'NAME': 'baruwa',
# Не используется с sqlite3.
'USER': 'baruwa',
# Не используется с sqlite3.
'PASSWORD': 'password',
# Установите в пустую строку для localhost. Не используется с sqlite3.
'HOST': '',
# Установите в пустую строку для по умолчанию. Не используется с sqlite3.
'PORT': '',
}
}Обновите структуру базы данных Baruwa:
baruwa-admin syncdb --noinputЗапустите фиктивную миграцию для инициации обновления:
for name in $(echo "accounts messages lists reports status config"); do
baruwa-admin migrate $name 0001 --fake;
doneЗапустите обычную миграцию:
for name in $(echo "accounts messages lists reports status fixups config"); do
baruwa-admin migrate $name;
donevi /etc/MailScanner/MailScanner.conf измените следующее:
Run As Group = celeryd
Quarantine User = celeryd
Quarantine Group = celerydvi /etc/MailScanner/conf.d/baruwa.conf:
Quarantine User = postfix #(Или что угодно, что установлено в `Run As User`)
DB DSN = DBI:mysql:database=baruwa;host=localhost;port=3306 #установите в действительный DSN
DB Username = baruwa # ваш DB имя пользователя
DB Password = password # ваш DB парольvi /etc/init.d/mailscanner и измените записи группы с www-data на celeryd:
check_dir /var/spool/MailScanner ${user:-postfix} ${group:-celeryd}
check_dir /var/lib/MailScanner ${user:-postfix} ${group:-celeryd}
check_dir /var/run/MailScanner ${user:-postfix} ${group:-celeryd}
check_dir /var/lock/subsys ${user:-root} ${group:-root} #Требуется для создания папки
check_dir /var/lock/subsys/MailScanner ${user:-postfix} ${group:-celeryd}
start-stop-daemon --start --quiet --nicelevel $run_nice --chuid postfix:celeryd --exec $DAEMON --name $NAME -- $DAEMON_ARGS \Добавьте пользователя celeryd в группу clamav:
usermod -a -G celeryd clamavИзмените групповую собственность папки карантина и содержимого:
chgrp -R celeryd /var/spool/MailScanner/quarantineЕсли вы собираетесь использовать подписи, инициализируйте их, запустив:
baruwa-admin initconfigВ противном случае отключите параметры в /etc/MailScanner/conf.d/baruwa.conf:
#Inline HTML Signature = htmlsigs.customize
#Inline Text Signature = textsigs.customize
#Signature Image Filename = sigimgfiles.customize
#Signature Image  Filename = sigimgs.customizeПерезагрузите систему и наслаждайтесь Baruwa 111-3sn.
9. Nginx с Uwsgi
Скачайте и установите как Nginx, так и Uwsgi из Launchpad Кристофера Ли:
wget https://launchpad.net/~chris-lea/+archive/nginx-devel/+files/nginx_1.0.0-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi-common_0.9.6.6-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi-extra_0.9.6.6-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi-python2.6_0.9.6.6-1chl1%7Emaverick1_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/i686/i386/').deb
wget https://launchpad.net/~chris-lea/+archive/uwsgi/+files/uwsgi_0.9.6.6-1chl1%7Emaverick1_all.deb
apt-get install libsctp1
dpkg -i nginx*
dpkg -i uwsgi*Используйте следующие конфигурационные файлы для uwsgi и nginx:
vi /etc/uwsgi/uwsgi-python2.6/baruwa.ini[uwsgi]
socket = /var/run/uwsgi/uwsgi-python2.6/baruwa/baruwa.sock
pythonpath = /usr/share/pyshared/baruwa/
master = true
processes = 2
env = DJANGO_SETTINGS_MODULE=baruwa.settings
module = django.core.handlers.wsgi:WSGIHandler()vi /etc/nginx/sites-available/baruwa.conf server {
listen 80;
server_name example.com;
root /usr/share/pyshared/baruwa;
#основной журнал доступа
access_log /var/log/nginx/access.log;
#основной журнал ошибок
error_log /var/log/nginx/error.log;
location /static {
root /usr/share/pyshared/baruwa/static/;
}
# статические ресурсы
location ~* ^.+\.(html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
{
expires 30d;
break;
}
location / {
uwsgi_pass unix:///var/run/uwsgi/uwsgi-python2.6/baruwa/baruwa.sock;
include uwsgi_params;
}
}*Примечание: Убедитесь, что вы изменили example.com на FQDN, который соответствует вашей настройке.
Удалите виртуальный хост по умолчанию и скопируйте uwsgi_params:
rm -r /etc/nginx/sites-enabled/default
cp /usr/share/doc/uwsgi-extra/nginx/uwsgi_params /etc/nginx/uwsgi_params
ln -s /etc/nginx/sites-available/baruwa.conf /etc/nginx/sites-enabled/baruwa.confПерезапустите службы:
/etc/init.d/uwsgi-python2.6 restart && /etc/init.d/nginx restartВы должны быть готовы.
Настройка Cron задач
Создайте символическую ссылку на manage.py:
ln -s /usr/share/pyshared/baruwa/manage.py /usr/bin/manage.py
chmod +x /usr/bin/manage.pyДобавьте задачи cron:
@daily manage.py cleanquarantine &> /dev/null #Очистить карантин
@daily manage.py sendquarantinereports &> /dev/null #Отправить отчеты о карантине
@monthly manage.py dbclean &> /dev/null #Очистить maillog
@weekly manage.py updatesarules &> /dev/null #Обновить правила spamassassin
@daily manage.py sendpdfreports &> /dev/null #Отправить PDF отчетыЗапустите MailScanner:
/etc/init.d/mailscanner startУкажите в браузере http://hostname_used, войдите с помощью имени пользователя администратора и пароля и начните работать. Теперь вы можете использовать интерфейс для добавления пользователей и обработки сообщений и т.д.
Инструкции по настройке для Baruwa
Войдите в Baruwa как администратор –> Настройки –> Учетные записи –> Создать учетную запись
После создания учетной записи пользователя вы получите две новые вкладки на этой странице: Настройки профиля и Связанные адреса.
Заполните настройки профиля, выбрав администратора домена, и установите низкий балл 6 и высокий балл 9 и отметьте сканирование электронной почты.
Нажмите на знак + под связанными адресами и введите домены, для которых пользователь является администратором, например, domain.com. domain.com появится под связанными адресами.
Нажмите на domain.com, и вы перейдете в информацию о домене, где сможете настроить информацию о доставке SMTP. Добавьте сервер smtp для получения или ip адрес получающего smtp сервера. Выберите включить, и если вы используете нестандартный порт, установите его, в противном случае используйте 25. После этого вы можете нажать кнопку тестирования рядом с карандашом, чтобы увидеть, примет ли ваш сервер получения соединение.
Теперь вы можете выйти как администратор и войти как пользователь, которого вы только что настроили, и почта должна начать поступать.
Параметры relay_recipients, relay_domains и transports в /etc/postfix/main.cf будут использовать записи, которые вы предоставили в Baruwa. Поэтому хэш-файл не требуется.
Связанные запросы в файлах mysql cf извлекут результат в правильном формате и передадут его в postfix для использования.
Тем не менее, если вы хотите использовать хэш для любого из ваших конфигурационных файлов, используйте следующее в качестве примера того, как настроить /etc/postfix/main.cf:
relay_recipient_maps = hash:/etc/postfix/relay_recipientsКонечно, вам нужно будет создать хэш-файл(ы), заполнить его и выполнить postmap для использования postfix.
*Примечание: Если вы в конечном итоге используете хэш для relay_recipients для конкретных доменов, вам нужно будет удалить этот домен из /etc/postfix/access. Все другие доменные пользователи все еще могут быть проверены с использованием look_ahead
Кроме того, если вам нужно выполнить mx-запросы, вам нужно будет отредактировать /etc/postfix/mysql-transports.cf, чтобы он выглядел следующим образом:
concat('smtp:', mail_hosts.address, ':', port) 'transport'[ и ] были удалены, чтобы разрешить MX-запросы.
Наслаждайтесь Baruwa!
10. Установите и настройте SPF
Пакет postfix-policyd-spf-perl зависит от модулей Perl Mail::SPF и NetAddr::IP.
Нам нужно скачать postfix-policyd-spf-perl с http://www.openspf.org/Software в директорию /usr/src/ и установить его в директорию /usr/lib/postfix/ следующим образом:
cd /usr/src
wget http://www.openspf.org/blobs/postfix-policyd-spf-perl-2.007.tar.gz
tar xvfz postfix-policyd-spf-perl-2.007.tar.gz
cd postfix-policyd-spf-perl-2.007
cp postfix-policyd-spf-perl /usr/lib/postfix/policyd-spf-perlЗатем мы редактируем /etc/postfix/master.cf и добавляем следующий фрагмент в конце:
vi /etc/postfix/master.cfpolicy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/lib/postfix/policyd-spf-perl(Ведущие пробелы перед user=nobody важны, чтобы Postfix знал, что эта строка принадлежит предыдущей!)
*Примечание: Мы уже добавили запись для main.cf, используя скрипт настройки postfix.
Затем перезапустите Postfix:
/etc/init.d/postfix restartВот и все.
11. Установите и настройте FuzzyOcr
FuzzyOCR имеет некоторые предварительные требования, такие как ocrad и gocr, которые мы можем установить следующим образом:
apt-get install fuzzyocr netpbm gifsicle libungif-bin gocr ocrad libstring-approx-perl libmldbm-sync-perl libdigest-md5-perl libdbd-mysql-perl imagemagick tesseract-ocr
wget http://users.own-hero.net/~decoder/fuzzyocr/fuzzyocr-3.6.0.tar.gz
tar xvfz fuzzyocr-3.6.0.tar.gz
cd FuzzyOcr-3.6.0/Итак, FuzzyOCR теперь установлен, теперь нам нужно его настроить. Конфигурационный файл FuzzyOCR находится по адресу /etc/spamassassin/FuzzyOcr.cf. В этом файле почти все закомментировано. Теперь мы открываем этот файл и вносим некоторые изменения:
vi /etc/spamassassin/FuzzyOcr.cfРаскомментируйте следующие строки:
focr_global_wordlist /etc/spamassassin/FuzzyOcr.words
focr_preprocessor_file /etc/spamassassin/FuzzyOcr.preps
focr_scanset_file /etc/spamassassin/FuzzyOcr.scansets<
focr_enable_image_hashing 3
focr_digest_db /etc/spamassassin/FuzzyOcr.hashdb
focr_db_hash /etc/spamassassin/FuzzyOcr.db
focr_db_safe /etc/spamassassin/FuzzyOcr.safe.db
focr_bin_helper convert, tesseractЗакомментируйте путь:
#focr_path_bin /usr/local/netpbm/bin:/usr/local/bin:/usr/binМы будем хранить хэши изображений в базе данных mysql, чтобы улучшить производительность, так как изображения, которые мы уже отсканировали, не будут сканироваться снова, так как OCR является ресурсозатратной деятельностью.
Создайте базу данных MySQL:
SQL-скрипт создает базу данных для fuzzyocr:
mysql -p < FuzzyOcr.mysqlПредоставьте привилегии:
mysql –u root –p
GRANT ALL ON FuzzyOcr.* TO fuzzyocr@localhost IDENTIFIED BY ‘password’;Обновите FuzzyOcr.cf
vi /etc/spamassassin/FuzzyOcr.cfВключите следующие строки:
focr_mysql_db FuzzyOcr
focr_mysql_hash Hash
focr_mysql_safe Safe
focr_mysql_user fuzzyocr
focr_mysql_pass fuzzyocr
focr_mysql_host localhost
focr_mysql_port 3306
focr_mysql_socket /var/run/mysqld/mysqld.sock*Примечание: Убедитесь, что вы изменили строки, выделенные красным.
Настройка очистки базы данных FuzzyOcr
vi /usr/sbin/fuzzy-cleanmysql#!/usr/bin/perl
#Скрипт для очистки таблиц mysql от данных. По умолчанию данные остаются в Safe на 1 день и в Hash на 10 дней.
#Fuzzyocr-cleanmysql
use Getopt::Long;
use DBI;
use MLDBM qw(DB_File Storable);
my %Files = (
db_hash => '/var/lib/fuzzyocr/FuzzyOcr.db',
db_safe => '/var/lib/fuzzyocr/FuzzyOcr.safe.db',
);
use DBI;
$database = "FuzzyOcr";
$hostname = "localhost";
$socket = "/var/run/mysqld/mysqld.sock";
$port = "3306";
$username = "fuzzyocr";
$password = 'password';
# по умолчанию
my $cfgfile = "/etc/spamassassin/FuzzyOcr.cf";
my %App;
my %age;
$age{'age'} = 10*24; # 10 дней
$age{'hash'} = $age{'age'};
$age{'safe'} = 0;
my $help = 0;
my $verbose = 0;
GetOptions( \%age,
'age=i',
'config=s' => \$cfgfile,
'hash=i',
'help' => \$help,
'safe=i',
'verbose' => \$verbose,
);
if ($help) {
print "Использование: fuzzy-cleanmysql [Опции]\n";
print "\n";
print "Доступные опции:\n";
print "--age=i Глобальный возраст в часах, чтобы хранить в базе данных\n";
print "--config=s Укажите местоположение FuzzyOcr.cf\n";
print " По умолчанию: /etc/spamassassin/FuzzyOcr.cf\n";
print "--hash=i Количество часов, чтобы хранить в базе данных Hash\n";
print "--safe=i Количество часов, чтобы хранить в базе данных Safe\n";
print "--verbose Показать больше информации\n";
print "\n";
exit 1;
}
# Преобразовать часы в секунды
$age{'age'} *= 60 * 60;
$age{'hash'} *= 60 * 60;
$age{'safe'} *= 60 * 60;
$age{'safe'} = $age{'safe'} ? $age{'safe'} : $age{'age'};
# Чтение пользовательских путей из FuzzyOcr.cf
my $app_path = q(/usr/local/netpbm/bin:/usr/local/bin:/usr/bin);
open CONFIG, "< $cfgfile" or warn "Не удается прочитать файл конфигурации, используйте значения по умолчанию...\n";
while () {
chomp;
if ($_ =~ m/^focr_bin_(\w+) (.+)/) {
$App{$1} = $2;
printf "Найден пользовательский путь \"$2\" для приложения \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_path_bin (.+)/) {
$app_path = $1;
printf "Найден новый путь: \"$1\"\n" if $verbose;
}
if ($_ =~ m/^focr_enable_image_hashing (\d)/) {
$App{hashing_type} = $1;
printf "Найдено хеширование БД\n" if ($verbose and $1 == 2);
printf "Найдено хеширование MySQL\n" if ($verbose and $1 == 3);
}
if ($_ =~ m/^focr_mysql_(\w+) (.+)/) {
$MySQL{$1} = $2;
printf "Найден параметр MySQL $1 => '$2'\n" if $verbose;
}
if ($_ =~ m/^focr_threshold_max_hash (.+)/) {
$App{max_hash} = $1;
printf "Обновленный Thresold{max_hash} = $1\n" if $verbose;
}
}
close CONFIG;
# убедитесь, что у нас установлен этот порог
$App{max_hash} = 5 unless defined $App{max_hash};
# поиск пути для bin_util, если он еще не указан в файле конфигурации
foreach my $app (@bin_utils) {
next if defined $App{$app};
foreach my $d (split(':',$app_path)) {
if (-x "$d/$app") {
$App{$app} = "$d/$app";
last;
}
}
}
sub get_ddb {
my %dopts = ( AutoCommit => 1 );
my $dsn = "DBI:mysql:database=$database";
if (defined $socket) {
$dsn .= ";mysql_socket=$socket";
} else {
$dsn .= ";host=$hostname";
$dns .= ";port=$port" unless $port == 3306;
}
printf "Подключение к: $dsn\n" if $verbose;
return DBI->connect($dsn, $username, $password,\%dopts) or die("Не удалось подключиться!");
}
if ($App{hashing_type} == 3) {
my $ddb = get_ddb();
if ($ddb) {
my $sql;
foreach my $ff (sort keys %Files) {
$ff =~ s/db_//;
$sqlbase = "FROM $MySQL{$ff} WHERE $MySQL{$ff}.\`check\` < ?";
my $timestamp = time;
$timestamp = $timestamp - $age{$ff};
$sql = "DELETE $sqlbase";
if ( $verbose ) {
printf "Удалить из таблицы $MySQL{$ff}\n";
print "$sql, $timestamp\n";
print "Временная метка - ", scalar(localtime($timestamp)), "\n";
print "Это $age{$ff} секунд раньше, чем сейчас.\n";
print "\n";
}
$ddb->do($sql,undef,$timestamp);
}
$ddb->disconnect;
}
}chmod +x /usr/sbin/fuzzy-cleanmysqlДобавьте это в cron
crontab -e@weekly /usr/sbin/fuzzy-cleanmysql &> /dev/null #Очистка базы данных FuzzyOcrВот и все для конфигурации FuzzyOCR. Теперь давайте посмотрим, работает ли это, как ожидалось.
Теперь мы можем передать каждое из этих писем SpamAssassin, чтобы увидеть, правильно ли FuzzyOCR связан с SpamAssassin.
spamassassin --debug FuzzyOcr < /usr/src/FuzzyOcr-3.6.0/samples/ocr-gif.eml > /dev/nullТеперь вы должны увидеть много вывода, в конце должно быть что-то вроде этого:
[...]
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: Пятница, 4 августа, 16:01 по восточному времени
[10025] dbg: FuzzyOcr: ЛАС-ВЕГАС, НЕВАДА--(MARKET WIRE)--4 августа 2006 года -- auantum Energy, lnc. (OTC
[10025] dbg: FuzzyOcr: BB:aEGY.oB-_-
[10025] dbg: FuzzyOcr: auantum Energy, lnc. рада сообщить, что она подала заявку на листинг своих акций на
[10025] dbg: FuzzyOcr: торгах на Франкфуртской фондовой бирже. Компания наняла услуги Baltic
[10025] dbg: FuzzyOcr: Инвестиционной группы из Гамбурга, Германия, чтобы помочь с заявкой.
[10025] dbg: FuzzyOcr:
[10025] dbg: FuzzyOcr: _ qEGY,OB "12. Фильтрация PDF, XLS и фишингового спама с помощью ClamAV (подписи Sanesecurity)
В настоящее время существует много спама, где “информация” спама прикреплена в виде файлов .pdf или .xls, иногда также скрытых внутри .zip файла. Хотя этот спам не легко поймать с помощью, например, SpamAssassin или фильтра Bayes, антивирус ClamAV может легко поймать их, когда его кормят правильными подписями, так как ClamAV создан для сканирования вложений электронной почты.
Создайте папку для sanesecurity и загрузите и дайте скрипту соответствующие разрешения.
apt-get install curl rsync
mkdir /usr/src/sanesecurity && cd /usr/src/sanesecurity
wget http://www.inetmsg.com/pub/clamav-unofficial-sigs.tar.gz
tar -zxf clamav-unofficial-sigs.tar.gz && cd clamav-unofficial-sigs-3.7.1
mv clamav-unofficial-sigs.sh /usr/sbin
mv clamav-unofficial-sigs.conf /etc/
chmod +x /usr/sbin/clamav-unofficial-sigs.sh
vi clamav-unofficial-sigs.confи измените следующие переменные, чтобы они соответствовали вашей установке:
clam_dbs="/var/lib/clamav"Переменная clamav_dbs содержит путь к каталогу, где хранятся ваши подписи ClamAV.
Путь к clamd.pid:
clamd_pid="/var/run/clamav/clamd.pid"Перезагрузить после обновления:
reload_dbs="yes"
reload_opt="kill -USR2 `cat $clamd_pid`" #Сигналы PID для перезагрузки БДРабочий каталог:
work_dir="/var/lib/clamav"И как только вы закончите с конфигурацией, установите следующее в “да”:
user_configuration_complete="yes" Теперь мы запускаем скрипт обновления, чтобы проверить, работает ли загрузка:
clamav-unofficial-sigs.shДобавьте это в cron:
00 04 * * * /usr/sbin/clamav-unofficial-sigs.sh -c /etc/clamav-unofficial-sigs.conf &> /dev/null Пожалуйста, отредактируйте /etc/clamav-unofficial-sigs.conf и закомментируйте раздел базы данных MalwarePortal. Было много ложных срабатываний при использовании его определений.
13. Greylisting с Greyfix
Greyfix - это маленький демон серой листовки, который работает чрезвычайно хорошо и не требует много ресурсов.
Установите:
cd /usr/src && wget http://www.kim-minh.com/pub/greyfix/greyfix-0.3.9.tar.gz
tar -xf greyfix-0.3.9.tar.gz && cd greyfix-0.3.9
./configure --localstatedir=/var
make
make installvi /etc/postfix/master.cfи добавьте следующее:
greyfix unix - n n - - spawn
user=nobody argv=/usr/local/sbin/greyfix --greylist-delay 60 -/ 24Мы уже добавили запись для main.cf, используя скрипт настройки postfix.
Get new posts in your inbox
No spam. Unsubscribe anytime.