Изменения в Eserv/3 в 2003 г
Текущие изменения см. EservWhatsNew27.12.2003 EservEproxyRC5
- Автокодирование в MD5 пароля веб-интерфейса HTTP[AdminPass], если он был указан в Eserv3.ini прямым текстом. Это делается при обращении к веб-интерфейсу. Если длина пароля 32 байта, то он считается уже закодированным.
- В EmailSmtpForward.txt добавились поля LOGIN;PASSW;POP_SERVER для поддержки SMTP и POP-авторизации при пересылке (~pig)
- + SMTP[SendMailAppForwardAS] (~pig)
- Новая версия инсталлятора — теперь с вводом основных параметров и установкой сервисов до запуска веб-интерфейса.
- + SmtpSend 3.83 — поддержка SMTP-авторизации (как в SMTPSEND 1)
- + Robots plugin — поддержка почтовых роботов (~pig).
- + PopFileAntispam[CheckAuthorizedSenders] (~pig, ~dandy)
- SmtpSend 3.82 — на инициализацию окна агента выделяется дополнительное время (решение проблем с запуском smtpsend3 на некоторых машинах)
- Исправление в IsSpam.rules.txt (~pig)
- Исправление функций работы с хэшем (~pig, ~ruv)
- Исправление в декодере quotted printable
- + При включении "vDebugRules ON" серверы будут записывать в лог имена файлов, обрабатываемых в EvalRules (*.rules.txt).
- + Новые параметры PopFile: MaxMessageSize, PopFileIpWhiteList, PopFileFromWhiteList (последние два списка были раньше "закомментированными" примерами использования белых списков)
- Правила спам-проверки вынесены из OnMessageEnd в отдельный файл filters\IsSpam
- Скрипты веб-редактора ini теперь используют новые функции левого меню (~ruv)
- + Обновление TrafC, теперь можно назначать каналы с макросами в именах. Например, +CanalIn` {User}_band (~ruv)
- При включенном uHttpDebug и LogLevel: 7 в лог (445) записывается не только заголовок ответа, но и тело ответа. (Eproxy) При LogLevel: 6 — только заголовок. (как было в Eserv/2)
- Исправлена антивирусная проверка трафика прокси: проверка "на лету" при отключенном кэшировании могла не срабатывать для коротких файлов.
- Поле If-Modified-Since в cache plugin теперь использует время GMT, т.к. apache.tomcat (jsp) не понимает время в формате GMT+timezone_offset, в результате с некоторыми "tomcat powered" Apache-серверами не работал механизм обновления файлов в кэше (tomcat на Apache вызывал ошибку "500 internal server error"). В итоге файлы с таких серверов после попадания в кэш Eproxy могли отдаваться неверно, что в IE выглядело как непоказ картинок, а в логе как TCP_REFRESH_MISS/500.
- В BlackListSubject ищутся также и декодированные темы.
- Сообщения, помеченные в POP3 как удаленные (командой DELE), теперь могут продолжать выдаваться другими командами, пока не будут удалены физически (при выполнении команды QUIT).
- В RCPTTO.rules.txt добавлен пример команды IsRblBlocked для проверки по произвольному RBL-сервису.
- DelayAfterCommand=100 — традиционный обход глюков Outlook
- Конфигурация acFTP исправлена для работы сервисом
- FireWall plugin в Eproxy теперь запускается отдельным потоком, чтобы не тормозить запуск сервиса (FireWall в сервисном режиме инициализируется в течение 2 минут — особенность MS API)
06.12.2003 EservEproxyRC4
- Пункты меню в веб-интерфейсе остаются открытыми при выборе пунктов субменю (~ruv)
- utils/install_acWEB_service.bat, utils/uninstall_acWEB_service.bat, utils/install_service.bat utils/uninstall_service.bat, utils/startNTns.bat автоматически определяют текущий каталог и теперь работают как при запуске из главного каталога Eserv3, так и из каталога utils (~ruv)
- Сворачивание/разворачивание левого меню в веб-интерфейсе работает теперь во всех браузерах (~ruv)
- + Левое меню создается на базе XUL XML-файла в формате меню Mozilla (см. menu.xul)
- + В IMAP/POP3 добавлена опциональная задержка DelayAfterCommand (~pig)
- Адреса в правой части алиасов теперь могут иметь макросы в {...}
- + В CONF\lists\smtp\ToEmailAliases.txt добавлен алиас по умолчанию postmaster@local;postmaster@{Server[DefaultDomain]};"smtpsend bounces"
- + В веб-редактор текстовых БД добавлен отладочный режим (?debug=1)
- + Все *.txt файлы в CONF\ снабжены schema.ini
- + В acSMTP.exe добавлена поддержка расширенных функций PigMail
- + в plugin'ы mlog и mlogc добавлено слово rbps (требуется 452й строкой лога — для SMTP лога в Estat)
- Из EHLO.pat.txt убрана команда VRFY.
- Исправлена картинка up-title-free.gif в Estat (была испорчена при передаче на CVS)
- acSMTP\conf\smtp\delivery\UnknownLocal.rules.txt теперь также учитывает классификацию писем 'spam'
- При помещении письма в спам-архив (SMTP[Spam]) письмо копируется теперь вместе со списком получателей
21.11.2003
- Исправлена команда BODY[TEXT] IMAP-сервера
- Исправлена команда BODY[1] IMAP-сервера
- Вместо "can't create uids file" при выполнении IMAP-операций на каталогах без INBOX, будет создаваться нужный IMAP-клиенту каталог.
20.11.2003 EservEproxyRC3
- исправлена ошибка буферизации в XMLRPC-клиенте в plugin'е PopFile
- SmtpSend 3.81: -rd теперь сам создает каталог для возвратов, если его не было. Адрес отправителя postmaster@local заменяется на пустой адрес (MAIL FROM:<>) при отправке наружу — для совместимости с не Eserv'ами
- + В ядро acSMTP добавлены команды: : (CopyFileXtTo) ( target targetu xt — ) : CopyFileWithCurrentRcptTo ( target targetu — ) : CopyFileWithCurrentRcptTo: ( "text" — ) : MoveFileWithRcptsTo ( target targetu — ) : MoveFileWithRcptsTo: ( "text" — ) : WriteRcpts ( — ) : WriteCurrentRcpt ( — ) (~pig)
- + Добавлен файл SMTP[SpecialSenders] для упрощения расширения списка разрешенных локальных агентов доставки, авторизуемых по IP (фактически белый список из комбинаций email:ip) (~pig)
- Изменена схема возвратов почты, которую невозможно доставить. Теперь она автоматически возвращается отправителю через localhost (~pig)
- Изменена структура каталогов для форварда почты на заданный хост — теперь создается подкаталог с номером порта, т.е. можно переправлять почту на разные порты одного и того же хоста (~pig)
- Plugin scheduler теперь, кроме проверки собственно SMTP[Out], сканирует список EmailSmtpForward и проверяет каждый форвардный каталог. Один из них специально заведен для размещения отскоков smtpsend3. Опция SMTP[SynchronousSend] позволяет временно отключать запуск smtpsend3 планировщиком. (~pig)
- Опция SMTP[UseScheduler], управляющая подключением планировщика. По умолчанию теперь включен.
- Исправлен plugin pop2smtp (утечки).
- + # Каталог списков настройки IMAP-сервера Lists={Dirs
- Исправлены примеры в файлах FromEmailBlackList.txt и FromEmailWhiteList.txt + В меню "Маршрутизация" добавлены пункты: + Ограничения на отправку alias'ам и спискам рассылки + Пересылка при наличии заданных слов в теме
- При отсутствии на компьютере необходимого MS XML3 SP4 веб-интерфейс производит перенаправление на страницу его установки (550 кб).
- Установка/удаление сервиса acWEB перенесены из веб-интерфейса в меню "~Пуск/Программы/Eserv3"
- + Новый фильтр SMTP[SubjectWords] для автоматического добавления адресов получателей при наличии указанных слов в теме.
- EservEproxyRC2
- Исправлена работа с сервисами через веб-интерфейс
- + Новая опция Pop2smtp[SaveRejected] позволяет включить режим сохранения отвергнутых smtp-сервером сообщений в файл, шаблон имени которого указывается в Pop2smtp[FileName]. По умолчанию в Eserv3.orig.ini этот режим отключен.
- + Произведено более жесткое разделение конфигурации на две части — доступную для изменения и "нежелательную для изменения". Основная часть настроек вынесена в общий для всех серверов каталог CONF и в общий для всех серверов Eserv3.ini. В ini хранятся основные константы (порты, пути, опции, и т.д., см. комментарии в ini). В conf — списки сетей, доменов, пользователей. Все списки приведены к одинаковому формату текстовых баз данных для улучшения автоматизированной обработки. В DATA — временные файлы (журналы, статистика, кэш), в общем всё, что периодически нужно чистить.
- + Файлы журналов в DATA приводятся к более единообразному формату, понимаемому всеми dbms-программами. Специализированные журналы без жесткого DB формата остались в каталогах log своих серверов. Добавлен пример отчета http://server:3140/mailstat/mailstat.xml, создаваемого SQL-запросом по почтовым журналам.
- + Все серверы пишут статистику по TCP-сессиям (без подробностей) в общий статистический журнал в DATA\log\stat. Добавлен plugin mlogC, позволяющий бесконфликтную запись в общий файл разными процессами (медленнее старого способа), и mlog по умолчанию заменен на mlogC во всех серверах.
- + Чтобы у администратора не возникало соблазна вручную менять файлы настройки серверов в их каталогах conf (и тем самым потерять синхронность с нашими версиями настроек), серверы теперь читают конфигурацию из каталогов conf и myconf. Сначала идёт обращение к myconf, а при отсутствии нужного файла *.rules.txt берется этот файл из conf. Таким образом вместо изменения файла в conf можно скопировать его в myconf и там изменить — он и будет использоваться сервером. Каталогов myconf в дистрибутиве нет и не будет, поэтому пользовательская настройка останется нетронутой при обновлении.
- Plugin'ы в отличие от *.rules.txt изменению не подлежат. Их можно считать прямым дополнением к *.exe. Если все же меняются, то лучше им давать другое имя (в другом каталоге хранить). Правило перекрытия conf/myconf действуют и на index.f/activate.f, но у plugin'ов могут быть собственные соображения насчет размещения остальных своих файлов. Авторам plugin'ов рекомендуется все настройки выносить в Eserv3.ini и в глобальный каталог conf в виде файлов-БД.
- + Чтобы вообще в большинстве случаев не возникала необходимость менять базовую конфигурацию серверов, все потенциально переменные части конфигурации вынесены из conf-каталогов серверов в общий файл Eserv3.ini. Он тоже фактически комбинируется из двух файлов: Eserv3.orig.ini и Eserv3.ini. Полный список опций, параметров и их значений по умолчанию — в Eserv3.orig.ini. Изменения к этому файлу записываются в Eserv3.ini, а Eserv3.orig.ini остается в исходном виде. Серверы сначала берут значения из Eserv3.ini, а при их отсутствии — из Eserv3.orig.ini. Сами серверы (exe) сохранили возможность работать в самых минимальных конфигурациях — совсем без conf-каталогов и без ini-файлов (т.е. можно в старую конфигураци. поставить exe нового сервера). Eserv3.ini и многочисленные conf — это просто конкретная конфигурация, предлагаемая вашему вниманию в этом комплекте.
- Файлы общих каталогов CONF и DATA в дистрибутив не входят и, таким образом, не перезапишут старые настройки и журналы. За образец для CONF можно взять каталог CONF.orig (он и стоит в Eserv3.orig.ini в путях по умолчанию), но не менять его, а скопировать в CONF и указать путь в Eserv3.ini: [Dirs] Conf=..\CONF
- ВНИМАНИЕ! Изменился формат одного файла — LocalDomains.txt. Убран первый столбец EMAIL_MASK. Теперь сравнение идёт только по домену.
- + Механизм авторизации Eproxy расширен на остальные серверы комплекта, но стал более "прозрачным" и не конфликтующим с другими способами авторизации в Eserv. Введен новый AuthDomains.rules.txt, который можно использовать в команде AuthMethod (и установлен по умолчанию в этой настройке). AuthDomains, как и авторизация в Eproxy PRO, просматривает список локальных доменов и их источников авторизации и выполняет авторизацию в заданном источнике. В комплект включены plugin'ы для следующих типов источников авторизации: auth_e2 (по Eserv.ini или userbase.txt от Eserv/2), auth_nt (по домену WindowsNT), auth_md5 (по списку пользователей в текстовом файле, пароли шифруются md5), auth_odbc (по любой базе данных). Для примера в auth_odbc даны настройки на три различных базы данных (параметрами для конкретной базы является её connect string и sql-запросы для работы со списками пользователей). Если в диалогах авторизации клиентских программ вводить в поле login — имя@домен (как Email), то по домену будет выбираться источник авторизации. Если домен не указывать, то берутся значения по умолчанию из ini. Таким образом на Eserv можно работать с любым количеством доменов одновременно, и для каждого домена использовать произвольный способ авторизации.
- + Во всех 4-х предлагаемых plugin'ах авторизации есть возможность проверки существования пользователя в этом домене (без авторизации), поэтому SMTP-сервер может отвергать во время сессии почту для несуществующих пользователей в любом из своих доменов. Либо переправлять её на заданный адрес. Обе опции (принимать/не_принимать и адрес пересылки) могут быть заданы для каждого домена отдельно или для сервера вцелом.
- + В комплект включен новый почтовый plugin — для классификации почты через байесовый фильтр POPfile. Сам POPfile нужно устанавливать отдельно (см. POPfile ). Почта, классифицированная как спам, не попадает в INBOX пользователя (доступный по IMAP и POP3), а попадает в IMAP-подкаталог "spam" этого пользователя, и копия в общий каталог на случай переклассификации отправителем. Отправителю спама во время почтовой сессии в ответ на команду DATA дается код ошибки 5хх и URL для "проталкивания письма" (с автоматической подстройкой словарей POPfile). Все стандартные MTA возвращают такие письма отправителям и приводят в возврате текст из сообщения об ошибке. Таким образом отправитель будет знать, что его письмо попало в spam, и будет знать как его "обелить". Это исключает негативный эффект от возможных false positives, которые и так составляют менее 1%. Если отправитель посещает приведенный URL, то сообщение автоматически копируется в папку reclassify (для контроля админом), а отправителю дается возможность нажатием одной кнопки обучить POPfile впредь относиться к таким письмам терпимее (слова добавляются в словарь 'clear' классификатора). Для ручной переклассификации клиентом (например, false negatives — просочившийся спам — переклассифицировать как спам) не нужно заходить на веб-интерфейс POPfile. Достаточно просто в IMAP-клиенте переложить сообщение в папку spam или not_spam (любого каталога), и IMAP-сервер инициирует соответствующую процедуру на POPfile). Включается опцией в Eserv3.ini.
- + Добавлена возможность отключить автоизвещения о полученных вирусах. (Опция в Eserv3.ini)
- + Для создания MD5-паролей в комплект включена простейшая консольная программа utils\md5.exe.
- IsMyMX теперь не считает своим MX, указывающий на 127.*.*.* (localhost)
- conf/smtp/HELP.rules.txt выдает код ошибки 502
- 127.0.0.2 добавлен в IpBlackList
- 127.*.*.*, кроме 127.0.0.1, считаются спамерами (задано в конфиге OnConnect) Изменения в Eproxy
- + Добавлен ответ Disabled для использования в правилах вида PeerIP = 10.1.1.21 | Disabled \EOF Выдает просто текст "Disabled by admin" с кодом ответа 503. Это самый краткий ответ крекерам, т.к. при простом закрытии сокета многие считают это просто сетевой ошибкой и продолжают долбить.
- + Изменен обработчик TCP_HIT в cache plugin для исключения возможной потери хэндла, если клиент отключился на этапе чтения заголовка HTTP-ответа
- + добавление REST после PASV в ftp-proxy
- + запись ответа на PASV в лог
- изменены номера и форматы строк журнала ftp-proxy и переделаны для mlog
- если клиент (браузер) прерывает чтение заголовка http-ответа, то в логе это будет отражено также, как и прерывание чтения тела ответа - CLIENT_TERM. Ранее в этом случае писалось TCP_MISS.
- если http-сервер выдает тело ответа короче, чем content-length в заголовке ответа, то в лог пишется ERR_READ_ERROR. Ранее ERR_READ_ERROR писался только при обрывах чтения (10054 и др. ошибки), а graceful close ошибкой не считался. Теперь закрытие соединение до выдачи полного тела (этой ошибкой страдает иногда thttpd/2.2) тоже считается ошибкой. Не ошибка это только в том случае, если content-length в заголовке не было. В cache plugin ничего не изменилось — он эту ситуацию обрабатывал корректно изначально. Изменения касаются только записи в лог.
- }\imap # SpecialFolders — список специальных логинов, в виде user@domain # которым назначаются особые почтовые каталоги для # получения почты SpecialFolders={IMAP
- }\SpecialFolders.txt
18.11.2003
Очень много изменений, см. EservCvs
31.08.2003
Очередной билд, Bitrix Sitemanager теперь по умолчанию отключен. Если не менять настройку, то будет обрабатывать свои MX домены, авторизация в почтовом сервере по файлу CONF\lists\UserList.txt, авторизация в прокси по NT-пользователям.
20.08.2003
Управление текстовыми таблицами начало переезд в другой каталог...
16.08.2003
Добавлен callback-plugin для POP3 и SMTP — для Piafi MailKnocker
17.07.2003
Некоторые изменения описаны в файлах whatsnew конкретных серверов. Основные общие изменения здесь.
Изменения в acSMTP