Возможно вы искали: 'Soko-ban: Revenge'

May 15 2025 19:23:01
  • Как сделать 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
Главная » Статьи » Разное » Использование ipfilter в FreeBSD (ipfilter firewall bsd freebsd nat forward qos ipf)

Использование ipfilter в FreeBSD (ipfilter firewall bsd freebsd nat forward qos ipf)

Ключевые слова: ipfilter, firewall, bsd, freebsd, nat, forward, qos, ipf, (найти похожие документы)

From: Сгибнев Михаил <http://dreamcatcher.ru>
Newsgroups: email
Date: Mon, 23 Feb 2004 14:31:37 +0000 (UTC)
Subject: Использование ipfilter в FreeBSD

Оригинал: http://www.dreamcatcher.ru/docs/ipf3.html


Использование ipfilter в FreeBSD

Автор: Hoang Q. Tran
Перевод статьи: Сгибнев Михаил

Построить роутер для частной сети очень просто, все сводится к решению
нескольких задач:
* Отключаем все
* Настраиваем сетевые интерфейсы
* Оптимизируем ядро
* Включаем форвардинг пакетов, dhcp, firewall и nat
* Конфигурируем клиентов nat
* Настройка ipfilter
* Тестирование firewall
* QoS
* Ссылки

Отключаем все

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

Редактируем /etc/rc.conf:
inetd_enable="NO"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
check_quotas="NO"

Также, для дополнительной безопасности, закомментируйте каждую
строку в /etc/inetd.conf.
Если необходим доступ к системе по ssh, то необходимо добавить в
/etc/rc.conf:
sshd_enable="YES"

Когда будут отключены ненужные сервисы, посетите http://www.unixcircle.com/memberonly/portscan.php3
для проведения удаленного сканирования Вашей системы. Также
Вы можете использоать nmap (http://www.insecure.org/nmap/) для сканирования
вашего роутера изнутри.

Также следует скачать и установить все обновления системы
безопасности FreeBSD с ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/
, или используя CVSup обновить исходные тексты. Для получения
дополнительной информации по уязвимостям также можно посетить The
Twenty Most Critical Internet Security Vulnerabilities (Updated)
http://www.sans.org/top20/

Настраиваем сетевые интерфейсы

В роутере используется 2 сетевые карты 3com 509B, обозначенные как
ep0 и ep1 соответственно для внешнего и внутреннего интерфейса.
Внешний интерфейс имеет реальный IP адрес, назначенный провайдером.
Внутренний интерфейс назначает клиентам приватные адреса по DHCP.
Немаршрутизируемые приватные сети:

10.0.0.1 - 10.255.255.254 netmask 255.0.0.0
172.16.0.1 - 172.31.255.254 netmask 255.240.0.0
192.168.0.1 - 192.168.255.254 netmask 255.255.0.0

Присвоим внутреннему интерфейсу адрес 192.168.0.1 и внесем изменения в
/etc/rc.conf:

ifconfig_ep0="inet 192.168.1.1 netmask 255.255.255.0"

Внешний интерфейс настроим в соответствии с данными, полученными от
провайдера:

ifconfig_ep1="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"

Убедитесь, что указали правильный адрес IP и сетевую маску для обоих
интерфейсов. Помните, что адреса машин в локальной сети должны
принадлежать тому же диапазону. Первая сетевая плата будет заданным по
умолчанию адресом IP шлюза FreeBSD.

Оптимизируем ядро

Для компиляции ядра Вы должны распологать его исходными текстами.
Установить их можно воспользовавшись утилитой /stand/sysinstall.
Далее делаем следущее:

# cd /usr/src/sys/i386/conf - Для FreeBSD 5.1
# cp GENERIC firewall
# vi firewall

Добавляем следущие опции:

options IPFILTER # IPFilter support
options IPFILTER_LOG # IPFilter logging support
options IPFILTER_DEFAULT_BLOCK # Block all packets by default
options RANDOM_IP_ID # RANDOM_IP_ID causes the ID field in IP packets to be randomized
# instead of incremented by 1 with each packet generated.

Закомментируйте или удалите все опции, относящиеся к отсутствующему
у Вас оборудованию и к функциям, в вашей системе не используемым.
Сохраните файл конфигурации.
Компиляция и установка ядра:

#config firewall
#cd ../../compile/firewall
#make depend
#make
#make install
#reboot

Включаем форвардинг пакетов, dhcp, firewall и nat

Для включения форвардинга редактируем /etc/sysctl.conf:

net.inet.ip.check_interface=1

для блокировки SYN пакетов на непрослушиваемые порты:

net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1

Если Вы получаете свой реальный адрес через DHCP в /etc/rc.conf
внести:

ifconfig_ep1="DHCP"

и отредактируйте для запроса необходимой информации
/etc/dhclient.conf:

send host-name "crxxxxxx-a"; # Put your client IP here
request subnet-mask, broadcast-address, routers,
domain-name-servers;

Правила фильтрации:
Так как мы пока не знаем что конкретно блокировать, откроем все,
отредактировав /etc/ipf.rules:

pass in all
pass out all

Вот пример рабочего /etc/ipf.rules (http://www.muine.org/~hoang/ipf.txt)

Правила nat:

Для работы ftp клиентов через nat вносим в /etc/ipnat.rules:

# Use ipfilter ftp proxy for ftp client transfers mode: active
map ep1 192.168.1.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp

# Map all tcp and udp connections from 192.168.1.0/24 to external IP address,
# changing the source port number to something between 40,000 and 60,000 inclusive
map ep1 192.168.1.0/24 -> 0.0.0.0/32 portmap tcp/udp 40000:60000

# For all other IP packets, map to the external IP address
map ep1 192.168.1.0/24 -> 0.0.0.0/32

Удостоверьтесь, что все "proxy" линии идут перед строками "portmap",
поскольку срабатывает только первое правило. Рабочий пример
/etc/ipnat.rules (http://www.muine.org/~hoang/ipnat.txt).
Также, в качестве дополнительной опции, Вы можете использовать:
Прозрачное проксирование:
Если во внутренней сети есть почтовый сервер 192.168.0.2, используйте
"rdr" инструкцию для прозрачного проксирования.

/etc/ipnat.rules:
# Redirect incoming smtp traffic to mail server behind NAT rdr ep1
0.0.0.0/0 port 25 -> 192.168.0.2 port 25

/etc/ipf.rules:

# Allow the translated packets with fragment and SYN flag to flow in.
Keep state the connection.
pass in quick on ep1 proto tcp from any to any port = 25 flags S keep state keep frags

Балансировка нагрузки:

Чтобы сбалансировать нагрузку на 6 серверов 192.168.0.2 -
192.168.0.7, находящихся за nat, оспользуемся циклическим методом.
IPFilter распределит загрузку, даже если один из серверов сети выйдет
из строя. L4check, который является частью IPFilter и может иметь дело
с этим сценарием.

rdr ep1 0.0.0.0/0 port 80 -> 192.168.0.2,192.168.0.3 port 80 tcp round-robin
rdr ep1 0.0.0.0/0 port 80 -> 192.168.0.4,192.168.0.5 port 80 tcp round-robin
rdr ep1 0.0.0.0/0 port 80 -> 192.168.0.6,192.168.0.7 port 80 tcp round-robin

Ведение логов правил фильтрации на выделенном сервере:
Это хороший метод сохранения резервной информации о пакетах.
Выполняется следующим образом: Обозначим такой сервер "loghost" и
внесем изменения в /etc/syslog.conf:

# uncomment this to enable logging to a remote loghost named loghost
*.* @loghost

Перезапуск syslog:

# kill -1 `cat /var/run/syslog.pid`

На сервере логирования остановить syslog^

# kill -9 `cat /var/run/syslog.pid`

И затем запустить:

# syslogd -a 192.168.0.1

Обязательно проверьте /var/log на предмет наличия приходящих логов с
роутера.

Конфигурируем клиентов nat

* AIX: edit /etc/rc.net and add /usr/sbin/route add 192.168.0.1 gateway >>$LOGFILE 2>&1
* FreeBSD: edit /etc/rc.conf and add defaultrouter="192.168.0.1"
* HP-UX: edit /etc/rc.config.d/netconf and add
ROUTE_GATEWAY[0]="192.168.0.1"
* Linux Redhat: edit /etc/sysconfig/network and add
GATEWAY=192.168.0.1
* NetBSD: echo "192.168.0.1" > /etc/mygate
* OpenBSD: echo "192.168.0.1" > /etc/mygate
* Solaris: echo "192.168.0.1" > /etc/defaultrouter
* Win2k: Start-Settings->Control Panel->Network and Dial-up
Connections->Local Area Network-> Properties->Internet Protocol
(TCP/IP)->Default Gateway->192.168.0.1

Редактируем etc/resolv.conf:
UNIX clients:

$ cat /etc/resolv.conf nameserver nameserver

Win2k :
Start-Settings->Control Panel->Network and Dial-up Connections->Local
Area Network-> Properties->Internet Protocol (TCP/IP)->->Advanced
TCP/IP Settings->DNS and add the ISP DNS IPs.

Настройка ipfilter

Когда Вы будете готовы запустить в работу свой роутер, прочтите
IPFILTER-HOWTO на http://www.unixcircle.com/ipf/ и www.ipfilter.org -
там Вы можете найти много полезных правил фильтрации.Обдумывайте
каждое изменение etc/ipf.rules или /etc/ipnat.rules. Помните, что
перезагрузка правил оборвет все текущие соединения.

# /sbin/ipf -Fa -f /etc/ipf.rules # /sbin/ipnat -CF -f /etc/ipnat.rules

Вы можете посмотреть текущую статистику так:

# /sbin/ipfstat -t

firewall.muine.org - IP Filter: v3.4.27 - state top 23:01:10
Src = 0.0.0.0 Dest = 0.0.0.0 Proto = any Sorted by = # bytes
Source IP Destination IP ST PR #pkts #bytes ttl
192.168.0.200,1415 65.92.100.89,6699 4/4 tcp 8245 6923504 42:14:06
23.234.234.2,24064 208.31.160.30,22 4/4 tcp 576 199843 119:59:59
192.168.0.200,2091 64.124.41.191,8888 4/4 tcp 157 118770 51:36:40
192.168.0.200,1094 64.124.41.161,8888 4/4 tcp 125 94190 46

Для блокировки всего трафика по умолчанию, добавтье ядро options
IPFILTER_DEFAULT_BLOCK

Для просмотра текущих правил MAP/Redirect используйте:
# /sbin/ipnat -l

Также смотрите ipftest(1), mkfilters(1), ipf(4), ipl(4), ipf(8),
ipfstat(8), ipmon(8), ipnat(8) для более детальной информации.

Тестирование firewall

Для тестирования будем использовать следующие ссылки:
* Test the firewall system (http://www.cert.org/security-improvement/practices/p060.html)
* Auditing Your Firewall Setup (http://www.enteract.com/~lspitz/audit.html)
* On the topic of Firewall Testing (http://web.ranum.com/pubs/fwtest/)

Также для тестирования подойдет:
* nmap
* xprobe
* hping2
* firewalk
* isic

QoS

Балансировка нагрузки
Управление полосой пропускания dummynet в FreeBSD очень полезна для
борьбы с Dos атаками и ограничения полосы пропускания. Смотрите
dummynet(4) для более полной информации.
Так как dummynet привязан с ipfw - FreeBSD, то Вы должны будете
включить в ядре следующие опции:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET

Затем перекомпилировать и установить ядро.
Включение dummunet в /etc/rc.conf:

firewall_enable="YES"
firewall_script="/etc/rc.dummynet"
firewall_type="open"
firewall_logging="YES"

Пример ограничение канала FastEthernet до Ethernet:
Создаем виртуальный канал:

# /sbin/ipfw add 100 pipe 1 ip from 192.168.0.4 to any

Делаем ограничение:

# /sbin/ipfw pipe 1 config bw 10Mbit/s

Убираем:

# /sbin/ipfw flush

Для работы этих травил необходимо внести их в /etc/rc.dummynet.

Ссылки

IPFilter home page:
http://www.ipfilter.org
IPFilter examples:
http://coombs.anu.edu.au/~avalon/examples.html
IPFilter how-to:
http://www.unixcircle.com/ipf/
IPFilter mailing list archive:
http://false.net/ipfilter
Guido van Rooij has written some real nice IPFilter papers:
http://www.madison-gurkha.com/all_publications.shtml
Address Allocation for Private Internets:
http://www.muine.org/rfc/rfc1918.txt
The IP Network Address Translator (NAT):
http://www.muine.org/rfc/rfc1631.txt
Traditional IP Network Address Translator (Traditional NAT)
http://www.muine.org/rfc/rfc3022.txt
Bandwidth management:
http://www.iet.unipi.it/~luigi/ip_dummynet/
The Twenty Most Critical Internet Security Vulnerabilities (Updated)
http://www.sans.org/top20/




ipnat.conf:

#
# Interface:
# ep1 - external to cable modem
#
# NAT policy:
# + Use IP Filter FTP proxy
# + Use IP Filter IKE proxy
# + Use IP Filter RealAudio proxy
# + NAT UDP and TCP packets from internal hosts to external IP
# + NAT ICMP packets from internal hosts to external IP
#
# share and enjoy,
# hoang@muine.org
# Oct 25, 2001
#

# ------------------------------------------------------------
# Use ipfilter FTP proxy for the firewall doing transfer mode
# active.
# ------------------------------------------------------------
map ep1 0.0.0.0/0 -> 0.0.0.0/32 proxy port ftp ftp/tcp

# ------------------------------------------------------------
# Use ipfilter FTP proxy for hosts behind NAT doing transfer
# mode active.
# ------------------------------------------------------------
map ep1 192.168.1.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp

# -----------------------------------------------------------
# Use ipfilter IKE proxy for ESP packets for hosts behind NAT
# IP Filter 3.4.21 and beyond only.
# -----------------------------------------------------------
map ep1 192.168.1.0/24 -> 0.0.0.0/32 proxy port 500 ipsec/udp

# -----------------------------------------------------------
# Use ipfilter RealAudio proxy for hosts behind NAT
# -----------------------------------------------------------
map ep1 192.168.1.0/24 -> 0.0.0.0/32 proxy port 7070 raudio/tcp

# -----------------------------------------------------------
# Map all internal UDP and TCP traffic to the external IP address
# -----------------------------------------------------------
map ep1 192.168.1.0/24 -> 0.0.0.0/32 portmap tcp/udp 40000:60000

# -----------------------------------------------------------
# Map all other traffic e.g. ICMP to the external IP address
# -----------------------------------------------------------
map ep1 192.168.1.0/24 -> 0.0.0.0/32





ipf.conf:

#
# Interface:
# lo0 - loopback
# ep0 - internal to private network
# ep1 - external to cable modem
#
# Filtering policy ordering:
# + Block everything unless there are permit (pass) rules
# - Permit all loopback packets to flow freely
# - Permit all internal network packets to flow freely
# - Permit individual type of service to flow freely to outside world:
# ftp
# smtp
# whois
# dns
# http/https
# pop3
# traceroute
# ping
# dhclient
# + Since there are no permit(pass) rules at this stage, everything
# else is blocked!
#
# share and enjoy,
# hoang@muine.org
# Nov 26, 2001
#

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Interface: all
# Block all incoming and outgoing packets unless they're allowed later.
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
block in log all
block out log all

# -------------------------------------------------------------------------
# Interface: lo0
# Allow loopback to flow freely.
# -------------------------------------------------------------------------
pass in quick on lo0 all
pass out quick on lo0 all
# -------------------------------------------------------------------------

# -------------------------------------------------------------------------
# Interface: ep0
# Allow internal traffic to flow freely.
# -------------------------------------------------------------------------
pass in quick on ep0 all
pass out quick on ep0 all
# -------------------------------------------------------------------------

# -------------------------------------------------------------------------
# Interface: ep1
# Allow _internal_ and fw initiated connections from hosts behind NAT to
# outside world. Additional permit individual type of service to flow freely
# to outside world should be added in this section.
# -------------------------------------------------------------------------
# [passive ftp client to outside world step 1]
pass out quick on ep1 proto tcp from any to any port = 21 flags S keep state keep frags
# [smtp to outside world]
pass out quick on ep1 proto tcp from any to any port = 25 flags S keep state keep frags
# [whois to outside world]
pass out quick on ep1 proto tcp from any to any port = 43 flags S keep state keep frags
# [domain to outside world]
pass out quick on ep1 proto tcp from any to any port = 53 flags S keep state keep frags
pass out quick on ep1 proto udp from any to any port = 53 keep state keep frags
# [http to outside world]
pass out quick on ep1 proto tcp from any to any port = 80 flags S keep state keep frags
# [pop3 to outside world]
pass out quick on ep1 proto tcp from any to any port = 110 flags S keep state keep frags
# [https to outside world]
pass out quick on ep1 proto tcp from any to any port = 443 flags S keep state keep frags
# [passive ftp to outside world step 2 where the FTP server decides which port
# for ftp data back]
pass out quick on ep1 proto tcp from any to any port > 1023 flags S keep state keep frags
# [traceroute to outside world 1st stage: probing...man traceroute(8)]
pass out quick on ep1 proto udp from any to any port 33434 >< 33525 keep state keep frags
# [ping to outside world]
pass out quick on ep1 proto icmp from any to any keep state keep frags
# -------------------------------------------------------------------------
# Allow _external_ initiated connections from outside world to hosts behind
# NAT and the firewall.
# -------------------------------------------------------------------------
# [dhclient]
pass in quick on ep1 proto udp from any to any port = 68 keep state keep frags
# [traceroute to internal host 2nd stage: receiving error code of icmp-type 3
# (destination unreachable) and icmp-type 11 (time exceeded)]
pass in quick on ep1 proto icmp from any to any icmp-type 3 keep state keep frags
pass in quick on ep1 proto icmp from any to any icmp-type 11 keep state keep frags

# -------------------------------------------------------------------------
# Interface: ep1
# Since there are no permit(pass) rules at this stage, everything else is
# blocked!
# -------------------------------------------------------------------------
969 Прочтений •  [Использование ipfilter в FreeBSD (ipfilter firewall bsd freebsd nat forward qos ipf)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Использование ipfilter в FreeBSD (i... 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 | Донейт | Статистика | Команда | Техническая поддержка