Система Orphus

четверг, 31 декабря 2009 г.

spam-cheсk 0.3: Быстрее, больше, сильнее

Я уже выкладывал и писал предыдущие версии скрипта spam-check. Сегодня же, в преддверии Нового 2010 года, хочу поделиться новой, третьей версией данного скрипта.
Напомню, скрипт предназначен для проверки своих (и не только) серверов на их наличие в черных списках (DNSBL).<

В этой версии не мало новшеств. Скрипт переписан полностью с нуля и теперь работает быстрее и качественнее, а так же теперь используется sh вместо bash, как в предыдущих версиях. Теперь не нужна опция "-p" и можно указывать не только ip-адреса, но и доменные имена, правда с одной оговоркой: если доменное имя разрешается в другое доменное имя (alias), то скрипт отработает не верно. Я нарочно не стал проверять, есть ли у домена alias, т.к. считаю, что админ сам должен уметь это делать :) Т.ж. разделен поток ошибок и поток обычного вывода.

Приведу вывод "spam-check --help":
spam-check [-q] [-l] [-d dnsbl | -f filename | -i] [-s dns_server] [-t] [--] [ip or domain-name ...]

-q  - Ничего не выводить
-l  - Показать список DNSBL-серверов
-d  - Проверить по указанному DNSBL
-f  - Взять список DNSBL-серверов из файла (по одному на строчку)
-i  - Сграбить список DNSBL с сайта http://myiptest.com/
-s  - Указать DNS-сервер, через который будет идти проверка (по умолчанию OpenDNS - 208.67.222.222)
-t  - Считать Time Out'ы ошибкой
--  - Считается, что дальше идут только ip и/или доманные имена
[ip or domain-name ...] - ip и/или доменный имена, которые нужно проверить
--vesrion, --help, --usage - без комментариев


Немного пояснений...
Порядок опций не имеет значение. Вы можете указывать вперемешку опции, ip-адреса и доменные имена.
Опция -l может работать в сочетании с опциями -f и -l, а по умолчанию она покажет "вшитый" список из 116 DNSBL.
Вся проверка по умолчанию идет через DNS-сервер OpenDNS, что конечно чуток медленнее, но, на мой взгляд, надежнее, т.к. я не очень доверяю DNS-серверам своего провайдера. Если не хотите каждый раз указывать DNS-сервер, то можете открыть скрипт и отредактировать переменную "$DNS_SERVER", чтобы изменить DNS-сервер по умолчанию.
Опция -t выводит сообщение о том, что соединение сервера прервано по time out'у, в поток ошибок и устанавливает код завершения скрипта в 1. А по умолчанию выводы и идет на стандартный поток вывода и не считается ошибкой, т.к. код завершения будет 0, при условии, что ни одного ip-адреса нет ни в одной DNSBL.


ToDo...
В будущем планирую увеличить количество "вшитых" DNSBL.
На этом моя фантазия иссякла. Не знаю, что можно еще добавить. Если у вас есть идеи, пишите, буду добавлять по возможности.


Сам скрипт spam-check 0.3
Страница скрипта на Google Codes



По меньше спама вам и вашим серверам!
И не попадайтесь в черные списки :)
С Новым 2010 годом! До встречи в Новом году :)




UPD: Последнюю версию скрипта можно взять тут -> https://code.google.com/p/spamcheck/



Информация с сайта http://angel2s2.blogspot.com/. Если Вы читаете информацию на другом сайте, пожалуйста свяжитесь с автором сайта http://angel2s2.blogspot.com/.

Похожие статьи

4 коммент.:

yugo45 комментирует... среда, 13 января 2010 г., 13:42:00 GMT+2

Роман, спасибо за скрипт, мой первый комментарий не отобразился.. вопрос такой - а можно сделать вывод скрипта не в консоль, а например в файл? хочу запускать его по крону и отправлять вывод по почте. Заранее спасибо!

Angel 2S2 комментирует... среда, 13 января 2010 г., 14:34:00 GMT+2

Не за что :) Рад что понравилось :)
В качестве ответа на ваш вопрос сделал wiki-страничку на сайте скрипта. Думаю вариантов хватит с лихвой ;)

P.S.: Следите за апдейтам на сайте скрипта (в вики есть пример), скоро уже будет 0.3.3 :)

Анонимный комментирует... четверг, 9 сентября 2010 г., 14:38:00 GMT+3

Не плохо было бы сделать вывод в файл/на почту/...
опциями из данного скрипта.

У мнея FreeBSD и скрипт заработал не сразу...

желательно добавить опцию отключения iconv,
отправку по почте штатными средствами (ssmtp устанавливается из портов, как и iconv)

Angel2S2 комментирует... пятница, 10 сентября 2010 г., 2:15:00 GMT+3

На данный момент скрипт умеет писать как в syslog, так и в файл, можете об этом почитать тут - https://code.google.com/p/spamcheck/wiki/log . Для этого скачайте последнюю тестовую версию (я лично в ней багов не замечал; ВАЖНО! параметры немного изменились, прочтитайте help) из svn-репозитория - https://code.google.com/p/spamcheck/source/checkout .
Про отправку отчета на мыло/джаббер можете прочитать тут - https://code.google.com/p/spamcheck/wiki/SendReports .

Я фряху почти не знаю... Какие в ней проблемы были? Что iconv и ssmtp ставить приходится? ssmtp в "зависимостях" нет. А iconv добавил как раз из-за того, что были жалобы на кодировку (как раз в фряхе), хотя для отключения, там достаточно одну строчку подправить (в версии из транка), позже сделаю возможность отключения (добавил в todo).

Отправить комментарий