Собственно вся база находится в двух основных файлах: postgrey.db и postgrey_clients.db.
Для их просмотра нам понадобится пакет db4.6-utils. Точную версию необходимого пакета можно выяснить, если изучить зависимости самого postgrey. У меня в дистрибутиве Debian Squeeze было три различных версии этого пакета, из которых подошла только версия 4.6.
В файле postgrey.db находятся триплеты тестируемых отправителей.
Просмотреть их можно следующей командой:
$ db4.6_dump -p postgrey.db | lessНашему взору предстанет таблица с записями двух видов:
95.111.111.9/uzowu@sender.hu/ufa03@receiver.ru 1303233971,1303234277и
95.138.211.0/vasiliy@sender.ru/sln@receiver.ru 1303295139,1303295139,90Это два способа записи одной и той же информации. Первый вид расшифровывается следующим образом:
IP-адрес отправителя/почтовый адрес отправителя/почтовый адрес получателя отметка времени первой попытки отправки,отметка времени второй попытки отправкиВторой вид, насколько я понял анализируя исходник postgrey, соответствует случаю если в PTR-записи IP-адреса отправителя найдено одно последнее число из IP-адреса или два последних числа IP-адреса. То есть соответствует случаю заведомо динамического IP-адреса отправителя. Очень редко в домен попадает последнее число IP-адреса или сразу два последних числа из IP-адреса - в основном это соответствует именно случаю динамического IP-адреса. В таком случае postgrey откусывает у IP-адреса последнее число, заменяя его на ноль. Само откушенное число добавляется в конец записи. Указанный выше случай соответствует IP-адресу 95.138.211.90. То есть во втором случае формат такой:
IP-адрес отправителя с последним числом заменённым на 0/почтовый адрес отправителя/почтовый адрес получателя отметка времени первой попытки отправки,отметка времени второй попытки отправки, последнее число из IP-адресаНе совсем понимаю зачем это сделано, я с этим не разбирался. Скорее всего - для ускорения поиска динамических клиентов-отправителей. Такому клиенту скорее всего каждый раз будет выдаваться не сильно отличающийся от предыдущего IP-адрес, поэтому чтобы не множить триплеты и не заставлять такого клиента каждый раз пробиваться через процедуру проверки, повторные проверки выполняются только в случае отличия одного из первых трёх чисел IP-адреса. Но это - всего лишь мои догадки. Если вам интересно - изучайте исходники внимательнее.
Второй файл postgrey_clients.db используется для автоматического помещения IP-адресов отправителей в белый список. Посмотреть его можно следующей командой:
$ db4.6_dump -p postgrey_clients.db | lessВидим много записей следующего вида:
1.122.11.90 1,1303296308Что здесь что?
IP-адрес отправителя количество удачных отправок,отметка времени последней отправкиОпция --auto-whitelist-clients=10, заданная в настройках демона, указывает, после какого количества успешных отправок IP-адрес отправителя будет помещён в белый список. Эта база используется как раз для отслеживания клиентов, претендующих на помещение в белый список.
Опция --max-age=30 действует на оба списка и говорит о том, что записи, время последней отправки которых старше 30 дней, будут удалены. Таким образом записей с последней попыткой отправки бывшей более 30 дней назад, в базе быть не должно.
Для того, чтобы загнать отредактированную информацию обратно в базу данных, можно воспользоваться командой db4.6_load:
$ db4.6_dump -p postgrey.db > base $ vi base $ db4.6_load postgrey.db < baseВозможно перед загрузкой информации в базе данных придётся остановить postgrey. И не забудьте при экспериментах по редактированию делать резервные копии. Лучше - всего каталога после остановки postgrey.
Как воспользоваться полученной информацией, я пока не придумал. Например, можно составить рейтинг отправителей по IP-адресам, а можно составить рейтинг пар отправитель/получатель. Можно добавлять записи вручную (только зачем?), а можно удалять записи. Если придумали что-нибудь интересное, отпишитесь.
Комментариев нет:
Отправить комментарий