2005-10-12

Виртуальные домены в Exim + Courier-IMAP + MySQL

Наткнулся тут на данную статью, понравилось.
Правда мне вроде-бы как ни к чему, можно конечно заменить sql-запросы на LDAP...

2005-09-19

Exim4 и все все все (проблема с clamav)

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

Буду посмотреть.

2005-09-16

Exim4 и все все все (настройка acl)

Вот тут столкнулся с проблемой - для некоторых e-mail адресов хотелось-бы исключить какую-либо фильтрацию почты, не проверять на вирусы и т.д.
После недолгого чтения документации проблема решилась достаточно просто:
в acl_check_rcpt было добавлено:

accept
recipients = ${if exists{CONFDIR/local_recipients_whitelist} {CONFDIR/local_recipients_whitelist} {}}
set acl_m4 = pass

А в acl_whitelist_local_deny добавить:

accept
condition = ${if eq {$acl_m4}{pass} {yes}{no}}

Теперь можно добавлять e-mail адреса в файл /etc/exim4/local_recipients_whitelist для которых не будут осуществлятся ни какие проверки.

P.S.
Да я в предидущих постах писл про CONFDIR/exiscan_data_acl.conf, так после некоторого переода эксплуатации системы он стал выглядеть:

deny message = This message for $recipients scored $spam_score spam points
spam = Debian-exim:true
condition = ${if >{$spam_score_int} {80} {1}{0} }
!acl = acl_whitelist_local_deny

warn message = X-Spam-Score: $spam_score ($spam_bar)
spam = Debian-exim:true
!acl = acl_whitelist_local_deny

warn message = X-Spam-Report: $spam_report
spam = Debian-exim:true
!acl = acl_whitelist_local_deny
# condition = ${if >{$spam_score_int} {10} {1}{0} }

deny message = Found MIME error ($demime_reason)
demime = *
!acl = acl_whitelist_local_deny
condition = ${if >{$demime_errorlevel} {2} {1}{0} }

deny message = Found blacklisted file attachment (.$found_extension)
demime = vbs:com:bat:pif:scr:prf:lnk
!acl = acl_whitelist_local_deny

deny message = This message contain malware/virus ($malware_name)
malware = *
demime = *
!acl = acl_whitelist_local_deny

Сайты про Debian

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

2005-08-18

devfs vs. udev

Вот тут решил попробывать udev.
Перебирался я на него с devfs. Возникли некоторые затруднения - после обновления udev было сказано что он работает с ядром 2.6.12 и выше, а у меня 2.6.11, так что после перезагрузки возникли некоторые проблемы - пришлось разбиратся, что слазу после отпуска напряжно.
Сейчас сижу компилю 2.6.12 - посмотрим что получится. А то первая попытка не удалась - что-то не совсем стабильно работало в коде xfs, как следствие файловые системы не монтировались

2005-08-17

Я вернулся из отпуска

Ну вот, я наконец вернулся из отпуска.
Буду выкладывать свои наблюдения и замечаения.

P.S. Отдохнул хорошо.

2005-07-13

Exim4 мероприятия по антиспаму (spamassassin -r)

Достаточно полезно использовать e-mail адреса:
  • info
  • mail
  • sale
Как ловушки для spam-сообщений. Если конечно вы их не используете для каких-либо других целей. Просто прописываем в /etc/aliases

info: "|/usr/bin/spamassassin -r"
mail: "|/usr/bin/spamassassin -r"
sale: "|/usr/bin/spamassassin -r"

И почта попадающая на эти адреса будет автоматически считатся спамом, и baes-овские фильтры тренированы на свежайший спам.

2005-07-12

OpenSSH - решение (PermitEmptyPassword)

После долгих и мучительных разборок с исходными текстами самого SSH, pam и глубокой медитацией над ними, была предпринята попытка решить эту проблему с другой стороны - построчным сравниванием конфигов на работающей машине и на неработающей.

Проблема оказалась в одной строчке -

PermitEmptyPassword yes
ее нужно было заменить на

PermitEmptyPassword no
И вся проблема рпзрешилась самим собой. После долгих (несколько недель) мучений.

2005-07-08

OpenSSH - mailing-list обсуждение...

Вот, отправил письмо по поводу OpenSSH и его проблем, но так пока ничего полезного не ответили - буду думать дальше.

Пытался разобратся с PAM и SSH - похоже что проблема в самом SSH - там есть опция UsePAM - собственно видимо это где-то там все мои неприятности.

Буду думать.

2005-07-07

OpenSSH - проблемы...

День добрый по-прежнему стоит проблема, которую я описывал в bug-reporte http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=315040
В ответ тишина, может-быть я один такой ?

Подписался на список рассылки debian-russian, Попробую задать там вопрос, может у кого возникали такие или аналогичные проблемы.

2005-07-06

Exim4 и все все все (настройка dcc-client)

Как таковой сложной настройки dcc-client не потребовалось, пришлось запретить использовать IPv6, путем добавлением в конфиг /etc/dcc/map.txt

# turn off ipv6
# http://www.rhyolite.com/pipermail/dcc/2005/002631.html
IPv6 off
После чего сделать: cdcc "load map.txt"

Exim4 и все все все (настройка spamassassin)

Почитав инструкцию по spamassassin, я понял что мне кроме него потребуется два вспомогательных пекета:
  • dcc-client
  • razor
  • libmail-spf-query-perl

Дальше я начал ковырять конфиг spamassassin, мне сильно помогла статья "Система фильтрации и защиты от спама
(OpenBSD + Postfix + SpamAssassin + Amavisd-new + DCC + Razor) + ClamAV" расположенная по адресу: http://antispam.b2r.ru/antispam_translate.html
Из того что у меня получилось применимо к Debian GNU/Linux + exim + spamassasin + dcc + razor
/etc/spamassassin/local.cf:

required_score 4.5
use_bayes 1
bayes_path /var/spool/exim4/.spamassassin/
auto_learn 1
use_dcc 1
dcc_add_header 1
use_razor2 1
dns_available yes
ok_languages ru en
ok_locales en ru
add_header spam Flag _YESNOCAPS_
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ version=_VERSION_
add_header all Level _STARS(*)_
add_header all Checker-Version SpamAssassin _VERSION_ (_SUBVERSION_) on _HOSTNAME_
## Optional Score Increases
score BAYES_99 3.300
score BAYES_90 2.500
score BAYES_80 2.000
score DCC_CHECK 3.000
score RAZOR2_CHECK 2.000
score SUBJ_FULL_OF_8BITS 0.000
# score CHARSET_FARAWAY 0.000
# score CHARSET_FARAWAY_BODY 0.000
# score CHARSET_FARAWAY_HEADERS 0.000
score HEADER_8BITS 0.000
score MIME_EXCESSIVE_QP 0.000
/etc/default/spamassassin:

# /etc/default/spamassassin
# Duncan Findlay

# WARNING: please read README.spamd before using.
# There may be security risks.

# Change to one to enable spamd
ENABLED=1

# Options
# See man spamd for possible options. The -d option is automatically added.

# NOTE: version 3.0.x has switched to a "preforking" model, so you
# need to make sure --max-children is not set to anything higher than
# 5, unless you know what you're doing.

OPTIONS="--create-prefs --max-children 3 --helper-home-dir=/var/spool/exim4 -u Debian-exim -x"

# Pid file
# Where should spamd write its PID to file? If you use the -u or
# --username option above, this needs to be writable by that user.
# Otherwise, the init script will not be able to shut spamd down.
PIDFILE="/var/run/spamd.pid"

# Set nice level of spamd
#NICE="--nicelevel 15"
Из тонкостей - запуск spamd из-под того-же пользователя что и exim, в противном случае есть какие-то проблема с доступом к spool файлам.

Exim4 и все все все (настройка clamd)

Настройка clamd достаточно проста, так как нужно всего-лишь заставить его использовать TCP вместо UNIX сокетов. Результирующий конфиг помещен ниже.

Automatically Generated by clamav-base postinst
#To reconfigure clamd run #dpkg-reconfigure clamav-base
#Please read /usr/share/doc/clamav-base/README.Debian.gz for details
#LocalSocket /var/run/clamav/clamd.ctl
TCPAddr 127.0.0.1
TCPSocket 3310
FixStaleSocket
#User root
User clamav
AllowSupplementaryGroups
ScanMail
ScanArchive
ArchiveMaxRecursion 5
ArchiveMaxFiles 1000
ArchiveMaxFileSize 10M
ArchiveMaxCompressionRatio 250
#StreamSaveToDisk
#StreamMaxLength 10M
ReadTimeout 180
MaxThreads 10
MaxConnectionQueueLength 15
LogFile /var/log/clamav/clamav.log
LogTime
LogFileMaxSize 0
PidFile /var/run/clamav/clamd.pid
DatabaseDirectory /var/lib/clamav
SelfCheck 3600
ScanOLE2
ScanPE
DetectBrokenExecutables
ScanHTML
ArchiveBlockMax

2005-07-05

Exim4 и все все все (настройка exim)

Я пытаюсь настроить MTA Exim4 из комплекта поставки Debian (на примере unstable) с максимально защищенной от спама.
Из всего того, что есть в дистрибутиве я использовал следующие пакеты:

  1. exim4-daemon-heavy
  2. spamassassin
  3. clamav-daemon

На этапе инсталяции я ответил что мне нужен один большой файл, а не много маленьких разбросанных по нескольким директориям. И после этого я начал настраивать.
Настройка DNSBL
В случае с конфигурацией по-умолчанию этот пункт вроде бы как и не очень полезен, но его можно использовать на этапе проверки на этапе открития соединения
П достигается прописываением в конфиг /etc/exim4/exim4.conf.template . В строке CHECK_RCPT_IP_DNSBLS я прописал:

  • relays.ordb.org :\
  • work.drbl.caravan.ru :\
  • dul.ru :\
  • sbl-xbl.spamhaus.org :\
  • list.dsbl.org :\
  • bl.spamcop.net :\
  • combined.njabl.org :\
  • dnsbl.sorbs.org

Эта строка находится в конфиге перед строкой

# The gecos field in /etc/passwd holds not only the name. see passwd(5).
Если есть желание отсекать соединения к вашему SMTP серверу по IP адресам находящихся в вышеуказанных DNSBL (RBL), то нужно добавить в конфиг (глобальная секция):

.ifndef MAIN_ACL_SMTP_CONNECT
MAIN_ACL_SMTP_CONNECT = acl_smtp_connect
.endif
acl_smtp_connect = MAIN_ACL_SMTP_CONNECT
и соответственно в секцию acl-ей добавить:

acl_smtp_connect:
# Check against classic DNS "black" lists (DNSBLs) which list
# sender IP addresses
.ifdef CHECK_RCPT_IP_DNSBLS
deny
message = $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)
log_message = $sender_host_address is listed at $dnslist_domain ($dnslist_value: $dnslist_text)
dnslists = CHECK_RCPT_IP_DNSBLS
.endif
# all others
accept
Но использование DNSBL на этапе открытия соединений - достаточно экстремально, так как в DNSBL может попать какой-нибудь достаточно большой провайдер, например mail.ru или РосТелеком (а такие случаи уже были)
Так что лучше всего оставить решать это с помощью тех или иных коэфициентов spamassassin-а.

Так как exim4-daemon-heavy собран с поддержкой eximscan, то создаем файл:

deny message = This message scored $spam_score spam points
spam = Debian-exim:true
condition = ${if >{$spam_score_int} {45} {1}{0} }
warn message = X-Spam-Score: $spam_score ($spam_bar)
spam = Debian-exim:true
warn message = X-Spam-Report: $spam_report
spam = Debian-exim:true
deny message = Found MIME error ($demime_reason)
demime = *
condition = ${if >{$demime_errorlevel} {2} {1}{0} }
deny message = Found blacklisted file attachment (.$found_extension)
demime = vbs:com:bat:pif:scr:prf:lnk
deny message = This message contain malware/virus ($malware_name)
malware = *
demime = *
Потом в конфиг добавляем:

CHECK_DATA_LOCAL_ACL_FILE=CONFDIR/exiscan_data_acl.conf
#
# Add exiscan option
#
.ifdef CHECK_DATA_LOCAL_ACL_FILE
spamd_address = 127.0.0.1 783
# /var/run/spamd_socket
av_scanner = clamd:127.0.0.1 3310
# clamd:/var/run/clamav/clamd.ctl
.endif
В комментариях приведены пример того, что интеграция между spamassasin и clamd возможна и через Unix-socket
Касаемо clamd это настройка по-умолчанию, которую я изменил (см настройка clamd)

В принципе это все. exim настроен, дальше дело за всем остальным spamassasin и clamd

Blog, это типа модно

Вот, решил открыть личный Blog, это типа модно, полезно и все такое.

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

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

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