Вход на сайт
Навигация
- Cisco
- FreeBSD
- Colorize - подсвечивание ключевых слов
- Munin — мониторинг сервера на основе FreeBSD
- Postfix + Postgrey. Небольшой пример того, как можно бороться со спамом.
- Roudcube. Установка и настройка.
- VPN между FreeBSD и Windows. Установка mpd4.
- Блокируем TeamViewer
- Выполнение mount из-под прав обычного пользователя
- Добавление базы и пользователя в MySQL
- Как узнать серийный номер винчестера в FreeBSD
- Модули Apache22 (Apache22 modules)
- Мониторинг винтчестеров (HDD/жестких дисков) с помощью SMART (smartmontools)
- Мониторинг загрузки канала (MRTG)
- Мониторинг загрузки сетевых интерфейсов в реальном времени
- Мониторинг нагрузки процессора (SNMP MRTG CPU Monitoring)
- Настройка DNS сервера named
- Настройка сервера времени NTP
- Настройка фаервола (firewall ipfw) на ОС FreeBSD
- Обновление FreeBSD. Краткий мануал.
- Обновление портов (CVSup)
- Обновление портов. Portupgrade.
- Организация VPN между 3-мя офисами
- Повышаем безопасность FreeBSD
- Проблема после обновление SpamAssassin
- Работа с .htaccess и .htpasswd
- Скрипты
- Тестирование MySQL
- Управление дуплексным режимом и скоростью подключения к порту.
- Установка MySQL сервера
- Установка связки Apache22+php5+mysql5
- Шейпер на ipfw
- Подсказки по редактированию
Настройка фаервола (firewall ipfw) на ОС FreeBSD
Zmej ср, 28/12/2011 - 16:27
Самое вкусное – настройка фаервола на ОС FreeBSD на базе родного ipfw. Приступим. Для начала смотрим наше ядро на наличиее следующих строк :
18:51 user@ns3 [/etc]#cat /usr/src/sys/i386/conf/mailsrv | grep IPFIREWALLoptions IPFIREWALLoptions IPFIREWALL_VERBOSEoptions IPFIREWALL_VERBOSE_LIMIT=100options IPFIREWALL_DEFAULT_TO_ACCEPToptions IPFIREWALL_FORWARD18:51 user@ns3 [/etc]#
Если Вы такого не наблюдаете, тогда Вам необходимо пересобрать ядро, используя в качестве подсказки файлик LINT. Для его создания, Вам необходимо перейти в директорию /usr/src/sys/i386/conf (у Вас может быть другая – все зависит от того, какую платформу Вы используете, у меня в данном случае i386), и выполнить команду make LINT.
Если же у Вас есть в наличии такие строки, тогда Вы можете проверить запущен ли у Вас фаервол:
18:57 user@ns3 [/etc]#ipfw show65535 651516 311197005 allow ip from any to any18:57 user@ns3 [/etc]#
У меня запущен, и, как мы видим, по правилам этого фаервола, у меня все открыто. Чтож, будет устранять эту погрешность. Для начала ползем в /etc/rc.conf и добавляет следующие строки:
firewall_enable=”YES”firewall_script=”/etc/firewall”
Это говорит системе о том, что по умолчанию фаервол запускать при загрезке системы, и использовать файл /etc/firewall в качестве списка правил. Создаем файл:
DING! user@ns3 [/etc]#touch /etc/firewall19:00 user@ns3 [/etc]#chmod 744 /etc/firewall
И проверяем:
19:01 user@ns3 [/etc]#ll /etc/ | grep fire-rwxr--r-- 1 root wheel 0 Nov 20 19:00 firewall
Видим, что файл создан, есть в системе и он исполняемый. Пришло время создать правила, по которым будем работать дальше.
#!/bin/shfwcmd=”/sbin/ipfw -q” – указываем, где находится сама программа${fwcmd} -f flush – делаем очистку правил при старте${fwcmd} add check-state – проверяет пакет по динамическому набору правил; если найдено соответствие, дальнейший поиск прекращается, иначе – переходим к следующему правилу.#Setup loopback${fwcmd} add allow all from any to any via lo0 – разрешаем трафик по внутреннему интерфейсу lo0${fwcmd} add deny all from any to 127.0.0.0/8 – запрещаем доступ с интерфейса lo0 и на него${fwcmd} add deny all from 127.0.0.0/8 to any#Deny Broadcasts – запрещаем широковещательные запросы${fwcmd} add deny log icmp from any to 255.255.255.25#Allow ports rules – разрешаем ранее разрешенные соединения${fwcmd} add allow log tcp from any to any established#DNS – и перечень тех или иных разрешщенных или запрещенных служб${fwcmd} add allow log tcp from any to any 53${fwcmd} add allow log udp from any to any 53#NTPD${fwcmd} add allow log ip from any to any 123#SSH${fwcmd} add pass log ip from any to any 22 setup#Apache${fwcmd} add pass log ip from any to any 80 setup#FTP${fwcmd} add pass log ip from any to any 20,21 setup#Cvsup${fwcmd} add allow log tcp from any to any 5999 setup#Allowed ports${fwcmd} add allow log tcp from any to any 1025-1100,49152-65535#MySQL${fwcmd} add deny log ip from any to any 3306 setup#Deny${fwcmd} add deny log ip from any to any
В кратце и все. Тут не расматривал вопрос о включении ната (ибо он мне в этом случае просто не нужен был), не расматривал вопрос о пайпах (pipe). Простой обычный фаервол для почтового сервера.
Пару идей. В случае, если Вам необходимо заблочить большое количество IP адресов, к примеру, спамеров, можно сделать следующим образом.
${fwcmd} table 2 add 111.222.333.444${fwcmd} table 2 add 555.666.777.888${fwcmd} add deny log ip from any to 'table(2)'
Если у Вас работает веб сервер, то тогда следующее правило Вам просто необходимо:
${fwcmd} add allow log ip from any to any 80 setup limit src-addr 60
Данное правило ограничит поличество подключений с одного IP адреса. IPFW умеет работать с mac-адресами.
ipfw add 1 deny all from any to any MAC any 1f:45:d4:10:2c:01
при этом необходимо включить некий параметр ядра
sysctl net.link.ether.ipfw=1
- Войдите чтобы оставить комментарии
Новые пользователи
- Zmej
Сейчас на сайте
Пользователей онлайн: 0.

Последние комментарии