Возможно вы искали: 'Губка Боб Квадратные Ш...'

May 15 2025 19:15:41
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Настройка связки PF + spamd (spam firewall pf spamd)

Настройка связки PF + spamd (spam firewall pf spamd)

Ключевые слова: spam, firewall, pf, spamd, (найти похожие документы)

From: Z][ANSWER
Date: Sun, 20 Jan 2007 17:02:14 +0000 (UTC)
Subject: Настройка связки PF + spamd

Оригинал: http://myforum.net.ua/index.php?showtopic=5843

Для чего была написана эта статья - документации по установке и
настройке связки PF+spamd в интернете предостаточно, но при настройке
я столкнулся с некоторыми трудностями ввиду того, что детально процесс
не описан нигде. После парсинга огромного количества документации, всё
же была собрана нужная информация и соединена в единое целое - эта
статья описывает детальную пошаговую настройку с 100% результатом
успеха. В данный момент с помощью такой схемы уже трудится ряд боевых
серверов, которыми управляю я.

Что нам понадобится для того чтобы создать данную защиту - это сам
фаервол PF и спам демон spamd - оба они портированы из
OpenBSD. Будем считать, что вы уже безболезненно перешли с
FreeBSD=4.x на FreeBSD=5.x>6.x, так как поддержка PF в
четвёртой ветке весьма спорная. Поэтому описывать установку PF с
портов я не буду.

Для включения PF вам нужно будет указать следующие опции в ядре:

# Для включения PF добавляем данные опции в ядро:
# The pf packet filter consists of three devices:
# The `pf' device provides /dev/pf and the firewall code itself.
# The `pflog' device provides the pflog0 interface which logs packets.
# The `pfsync' device provides the pfsync0 interface used for
# synchronization of firewall state tables (over the net).
device pf # PF OpenBSD packet-filter firewall
device pflog # logging support interface for PF
device pfsync # Synchronization interface for PF
device carp # Common Address Redundancy Protocol
# Для включения поддержки шейпера через ALTQ добавим:
# altq(9). Enable the base part of the hooks with the ALTQ option.
# Individual disciplines must be built into the base system and can not be
# loaded as modules at this point. In order to build a SMP kernel you must
# also have the ALTQ_NOPCC option.
options ALTQ
options ALTQ_CBQ # Class Bases Queueing
options ALTQ_RED # Random Early Detection
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler
options ALTQ_CDNR # Traffic conditioner
options ALTQ_PRIQ # Priority Queueing
options ALTQ_NOPCC # Required for SMP build


Теперь когда PF поддерживается ядром, для его включения нам будет
достаточно добавить следующие строки в rc.conf:

pf_enable="YES" # Set to YES to enable packet filter (pf)
pf_rules="/etc/pf.rules" # rules definition file for pf
pf_program="/sbin/pfctl" # where the pfctl program lives
pf_flags="" # additional flags for pfctl
pflog_enable="YES" # Set to YES to enable packet filter logging
pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
pflog_program="/sbin/pflogd" # where the pflogd program lives
pflog_flags="" # additional flags for pflogd


Таким образом мы получили работающий полнофункциоанальный фаервол с
возможностью шейпинга трафика через ALTQ и поддержкой протокола
CARP

Теперь когда PF у нас установлен, проведём установку spamd -
найти его можно в портах: /usr/ports/mail/spamd

Для компиляции и установки порта проведём ряд нехитрых команд:

localhost# cd /usr/ports/mail/spamd
localhost# make
localhost# make install
localhost# make clean


Теперь когда мы скомпилировали и установили spamd, создадим
устройство /dev/fd, необходимое для записи демоном данных в таблицы
PF, для это выполним следующую команду:

mount -t fdescfs fdescfs /dev/fd


И добавим в fstab вот эту строку, для автоматического монтирования
устройства при загрузке:

fdescfs /dev/fd fdescfs rw 0 0


Самое время посмотреть конфиг нашего демона, он находится в:
/usr/local/etc/spamd.conf, проведём необходимые изменения в нём, до
нужного нам уровня фильтрации и включения всех необходимых опций:

#
# $FreeBSD: /usr/local/etc/spamd.conf,v 1.1 2006/01/26 13:54:48 Z][ANSWER Exp $
# $OpenBSD: spamd.conf,v 1.12 2005/01/16 17:16:44 deraadt Exp $
#
# spamd config file, read by spamd-setup(8) for spamd(8)
#
# See spamd.conf(5)
#
# Configures whitelists and blacklists for spamd
#
# Strings follow getcap(3) convention escapes, other than you
# can have a bare colon (:) inside a quoted string and it
# will deal with it. See spamd-setup(8) for more details.
#
# "all" must be here, and defines the order in which lists are applied
# whitelists apply to the previous blacklist. more than one whitelist
# may be applied to each blacklist
#
# As of November 2004, a place to search for black lists is
# http://spamlinks.net/filter-bl.htm
#
# Some of the URLs below point to www.openbsd.org locations. Those
# files are likely to be mirrored to other OpenBSD www mirrors located
# around the world. Hence, it is possible to edit this file and rewrite
# www.openbsd.org with, for instance, to www.de.openbsd.org
all:
:spamhaus:spews1:spews2:china:korea:whitelist:blacklist:
# Mirrored from http://spfilter.openrbl.org/data/sbl/SBL.cidr.bz2
spamhaus:
:black:
:msg="SPAM. Your address %A is in the Spamhaus Block Listn
See http://www.spamhaus.org/sbl and
http://www.abuse.net/sbl.phtml?IP=%A for more details":
:method=http:
:file=www.openbsd.org/spamd/SBL.cidr.gz:
# Mirrored from http://www.spews.org/spews_list_level1.txt
spews1:
:black:
:msg="SPAM. Your address %A is in the spews level 1 databasen
See http://www.spews.org/ask.cgi?x=%A for more details":
:method=http:
:file=www.openbsd.org/spamd/spews_list_level1.txt.gz:
# Mirrored from http://www.spews.org/spews_list_level2.txt
spews2:
:black:
:msg="SPAM. Your address %A is in the spews level 2 databasen
See http://www.spews.org/ask.cgi?x=%A for more details":
:method=http:
:file=www.openbsd.org/spamd/spews_list_level2.txt.gz:
# Mirrored from http://www.okean.com/chinacidr.txt
china:
:black:
:msg="SPAM. Your address %A appears to be from Chinan
See http://www.okean.com/asianspamblocks.html for more details":
:method=http:
:file=www.openbsd.org/spamd/chinacidr.txt.gz:
# Mirrored from http://www.okean.com/koreacidr.txt
korea:
:black:
:msg="SPAM. Your address %A appears to be from Korean
See http://www.okean.com/asianspamblocks.html for more details":
:method=http:
:file=www.openbsd.org/spamd/koreacidr.txt.gz:
# Whitelists are done like this, and must be added to "all" after each
# blacklist from which you want the addresses in the whitelist removed.
#
whitelist:
:white:
:file=/var/spool/spamd/whitelist.txt
blacklist:
:black:
:msg="SPAM! Go fsck anyone else!":
:file=/var/spool/spamd/blacklist.txt
relaydb-black:
:black:
:msg="SPAM. Your address %A is in my relaydb list.":
:method=exec:
:file=relaydb -4lb:
relaydb-white:
:white:
:method=exec:
:file=relaydb -4lw:
blacklist:
:black:
:msg="SPAM! Go fsck anyone else!":
:file=/var/spool/spamd/blacklist.txt


Теперь, когда мы отредактировали конфиг и включили все необходимые
опции, нужно создать необходимые нам файлы, а это:
/var/spool/spamd/whitelist.txt и /var/spool/spamd/blacklist.txt, а
также файл, в котором будут храниться статические IP адреса нашей сети
/var/spool/spamd/whitelist, они не будут проходить проверки на спам.

Для это выполняем следующие команды:

localhost# touch /var/spool/spamd/whitelist.txt
localhost# touch /var/spool/spamd/blacklist.txt
localhost# touch /var/spool/spamd/whitelist


В наш whitelist.txt мы добавим следующую строку:

all:
:spamhaus:spews1:spews2:china:korea:whitelist:blacklist:


А в наш whitelist мы напишем наши IP адреса которые не должны
проходить проверку через spamd:

192.168.1.2/24


Всё, конфиг демона spamd, нам уже больше не понадобится, поэтому
добавим следующие строки в наш rc.conf, для запуска демона:

pfspamd_enable="YES" # Set to Yes to enable spamd
pfspamd_flags="-v -g -G 5:4:864" # Extra flags passed to start command


Теперь включим в наш боевой комплекс ещё одну новую интересную
способность - это spamlogd демон позволяющий анализировать логи
pflogd, для его запуска мы напишем небольшой rc скриптик:

#!/bin/sh
#
# $FreeBSD: usr/local/etc/rc.d/pfspamlogd.sh.in,v 1.1 2006/05/24 18:44:28 Z][ANSWER Exp $
#
# PROVIDE: pfspamlogd
# REQUIRE: NETWORKING
# BEFORE: mail
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable spamd:
# pfspamlogd_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable spamd
# pfspamlogd_flags (str): Set to "" by default.
# Extra flags passed to start command.
. /etc/rc.subr
name="pfspamlogd"
rcvar=`set_rcvar`
command="/usr/local/libexec/spamlogd"
[ -z "$pfspamlogd_enable" ] && pfspamlogd_enable="NO"
[ -z "$pfspamlogd_flags" ] && pfspamlogd_flags=""
load_rc_config $name
run_rc_command "$1"


И добавим следующие строки в наш rc.conf, для запуска демона:

pfspamlogd_enable="YES" # Set to Yes to enable spamlogd
pfspamlogd_flags="" # Extra flags passed to start command


Осталось последнее, написать необходимые правила для фаервола, для
этого - отредактируем конфиг нашего PF, он находится по адресу:
/etc/pf.rules

Сначала мы создадим необходимые таблицы, в которые будут записываться
демоном нежелательные IP адреса, для в этого в секцию Tables добавим
вот эти строки:

# Tables for spamd
table <spamd> persist
table <spamd-white> persist
table <spamd-whitelist> persist file "/var/spool/spamd/whitelist"


В секцию NAT/RDR добавим следующие правила для редиректа почтового
трафика на наш демон:

# Redirect all connections to our smtp to spamd
no rdr on lo0 from any to any
rdr pass inet proto { tcp } from <spamd-whitelist> to $ins_ip port { smtp } -> $ins_ip port smtp
rdr pass inet proto { tcp } from <spamd> to port { smtp } -> lo0 port spamd
rdr pass inet proto { tcp } from !<spamd-white> to port { smtp } -> lo0 port spamd


А в секцию Packet Filtering добавим вот эти правила, разрешающие
конект к нашему почтовому демону:

# Allow incoming email
pass in log on $out_if inet proto { tcp } from any to $out_if port { smtp pop3 } keep state
pass in log on $ins_if inet proto { tcp } from any to $ins_ip port { smtp pop3 } keep state


Всё, остаётся теперь только выполнить запуск PF и spamd:

localhost# pfctl -e
localhost# pfctl -f /etc/pf.rules
localhost# /usr/local/etc/rc.d/pfspamd.sh start
localhost# /usr/local/etc/rc.d/pfspamlogd.sh start
localhost# spamd-setup -d


Мы можем также добавить в наш crontab запись, чтобы таблицы
пополнялись по расписанию автоматически через spamd-setup:

30 * * * * root /usr/local/sbin/spamd-setup


В случае, если мы хотим, чтобы логи велись спомощью syslogd, то
добавим вот эти строчки в /etc/syslogd.conf и не забудем создать
одноимённый файл в /var/log/:

!spamd
daemon.err;daemon.warn;daemon.info /var/log/spamd.log

localhost# touch /var/log/spamd.log


И для ротации логов воспользуемся системой newsyslog, для этого
добавляем следующее в /etc/newsyslog.conf:

/var/log/spamd.log 664 7 100 * J


Ну вот и всё теперь можем лишь наслаждаться тем, как работает наш спам
демон, вот вывод его работы с помощью простой команды потокового
просмотра файлов в реальном времени tail:

localhost# tail -F /var/log/spamd.log
Jan 28 01:00:02 ns spamd[98534]: 64.174.136.165: connected (6/5)
Jan 28 01:00:09 ns spamd[98534]: (GREY) 64.174.136.165:
<barnes@connellco.com.> -> <tolyk@tolpa.net.>
Jan 28 01:00:09 ns spamd[98534]: 64.174.136.165: disconnected after 7
seconds.
Jan 28 01:00:13 ns spamd[98534]: 81.176.67.249: disconnected after 395
seconds. lists: spews1 spews2
Jan 28 01:00:13 ns spamd[98534]: (BLACK) 81.176.67.249:
<SoftoRooMTeaM@SoftoRooM.NeT.> -> <college@tolpa.net.>
Jan 28 01:00:21 ns spamd[98534]: (BLACK) 81.222.129.37:
<gluck@mail.subscribe.ru.> -> <varenik@tolpa.net.>
Jan 28 01:00:27 ns spamd[98534]: 81.176.67.249: disconnected after 395
seconds. lists: spews1 spews2
Jan 28 01:00:28 ns spamd[98534]: 81.176.67.249: connected (4/4),
lists: spews1 spews2
Jan 28 01:01:04 ns spamd[98534]: 195.5.21.129: connected (5/5), lists:
spews2
Jan 28 01:01:44 ns spamd[98534]: 206.161.124.227: connected (6/6),
lists: spews1 spews2
Jan 28 01:01:56 ns spamd[98534]: 81.176.67.249: To: college@tolpa.net
Jan 28 01:01:56 ns spamd[98534]: 81.176.67.249: Subject: Уведомление о
новых темах на подписанный форум ( From Твой софтовый форум! )
Jan 28 01:01:56 ns spamd[98534]: 81.176.67.249: From: "Твой софтовый
форум!" <SoftoRooMTeaM@SoftoRooM.NeT.>
Jan 28 01:02:05 ns spamd[98534]: 81.222.129.37: From: PEDROSOFT
<alex@kommuna.net.ua.>
Jan 28 01:02:05 ns spamd[98534]: 81.222.129.37: To:
"comp.soft.linux.discuss" <varenik@tolpa.net.> (6983212)
Jan 28 01:02:05 ns spamd[98534]: 81.222.129.37: Subject:
=?koi8-r?Q?=F5=D3=D4=C1=CE=CF=D7=CB=C1=20=D3=D4=C9=CC=C5=CA=20=D7=20?=
Jan 28 01:02:23 ns spamd[98534]: 81.30.160.9: connected (7/6)
Jan 28 01:02:23 ns spamd[98534]: (GREY) 81.30.160.9: <> ->
<pm@all.net.ua.>
Jan 28 01:02:23 ns spamd[98534]: 81.30.160.9: disconnected after 0
seconds.
Jan 28 01:02:31 ns spamd[98534]: 81.246.21.106: connected (7/6)
Jan 28 01:02:31 ns spamd[98534]: (GREY) 81.246.21.106:
<26amos@aastrom.com.> -> <topp@tolpa.net.>
Jan 28 01:02:31 ns spamd[98534]: 81.246.21.106: disconnected after 0
seconds.
Jan 28 01:02:41 ns spamd[98534]: 81.222.64.173: connected (7/7),
lists: spews1 spews2
Jan 28 01:03:14 ns spamd[98534]: 81.176.67.249: disconnected after 398
seconds. lists: spews1 spews2
Jan 28 01:03:15 ns spamd[98534]: 81.222.64.177: connected (7/7),
lists: spews1 spews2
Jan 28 01:03:22 ns spamd[98534]: 81.222.129.37: disconnected after 398
seconds. lists: spews1 spews2
Jan 28 01:03:38 ns spamd[98534]: (BLACK) 69.60.100.35:
<Temple.pxpp@dynamiccorporations.com.> -> <georg_gor@tolpa.net.>


В давершение всего сказано, есть прекрасная командачка для управления
spamd базой GREY LIST - это spamdb, вот вывод её работы на экран:

localhost# spamdb
GREY|12.129.219.97|<Eva.Bertalan@lionbridge.com.>|<alex_lysenko@all.net.ua.>|11484
86568|1148500968|1148500968|1|0
GREY|148.221.124.62|<everitt@hsuchi.net.>|<alex@tolpa.net.>|1148484466|1
148498866|
1148498866|1|0
GREY|151.49.99.22|<beta@otakumail.com.>|<alex@tolpa.net.>|1148485328|114
8499728|11
48499728|1|0
WHITE|160.79.37.121|||1148484080|1148484500|1151594950|3|0
WHITE|193.110.72.1|||1148484089|1148485948|1151596391|2|0
GREY|193.252.22.26|<ztrgek@rsc-aachen.de.>|<sven@tolpa.net.>|1148486045|
1148500445
|1148500445|1|0
GREY|193.252.23.69|<stella.santos@juno.com.>|<yavi@all.net.ua.>|11484854
53|1148499
853|1148499853|1|0
WHITE|194.67.45.222|||1148484457|1148485231|1151595671|3|0
WHITE|195.184.209.238|||1148484213|1148484809|1151595250|2|0
GREY|195.184.218.30|<diaf@fnra.com.>|<ne9@all.net.ua.>|1148485122|114849
9522|11484
99522|2|0


Вот собственно и всё, если что-то не понятно или вы считаете, что
какой-то момент освещён плохо или вообще у вас есть какие-то замечания
и исправления, пишите, пожалуйста. Буду рад услышать их и исправить
недочёты в данной статье.

Особая благодарность и мой респект уважаемым YO!zha & Uta, за помощь в
создание этой статьи..

With Best Regards,
SysAdmin ISP "Tolpa.neT" aka Z][ANSWER
760 Прочтений •  [Настройка связки PF + spamd (spam firewall pf spamd)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Настройка связки PF + spamd (spam f... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка