*nix'ы

warning: Creating default object from empty value in /usr/data/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Совместимость MooseFS 2 и 3

Продолжая играться с MooseFS решил посмотреть, на сколько совместимы 2 и 3 версии:

  • Chunk сервер 3 версии без проблем подключился и начал работать с MFSMaster 2 версии. Downgrade прошел безболезненно.
  • mfsmount 3 не захотел подключаться к MFSMaster 2 версии
  • mfsmetalogger 3 нормально подключился к MfsMaster 2 версии. Downgrade прошел безболезненно.
0
Your rating: Нет

Автоматическая установка и обновление 2gis под nix'ами

Возникла необходимость у людей в использовании 2gis. Он поддерживает установку в сетевую папку и использование без установки чего либо на каждом компьютере. Одна беда, для обновления требуется запускать отдельную службу, которая работает или под Windows или под Wine.

Сервер у меня под FreeBSD без Xов и прочего, соответственно, Wine отстутствует. А все настраивать под Windows очень не хочется.

Пришлось придумывать скрипт, который бы полностью установил 2gis со всеми плагинами и городами в определенную папочку на сервере.

Задача разделилась несколько подзадач:

  1. Получение и установка оболочки 2GisShell
  2. Получение и установка плагинов. Т.к. часть плагинов в архивах zip, а часть в виде MSI файликов задача разделилась на:
    1. Получение zip архивов плагинов и распаковка их в нужный каталог
    2. Получение MSI файлов плагинов, их распаковка, переименование файлов и копирование в нужный каталог
  3. Выбор, получение и установка карт городов.

Из-за того, что несколько подзадач, скрипт получился несколько больше чем расчитывал, но надеюсь, достаточно полный и надежный. Т.к. нужно было выдергивать файлы из MSI, как архиватор решил использовать 7zip, т.к. он справляется и с архивами и с MSI.

Пробовал использовать cabextract и unshield, но ни тот ни другой не смогли нормально распаковать MSI - получались какие-то невнятные файлы.

0
Your rating: Нет

Учимся ронять и поднимать MooseFS

Пока игрался, успел получить несколько неправильных ситуаций с этой красивой класстерной файловой системой.

0
Your rating: Нет

Блокировка исполняемых вложений во всех архивах в exim

Как выяснилось, clamav не умеет распаковывать разные архивы, типа 7-zip, rar старше 3-й версии и возможно еще что-то.

И соответственно, вирусы и прочие вредные файлы могут пройти через почтовый сервер, что к сожалению и произошло. angry

Где-то нашел статью, как прикрутить блокировку неправильных вложений через стороннюю программу. В итоге реализовал все через 7-zip и мелкий скрипт на его основе.

Плюс 7-zip поддержка кучи форматов:

0
Your rating: Нет

Анализ внедрения автоматического обучения спам фильтров.

Прошло два месяца, как внедрил обучение спамфильров на основе спам ловушек (spamtrap) и исходящей почты.

Сейчас провел мелкий анализ результатов на основании выборки за два месяца до и два месяца после внедрения:

Критерий до (всего/ среднее в день) после (всего/среднее в день)
Ложные определения как спам (ощущение, что что-то не так, очень похоже, что отыграло начало внедрения) 676/16.4878

767/17.8372
без учета первой недели внедрения 391/10.8611

0
Your rating: Нет

Мысли по MooseFS

После некоторого тестирования MooseFS появились некоторые впечатления. На вменяемый отчет не тянут, но легкое представление дают.

 

0
Your rating: Нет

Тестирование распределенной (кластерной) файловой системы MooseFS

Давно мечтал поиграть во что-нибудь класстерное. Дошли руки поискать и выкопать распределенную файловую систему. Т.к. серверные вещи у меня живут в основном под FreeBSD и ее знаю лучше, то хотел под нее и чтобы сразу завелось.

В итоге выкопал MooseFS. Игрался с версией 2.0.73.

Что оно умеет:

  • Разные количество репликаций от 1 до 9.
  • Снэпшоты - шустрые и вроде правильные, т.е. не занимающие отдельное место. UPDATE: но все файлы в снэпшоте кушают ресурсы мастера, похоже, несколько меньше, чем обычные файлы, но тоже неплохо. Создаются снепшоты моментально, удаляются как обычные файлы, т.е. может занять длительное время.
  • Восстановление удаленных файлов - специальная корзина TRASH (информацию можно найти можно тут)
  • В платной версии отсутствует единая точка отказа, в открытой нужно допиливать или пытаться использовать mfs-failover или что-то похожее.
  • Какая-то веб мордочка.

Некоторые особенности работы:

  • Клиент mfsmount отправляет и получает данные с Chunk серверов напрямую.

Установку производил на свеже скаченную виртуалку с оффсайта - FreeBSD-10.1-RELEASE-amd64.vmdk.xz.

0
Your rating: Нет

Чуть-чуть про безопасность в Exim

Пока игрался с Exim, случайно оставил дырочку или точнее ОГРОМНОЕ ОТВЕРСТИЕ для использования сервера в качестве релей - для авторизации достаточно было подобрать пользователя, пароль мог быть любым.

Проблему нашел по жалобам пользователей, что почта подтормаживает и письма странно уходят - то уходят, то не уходят и загрузка системы подпрыгнула 2-3% до 100%.

Оказалось, что за несколько часов, через меня пытались отправить около 50 тысяч сообщений под одной учеткой. Сначала подумал, что как-то подняли пароль к учетке и этим воспользовались, но потом разобрался, что сам дурак и закрыл все.

Дыру использовали 15-17 часов, за это время успел попасть в некоторые спам листы и уронить рейтинг. Задумался, что нужно бороться (ну не только с собственной глупостью) с тем, чтобы при получении доступа к серверу минимизировать урон.

Оказалось, что Exim легко умеет ограничивать количество отправленной почты в единицу времени. Не совсем понятно, почему это не прикручено по умолчанию, с какими-нибудь небольшими лимитами. Кому нужно, найдут сразу, а у остальных будет мелкая дополнительная защита от возможности больших лишних рассылок.

Добавил в exim/configure в секцию acl_check_rcpt:

0
Your rating: Нет

Использование спам ловушек для обучения байесовских фильтров

В продолжение игрушек со спамом захотелось прикрутить автоматическое обучение байесовских фильтров спаму на основе спам ловушек.

У меня используются SpamProbe и Rspamd.

Основной вопрос был, как эти самые ловушки придумать и как туда заставить рассылать спам. Решение придумалось самое простое и, на мой взгляд, логичное.

  1. Анализируем лог почтового сервера на попытку доставить письмо в несуществующий ящик.
  2. Считаем количество попыток для каждого ящика.
  3. Если попыток больше определенного, я решил, что более 30, то заносим в базу спам ловушек. Порог требуется для того, чтобы не попадали адреса, которые люди неправильно набрали при вводе.
  4. Все письма поступающие на эти адреса передаем спам фильтру на обучение.
  5. Смотрим результат и периодически перепроверяем какие еще адреса имеет смысл добавить.

Реализация для EXIM:

Сбор адресов

( bzcat /var/log/exim/rejectlog.* ; cat /var/log/exim/rejectlog ) | grep -E 'Unrouteable|not found' | grep -v -E 'root|abuse|postmaster' | sed 's/.*rejected RCPT//;s/.*<//;s/>.*//' | sort | uniq -c | awk '$1 > 30 {print $2}' | sort > /usr/local/etc/exim/spam_trap.txt

0
Your rating: Нет
Ленты новостей