*nix'ы

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

Сбор мыслей в кучу по подключению Rspamd к Exim

После некоторого тестирования решил, что сил хватит поддерживать корпоративную почту на должном уровне полностью своими руками на Exim. Перевел MX на себя с роутингом ящиков на другие сервера, т.к. сейчас, кроме моего сервера, часть нашей почты обслуживает Яндекс, часть Вымпелком/Билайн/АДС.

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

Остановился на Rspamd в связи с:

  1. Вроде, не сильно грузит систему
  2. По описанию автора, писался под Rambler-почту
  3. Писал наш согражданин
  4. Поддерживается текущим Exim "из коробки"
  5. Обещает, что может, все что нужно.

У меня возникло ощущение, что документация на него предполагает, что вы дружитесь со своим почтовым сервером и спокойно можете прикрутить к нему SpamAssassin.

Т.к. это не совсем мой случай, то вылезли некоторые проблемы.

1. В подключении полностью подменяют секцию проверки тела сообщения:

acl_smtp_data = acl_check_spam

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

0
Your rating: Нет

Описание подключения SpamProbe на exim и результат работы

Судя по всему, в марте прошлого года подключил к своему почтовому серверу на Exim спамфильтр SpamProbe.

По виду, все делалось по статье -  SpamProbe - фильтруем спам

Схема работы следующая:

  • Подключен к Exim через system_filter, который по необходимости сам как-то дергает SpamProbe. Хорошо это или плохо не знаю, но SpamProbe не висит демоном, а запускается каждый раз на проверку письма.
  • В Exim настроен роутер, который передает в транспорт по доставке писем пользователям в папочку Spam в случае если:
    • У получателя включен спамфильтр
    • SpamProbe определил письмо как спам
    • адрес отправителя не находится в белом листе
  • Транспорт по доставке спама передат письма dovecot с указанием положить в папку Spam.

Обучение идет с использованием dovecot, протокола imap и Antispam плагина к dovecot по следующей схеме:

0
Your rating: Нет

Результаты работы Clamav на моем сервере.

Очередной шажок по улучшению почтового сервера - вопрос в защите от вирусов.

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

В среднем за сутки с понедельника по пятницу у меня проходит около 1гб почты и около 1,5 т писем.

Clamav был начал работать с 18 сентября сего года.

К нему сразу было прикручена блокировка всех архивов с exe,  scr, pif и т.д. таким изуверским способом:

0
Your rating: Нет

Управление внешними устройствами по USB

Давным давно была мечта - научиться управлять внешними устройствами с компьютера и желательно по сети.

Недавно нашлась клевая статья "Включение чего угодно по HTTP без заморочек c OpenWRT", где с помощью роутера TP-Link TL-MR3020, usb-хаба, запчастей от usb-клавиатуры и нескольких радио-деталюшек, прикручивается управление к разъемам переключетелей на мамке компьтера (reset, power), а так же питанием 220.

Еще найденные клевые штуки, чтобы минимально поморачиваясь сделать управление чем бы то ни было:

По своему движению с TP-LINKом, прикручиваю GSM модем. Сей час получение смс работает, нуно писать скрипты, которые будут на смс реагировать и дергать лампочками правильно.

0
Your rating: Нет

ZFS и iSCSI на FreeBSD

Поигрался немного с iSCSI и добавлением iSCSI устройств в zpool. Все хорошо, все работает, но к сожалению, ровно до тех пор, пока iSCSI не отваливается.

Как только отваливается iSCSI устройство, любой процесс обратившийся к пулу вешается навеки до перезагрузки или до восстановления устройства. Система не может нормально сообщить, что устройство в дауне и zfs ожидает ответа до упора. Как выяснилось позжее, на самом деле это зависает инициатор при потери связи с сервером. И все процессы пытающиеся подключиться к /dev/daX получают хардлок. Вроде, в каких-то случаях получается снять процес iscontrol, но не всегда.

0
Your rating: Нет

Резервное копирование ZFS на меньший диск.

Как обычно, пока что-нить не сдохнет, думать не начнешь.

И по закону подлости, если дохнет, то сразу все.

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

Понятно дело, что что-то с винтами, но нормально выяснить было в лом/не хватало времени/сил/желания.

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

А второй просто смартом ругался:

smartd[2027]: Device: /dev/ada2, 29 Currently unreadable (pending) sectors

Что то же, нифига не радует.

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

Диски шифрованные и плюс файловая система смутной структурой (делал давно, почти по пьяни и структуры в голове не было), т.е. копировать через cp как-то не оно, но при этом хочется, чтобы в случае чего, данные были доступны достаточно шустро.

Итого подцепил диск, объемом чуть больше чем данных, через geli зашифровал, создал zpool и перелил пул на запасной диск.

0
Your rating: Нет

Теневые копии на samba через zfs.

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

Оказалось все довольно просто.

Имеем:

  • Freebsd 8.x и свежее
  • Samba (у меня samba36-3.6.9)
  • ZFS как файловая система под файлохранилище (она позволяет экономить место и очень быстро создает снепшоты)
  • zfsnap (Simple sh script to make zfs rolling snaphosts with cron) - простенький создатель снепшотов для ZFS под FreeBSD

Подготавливаем Samba:

[Public]
   path = /usr/data/samba/public
   public = yes
   writable = yes
   vfs objects = shadow_copy2
   shadow: snapdir = .zfs/snapshot
   shadow: sort = desc
   shadow: format = %Y-%m-%d_%H.%M.%S--1m

Задание cron для создания снепшотов:

0,30    7-20    *    *   *    root    /usr/local/sbin/zfSnap -d -z -R -a 1m zpool/usr/data/samba/public

После этого мы будем иметь возможность откатиться на любую дневную версию файлопомойки с интервалом в 30 минут с 7 утра до 8 вечера. При этом, места будет заниматься ровно столько, сколько необходимо для хранения всех этих изменений.

0
Your rating: Нет

Kernel panic FreeBSD 9.x на VirtualBox 4.2.x

Имеем железку с FreeBSD 9.2 amd 64 с VirtualBox ose 4.2.18. При попытке загрузить виртуальную машину с исошки FreeBSD 9.x. машина падает в Kernel Panic.

После нескольких часов безуспешных попыток, осознал, что сначала создаю виртуальную машину, без определения ее типа, а потом меняю тип на FreeBSD 64. При этом BSD 8.x грузится нормально, а 9-ке плохо.

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

P.S. Опыт такая хитрая штука, которая появляется сразу после того, как она была необходима.
(с)left bor.

0
Your rating: Нет

Копирование системы с ZFS по сети

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

Все оказалось достаточно просто. Загружаем получателя с установочного диска, входим в LiveCD, поднимаем сеть,

подготавливаем диск к загрузке

dd if=/boot/zfsboot of=/dev/ada0 count=1
dd if=/boot/zfsboot of=/dev/ada0 skip=1 seek=1024

создаем пул

zpool create -f zroot ada0

Запускаем netcat на прослушку и передачу данных в zfs

nc -l 8080 | zfs receive -vdF zpool

На рабочей машине делаем снепшот всего пула

zfs snapshot -r zroot@transfer

и запускаем zfs на отправку данных через неткат

zfs send -Rv zroot@transfer | nc new_pc_ip 8080

Некоторое время ждем, и если все хорошо, то перегружаемся.

0
Your rating: Нет

Учусь пользоваться OpenVPN

Начал разбираться, чем и как лучше поднимать шифрованные тунели. Один из вариантов OpenVPN.

На вскидку плюсы и минусы:

Плюсы:

  • по описаниям, надежное шифрование
  • использование одного порта для работы или UDP или TCP, может работать через прокси сервер
  • автоматически поддерживает соединение, т.е. не надо контролировать обрывы связи
  • позволяет управлять роутингом клиентов
  • разные механизмы авторизации: логин/пароль, ключи, сертификаты X.509
  • кросплатформенность
  • открытость
  • возможность поиграться в PKI
  • возможность как P2P (маршрутизируемого) соединения, так и моста (при необходимости прокинуть не IP трафик или прохождения широковещательных пакетов)

Минусы:

  • Отдельный продукт, который необходимо устанавливать, а не работает "искаропки", что требует определенных привилегий
  • Не совсем привычная настройка
  • не получилось повесить один сервер на разные порты (возможно, руки кривые)

По сертификатам X.509

Создаем/получаем корневой доверенный сертификат, с помощью которого, подписываем сертификаты клиентов и серверов.

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

Клиент и сервер определяются по их личным сертификатам, ключам и именам в сертификате (Common Name).

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