Возможно вы искали: '5+'

May 31 2025 02:07:30
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96425698
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18407
• Обзор The Walking ... 18853
• Обзор DMC: Devil M... 19921
• Обзор на игру Valk... 15921
• Обзор на игру Stars! 17810
• Обзор на Far Cry 3 18000
• Обзор на Resident ... 16063
• Обзор на Chivalry:... 17561
• Обзор на игру Kerb... 18021
• Обзор игры 007: Fr... 16667
Превью о играх
• Превью к игре Comp... 18003
• Превью о игре Mage... 14502
• Превью Incredible ... 14763
• Превью Firefall 13523
• Превью Dead Space 3 16378
• Превью о игре SimC... 14772
• Превью к игре Fuse 15479
• Превью Red Orche... 15589
• Превью Gothic 3 16388
• Превью Black & W... 17402
Главная » Статьи » Разное » Прикручивание к sendmail фильтр аттачей по расширениям (vbsfilter) (mail filter sendmail blocking howto milter)

Прикручивание к sendmail фильтр аттачей по расширениям (vbsfilter) (mail filter sendmail blocking howto milter)

Ключевые слова: mail, filter, sendmail, blocking, howto, milter, (найти похожие документы)

Date: Mon, 03 Jun 2002 21:46:06 +0400
From: Dmytro Fadeyenko <Dmytro.Fadeyenko@f312.n463.z2.fidonet.org>
Newsgroups: fido7.ru.unix.bsd
Subject: Прикручивание к sendmail фильтр аттачей по расширениям (vbsfilter)

Выкладываю для публичного обнюхивания и обругивания бета-версию HOWTO по
прикручиванию vbsfilter. Буду рад, если кому-то пригодится. :)




Прикручиваем к sendmail'у фильтр аттачей по расширениям


1. Лирическое вступление
~~~~~~~~~~~~~~~~~~~~~~~~

Рассмотрим классический случай: вы настраиваете почтовый сервер в
организации, где большая часть пользователей не имеет представления о методах
защиты от компьютерных вирусов - в частности, приходящих по электронной почте.
Можно сколько угодно предупреждать пользователей о недопустимости тех или иных
действий, но рано или поздно кто-нибудь откроет ворота перед очередным
троянским конем - или последний сам пролезет через дырку в ограде любимого
всеми секретаршами Outlook Express'а.
Противодействие очевидно: если бы вы могли сделать так, чтобы вредоносные
вложения не попали к пользователю, то угроза заражения посредством электронной
почты автоматически исчезла бы. А поскольку имя приаттаченного к письму файла
определяется (в кодировке MIME) из заголовка следующего вида:

Content-Type: application/octet-stream;
name="whatever.exe"

то в sendmail.cf вы добавляете следующие строки:

HContent-Type: $>CheckContentType
SCheckContentType
R$*name="$*.exe"$* $#error $: Bad attachment detected!

И... е работает. И не должно работать: ведь инструкция sendmail'а 'H'
проверяет только заголовок (header) письма, а в него входит только первый
Content-Type со значением 'multipart/mixed'. аш же Content-Type находится
глубоко в теле письма.
Как быть? Оказывается, выход совсем рядом, надо только его заметить.
sendmail, начиная с версии 8.10, содержит библиотеку libmilter (Mail fILTER) -
мощное средство написания собственных внешних фильтров проходящей почты. Причем
фильтр может находиться как на локальном, так и на удаленном хосте, что
особенно удобно для сетей с несколькими MX. И нам даже не придется изобретать
велосипед: за нас это сделал парень по фамилии Смит. Его vbsfilter
(http://aeschi.ch.eu.org/milter/) переименовывает MIME- и UU-encoded файлы с
потенциально опасными расширениями (.exe, .vbs, .bat и другие, всего около
сорока) в .txt. То есть в худшем случае наш пользователь откроет аттач в
классическом блокноте. vbsfilter включен в дерево портов FreeBSD.


2. Заложим фундамент
~~~~~~~~~~~~~~~~~~~~

Хотя сам vbsfilter - это всего девять килобайт на Си, нам придется
основательно подготовиться к его установке. Дело в том, что по умолчанию
sendmail компилируется без поддержки libmilter.
Следовательно, начнем с резервного копирования содержимого каталога
/etc/mail. После чего вытянем свежую версию sendmail. а момент написания
данного документа таковой является версия 8.12.2 (а vbsfilter - версия 1.8).
Если ваш sendmail версии не ниже 8.11, то можно обойтись и содержимым папки
/usr/src/contrib/sendmail. Все дальнейшие пути в этом разделе будут указаны от
каталога, в который вы распаковали исходные тексты sendmail.
Теперь внимательно читаем файлы README, INSTALL, libmilter/README и, если
вы раньше не собирали sendmail, то обратите особое внимание на то, что для
этого процесса не используется привычная последовательность команд - configure,
make, make install. Прочитав и уяснив суть, компилируйте по приведенному в
файле INSTALL алгоритму сначала libmilter, а потом сам sendmail и утилиты.
Перед сборкой конфига из файла .mc добавьте в последний такую строку:

INPUT_MAIL_FILTER(`vbsfilter', `S=unix:/var/run/vbsfilter, F=R')

Завершив процесс установки новой версии sendmail, следует внимательно
отредактировать /etc/mail/sendmail.cf, сверяясь в процессе с резервной копией.
Если у вас возникнет желание проверить работу sendmail на этом этапе (без
фильтра), то в файле /etc/sendmail.cf в строке, задающую адрес сокета, следует
закомментировать окончание (', F=R'). Поскольку вы, надеюсь, внимательно
прочитали документацию на libmilter, то уже знаете, что синтаксис 'F=R'
заставляет sendmail при недоступности фильтра отклонять всю поступающую почту;
более того, в таком случае sendmail откажется запускаться в режиме демона.


3. Доводим до ума vbsfilter
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Вот мы и на финишной прямой. Если, конечно, нас устраивает предлагаемое
мистером Смитом преобразование всех расширений подряд в .txt. Поскольку
наверняка найдутся недовольные: если деловой партнер перешлет необходимые для
работы файлы, то далеко не каждый сотрудник вашей организации сможет отличить
по содержанию com от msi, а exe от dll или scr. Поэтому я предлагаю внести в
исходный текст vbsfilter минимальные исправления, в результате которых первая
буква расширения будет заменяться фильтром на подчерк (символ 5Fh), а остальные
останутся без изменений.
Вот тут придется вспомнить, что vbsfilter написан под solaris, и, чтобы
собрать его под FreeBSD, требуется наложить приведенный в портах патч. И,
поскольку классический админ достаточно ленивый, чтобы ручками патчить исходник
или набирать параметры командной строки компилятора (особенно при отсутствии
элементарной мыши), то мы займемся небольшим мошенничеством.
Перейдя в /usr/ports/mail/vbsfilter, изменяем в Makefile в строке
параметров компилятора имя файла с исходным текстом фильтра с vbsfilter_1.8.c
на vbsfilter_1.8.new.c. Больше ничего не трогаем.
Запускаем make. Программа вытягивает исходные тексты фильтра, накладывает
патчи и: Останавливается, поскольку никакого файла vbsfilter_1.8.new.c у нас
нет. Зато в files/work лежит уже пропатченный vbsfilter_1.8.c. Копируем его в
vbsfilter_1.8.new.c и редактируем последний.
В теле процедуры detect_header есть следуюшие строки:

*(r-3) = ext2[0];
*(r-2) = ext2[1];
*(r-1) = ext2[2];
rc++;

и, чуть ниже,

*(r-2) = ext2[0];
*(r-1) = ext2[1];
rc++;

Указываем необходимость замены первого символа на подчерк и закомментариваем
(или удаляем) "лишние" инструкции.

*(r-3) = 95; /* ext2[0];
*(r-2) = ext2[1];
*(r-1) = ext2[2];*/
rc++;

и, соответственно,

*(r-2) = 95; /* ext2[0];
*(r-1) = ext2[1];*/
rc++;

После чего возвращаемся в ../.. и повторно запускаем make, затем make
install.
Для запуска фильтра служит шелл-скрипт /usr/local/etc/rc.d/vbsfilter.sh. Он
автоматически выполняется в процессе загрузки, но вызывается после запуска
sendmail. Соответственно последний при запуске сообщает об ошибке, т.к. сокет,
на котором должен отвечать vbsfilter, еще не создан. Более верно было бы
запускать фильтр до запуска sendmail, но для этого придется, например, добавить
вызов скрипта в соответствующее место /etc/rc - файла, в который лучше не
лазить грязными руками.
Теперь можно раскомментарить в /etc/mail/sendmail.cf ранее закомментаренное
указание отклонять соединения при отсутствии фильтра и заняться окончательной
проверкой работы связки sendmail-vbsfilter. апример, послав самому себе письмо
с файлом autoexec.bat, вы должны получить письмо с файлом autoexec._at...

Д. Фадеенко, 2002.



ps: версия sendmail 8.12.2 таки указана на момент написания HOWTO, это я все не
мог решить, стереть этот текст или запустить его в сеть. :)))

S.Y. Dmytro e-mail:klinok@klinok.kiev.ua ICQ: 12509269
990 Прочтений •  [Прикручивание к sendmail фильтр аттачей по расширениям (vbsfilter) (mail filter sendmail blocking howto milter)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Прикручивание к sendmail фильтр атт... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка