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-у в часности.

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

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