Проруби окно в Европу! Vint (vint@crazy.ru) Спецвыпуск Xakep, номер #042, стр. 042-078-3 iptables –I input –i eth1 –p tcp –dport 139 –j drop Отдельно хочется выделить 25 порт(SMTP). Лучше всего, с точки зрения безопасности, разрешить использовать этот сервис только локальным пользователям и модемщикам. То есть почту, используя твой сервер, могут отправлять только эти группы людей. Если ты захочешь разрешить отправку с любого IP, то будь готов к тому, что спамеры перегрузят канал сервера своими wanna-enlarge-you-hren-now :). Решением этой проблемы может служить использование авторизации на SMTP протоколе, но это уже другая история. Кроме вышеназванных, необходимо разрешить порты, на которых висит прокси-сервер, если ты его используешь, аську, если она не через прокси, IRC чат, если не используешь особую маршрутизацию; для сервака с контрой используй политику FTP фильтра, для всех чисто локальных сервисов - принцип FTP фильтра необходим. Все остальные порты необходимо полностью закрыть как для внешних соединений, так и для локальных пользователей, используя политику Drop. Почтовый сервер Сначала скачиваем последнюю версию sendmail’a для linux отсюда: www.sendmail.org или ftp://ftp.sendmail.org. Компилируем и конфигурируем. Для включения поддержки антиспамовых баз добавь эти строки в конфиг файл: FEATURE (blacklist_recipients)dnl FEATURE(dnsbl)dnl FEATURE('dnsbl', 'relays.ordb.org', 'Spam bloked - see http://ordb.org/') FEATURE(dnsbl,'inputs.orbz.org', 'Input Spam bloked - see http://orbz.org/') FEATURE(dnsbl,'bl.spamcop.net', 'Spam blocked - see http://spamcop.net/bl.shtml?$&{client_addr}') FEATURE(dnsbl,'ex.dnsbl.org', 'Spam bloked - see http://www.dnsbl.org/') FEATURE(dnsbl, 'relays.osirusoft.com', 'Spam bloked - see http://relays.osirusoft.com/') После этого выполняем команды: # m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf # cd /usr/ports/mail/procmail # make # makeinstall # cd /etc/mail В результате мы получаем собранный и подготовленный к настройке сендмайл. Настроим его. Для начала отредактируем файл /etc/rc.conf: defaultrouter="181.235.178.xxx" # шлюз hostname="localka.ru" # доменное имя твоего хоста ifconfig_xl0="inet 193.215.78.xxx netmask 255.255.255.0" kern_securelevel_enable="NO" # используем файрвольную безопасность :) nfs_reserved_port_only="NO" sendmail_enable="YES"# Включаю sendmail sendmail_flags="-bd -q30m" sshd_enable="YES" # необходимо для отладки и админинга системы usbd_enable="NO" inetd_enable="YES"#Для pop3 юзаем qpopper, работающий под inetd firewall_enable="YES" # Поддержка межсетевого экрана firewall_type="filename"# firewall_script="/etc/firewall.conf"# правила firewall’a. firewall_quiet="NO"# конфиги файрвола в отдельном файле. После этого настраивай файрвол, как было указано выше. Самое время перезапустить систему и наслаждаться тем фактом, что сервер работает :). Теперь давай взглянем на те вещи, которые способны превратить заурядный сервак в удобный. Первой такой фичей я считаю защиту пользователей от спама. Реализуется это с помощью Real-time Blackhole List (http://maps.vix.com/rbl). Что можно приблизительно истолковать как «надстройка над стандартным сендмайлом, позволяющая, смотря на отправителя и заголовок письма, находить спамерские послания и удалять их сразу» :). Периодически база спамерских E-mail’ов обновляется с главного сервера и эффективность защиты повышается. Минусов у системы гораздо меньше, чем плюсов, поэтому задумайся о доработке сервера. Еще один вариант антиспамовой обороны состоит в том, что создается особая база данных разрешенных почтовых адресов отправителей. И если письмо имеет заголовок From, которого нет в этой базе, то письмо ложится на сервере в отдельную папку и получателю отправляется запрос, что нужно сделать с письмом, какое правило создать для него. Конфигурируется такая защита в файле /etc/mail/access. Например, так: |