(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
Купить CommView for WiFi 1 лицензия
Raize Components 6
IBM DOMINO COLLABORATION EXPRESS AUTHORIZED USER LICENSE + SW SUBSCRIPTION & SUPPORT 12 MONTHS
DevExpress / Universal Subscription
VMware Workstation 14 Player for Linux and Windows, ESD
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Реестр Windows. Секреты работы на компьютере
СУБД Oracle "с нуля"
Вопросы и ответы по MS SQL Server
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100