Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1494765
 поиск   регистрация   авторизация 
 
Группа :: Система/Серверы
Пакет: spam_check

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: spam_check-0.2.5-alt-config.patch


--- spam_check-0.2.5/spam_check.pl.orig	2006-06-29 01:43:12 +0600
+++ spam_check-0.2.5/spam_check.pl	2006-06-29 21:45:23 +0600
@@ -6,162 +6,10 @@
 #      - анализ имени хоста.
 # v0.2.4 Copyright (c) 2003-2004 by Maxim Chirkov <mc@tyumen.ru>
 
-use strict ;
 use BerkeleyDB;
 use Socket;
 
-use constant DB_CACHE_SIZE => 5242880; # Объем ОЗУ для кэшироавния доступа к DB файлам.
-use constant TIMEOUT => 10; # Максимальное время проверки в сек.
-
-my $cfg_data_path="/var/log/antispam";
-my $cfg_block_dir="/usr/local/etc/postfix/antispam/blocklist";
-
-# Путь к лог файлу почтового сервера:
-my $cfg_maillog_file = "/var/log/maillog";
-
-# Путь к файлу с хэшем для предотвращения двойной проверки IP.
-# Чистка от старых записей производится через отдельный скрипт.
-# В качестве ключа выступает IP, в качестве значения время проверки этого IP.
-# Если время проверки отрицательное - то результат проверки показал признак
-# хоста пересылающего спам.
-my $cfg_checker_cache_file = "$cfg_data_path/checked_ip.db";
-
-# Путь к файлу с логом проверок. Если вместо файла указано "-" - вывод в STDOUT
-my $cfg_log_file = "$cfg_data_path/antispam.log";
-
-# Путь к файлу с данными о незавершенных в прошлой итерации почтовых запросов.
-my $cfg_active_mail_file = "$cfg_data_path/.active_mail";
-
-# Уровень говорливости лога: 0 - в лог только ошибки, 
-#                            1 - в лог только спамовские хосты,
-#                            2 - в лог все проверки.
-#			     3 - debug
-my $cfg_verbose_level = 2;
-
-# Файл в котором будет формираться список блокировки спамовских хостов.
-my $cfg_blocklist_file = "$cfg_block_dir/block_list.txt";
-
-# Режим работы с лог файлом:
-#  0 - cron, периодический запуск через cron
-#  1 - tail, запускается один раз, постоянно следит за изменением в логе и 
-#               осуществляет проверку сразу после соединения хоста (в cron 
-#		прописывать не нужно).
-my $cfg_log_watch_mode = 0;
-
-# Команда которая будет вызываться в случае обновления файла блокировки.
-my $cfg_blocklist_rebuild_cmd = "/usr/local/sbin/postmap -w $cfg_block_dir/block_list.txt";
-
-# более правильный вариант.
-# my $cfg_blocklist_rebuild_cmd = "/usr/local/sbin/postmap -w $cfg_block_dir/block_list.txt; mv -f $cfg_block_dir/block_list.txt.db $cfg_block_dir/block_list.db";
-
-# вариант при экспорте на DNSBL сервер.
-# my $cfg_blocklist_rebuild_cmd = "/usr/bin/gzip -c $cfg_block_dir/block_list.txt > $cfg_block_dir/block_list.txt.gz.new;mv $cfg_block_dir/block_list.txt.gz.new $cfg_block_dir/block_list.txt.gz";
-
-# Минамальное время в сек. между запуском процесса перегенерации файла блокировки,
-# необходимо только для "tail" режима работы скрипта (cfg_log_watch_mode=1)
-# Определяет в общем виде быстроту реакции на спам.
-my $cfg_blocklist_rebuild_interval = 20;
-
-# Формат списка блокировки:
-#   0 - "access" - стандартный access файл для MTA Postfix
-#   1 - формат rbldnsd
-my $cfg_blocklist_format = 0;
-
-# Путь к файлу с локом.
-my $cfg_lock_file = "$cfg_data_path/.lock";
-
-# Максимальное время жизни лока, после которого лок файл будет удален.
-my $cfg_lock_timetolive = 3600; # 1 час.
-
-# Путь к файлу с последней просмотренной позицией лога.
-my $cfg_seek_file = "$cfg_data_path/.seek";
-
-# Описание весов для различных факторов определяющих вероятность спама.
-my %cfg_spam_factor = (
-
-    # Обратная проверка на наличие открытых сетевых протов.
-    "open_ports" => {
-	"25" => -3.5, # Уменьшаем вероятность спама, так как может быть это нормаольный почтовый сервер.
-        "80" => -3, # Уменьшение FP, для хостов без MTA
-        "110" => -3,  # Уменьшение FP, для хостов без MTA
-
-	"1025" => 1, # Сигнализирует о Windows машине.
-	"5000" => 1.5, # 5000 (UPNP) порт показывает на вероятно взломанную машину
-	"2001" => 1.5, # Порты которые используют троянские программы.
-	"1025" => 1.5,
-	"1400" => 1.5,
-	"9100" => 1.5,
-	"3389" => 1.5,
-	"4444" => 1,
-	#"1000" => 2, "1058" => 2, "3000" => 2, "1024" => 2, "666" => 2, "50505" => 2,
-	#"5001" => 2, "12345" => 2, "12346" => 2, "30303" => 2, 	"31337" => 2, 
-	"3128" => 0.8, # Вероятно рассылка через открытые прокси. 
-	"1080" => 0.8, 
-	"8080" => 0.8,
-    },
-
-    # Вес уровня домена от которого поступила почта, 0 - домен не резолвится.
-    #  
-    "domain_level" => {
-	    0 => 3,
-	    1 => 0,    # test.com
-	    2 => -0.5, # mail.test.com
-	    3 => 1,    # bzq-218-1-51.cable.test.com
-	    4 => 1.6,    # 23.dsl-1.cable.test.com
-	    5 => 1.8,    # 34.53.12.53.test.com
-	    "N" => 2, # если уровень не описан выше цифрами.
-    },
-
-    # Regex маски слов встречающихся в имени домена.
-    "domain_mask" => {
-	'(client|dial|dsl|cable|pool|ppp|node)' => 2,
-	'\-\d+\-\d+\-\d+' => 3,
-	'smtp|mail|relay' => -3,
-    },
-    
-    # Коэффициент умножения веса, для последующих соединений с данного IP за
-    # за текущий день. 
-    # - Если равен 1, то пересчет не производится, блокирование в зависимости от числа запросов запрещено.
-    # - Если равен 0, апдейт базы при повторных запросах не производится вообще.
-    "reconnect_mul" => 1.0, # При каждом повторном коннекте в течении дня умножаем вес на 1.1
-
-    # Минимальный вес при котором блокируем IP как спамера.
-    "block_weight" => 3 # Если суммарный вес получился >= 3, то считаем хост спамером.
-);
-
-
-# Маска для выборки из почтового лога строк отражающих соедниение с почтовым сервером.
-# В первой скобке - имя хоста, во второй IP
-# Для postfix:
-my $cfg_maillog_connect_mask=': connect from ([^\[]+)\[(\d+\.\d+\.\d+\.\d+)\]\s*';
-my $cfg_maillog_disconnect_mask=': disconnect from ([^\[]+)\[(\d+\.\d+\.\d+\.\d+)\]\s*';
-
-# Формат анализируемого лога:
-# 	0 - postfix
-#	1 - sendmail
-my $cfg_log_format = 0;
-
-# Для sendamil (у sendmail нет connect/disconnect сообщений в логе) используется
-# только $cfg_maillog_disconnect_mask (раскомментируйте строку ниже):
-# $cfg_maillog_disconnect_mask=': from=<[^>]*>,.* relay=([^\[ ]+)\s*\[(\d+\.\d+\.\d+\.\d+)\]\s*';
-
-# Маска для выборки из почтового лога строк по которым определяем уже отвергнутые соединения.
-# Чтобы не проверять лишний раз. В скобке IP.
-my $cfg_maillog_reject_mask=': reject: RCPT from [^\[]+\[(\d+\.\d+\.\d+\.\d+)\]: 55.* (Client host rejected|Service unavailable)';
-
-# Маска по имени домена, при совпадении которой будет производится проверка.
-#my $cfg_block_mask='\d[\-\.](dsl|adsl|dial|cable)\.';
-my $cfg_block_mask="";
-
-# Маска хостов для которых не выполняется проверка на спам (для .ru шлем abuse, а не блокирвем сгоряча).
-my $cfg_ignore_mask='\.(ru|su|ua|kg|lv|by|kz|ge|uz|am|az|md|tj)$';
-
-# Список IP адресов для которых не будет выполняться проверка (локальные IP)
-my @cfg_local_ip_list = ("1.2.3.0/24", "192.168.0.0/16");
-
-################################################################################
-# End of configuration block
-################################################################################
+require "/etc/spam_check/spam_check.conf";
 
 if ($cfg_log_watch_mode == 1){
     # "tail" режим слеженеия за логом.
--- spam_check-0.2.5/util/clean_dn.pl.orig	2006-06-29 02:10:30 +0600
+++ spam_check-0.2.5/util/clean_dn.pl	2006-06-29 23:18:03 +0600
@@ -1,35 +1,10 @@
 #!/usr/bin/perl
 # Скипт для периодической чистки db-базы от устаревших записей.
 
-use strict ;
 use BerkeleyDB;
 use Socket;
 
-use constant DB_CACHE_SIZE => 5242880; # Объем ОЗУ для кэшироавния доступа к DB файлам.
-
-# Минимальный вес определяющий IP как спамера.
-my $cfg_block_weight = 3;
-
-# Время в секундах хранения инфромации об IP не помеченном как спамер в хэш-базе
-# Информация об спамовских хостах хранится вечно, чтобы не допускать дубликатов
-# в блоклисте, если нужно почистить и спамовские хосты установите 
-# заведомо большое значение cfg_block_weight
-
-my $cfg_nospam_timetolive = 30 * 24*60*60; # 30 дней.
-
-# Путь к файлу с хэшем.
-my $cfg_data_path="/var/log/antispam";
-my $cfg_checker_cache_file = "$cfg_data_path/checked_ip.db";
-
-# Уровень говорливости стандартного вывода.
-#	 0 - вывод только ошибок
-#        1 - вывод информации по каждому удаляемому IP.
-#        2 - вывод информации по всем IP в базе.
-my $cfg_verbose_level = 2;
-
-###############################################################################
-# End of configuration block
-###############################################################################
+require "/etc/spam_check/clean_dn.conf";
 
 # Текущее время и текущий день.
 my $now_time = time();
 
design & coding: Vladimir Lettiev aka crux © 2004-2005