(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Базы данных postgrey

Источник: vladimir-stupin

Сегодня я заинтересовался содержимым баз данных Postgrey. Как известно, база данных Postgrey находится в каталоге /var/lib/postgrey/ и имеет формат Berkeley DB.

Собственно вся база находится в двух основных файлах: 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-адресам, а можно составить рейтинг пар отправитель/получатель. Можно добавлять записи вручную (только зачем?), а можно удалять записи. Если придумали что-нибудь интересное, отпишитесь.

 


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 02.06.2011 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
VMware Workstation Pro 12 for Linux and Windows, ESD
Купить WinRAR : 5 : Академическая лицензия 1 лицензия
VMware Fusion 10 Pro, ESD
ABViewer Enterprise пользовательская
Quest Software. Toad for SQL Server Development Suite
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
СУБД Oracle "с нуля"
Вопросы и ответы по MS SQL Server
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100