Назад | Перейти на главную страницу

Конфигурация фильтра пакетов для ограничения трафика на локальный хост

Я использую маршрутизатор с фильтрацией на основе pf на OpenBSD 4.3 около года. Моя текущая задача - создать новый сетевой сегмент для размещения наших внешних сайтов.

Моя цель состоит в том, чтобы машины, установленные в этом сегменте сети, не имели большего доступа к остальной части нашей сети, чем машина в Интернете.

В целом это довольно близко. У нас есть DNS-сервер, возвращающий внешний вид этого сегмента сети. Pf не направляет трафик из этого сегмента в какой-либо сегмент, кроме интернет-интерфейса. Однако я не могу предотвратить маршрутизацию пакетов на маршрутизатор, если им также разрешено выходить в Интернет.

например

block in
...
#  tag dmz traffic as only allowed to internet
pass in on $dmz_if inet all tag INTERNET_ONLY
...
# Ensure only traffic allowed to Internet is passed
block out on $internet_if
block out on $internet_if tagged INTERNET_ONLY tag ROUTE_INTERNET
pass out on $internet_if tagged ROUTE_INTERNET

Я хотел бы иметь возможность добавить

block out on $local_if from $(dmz_if:network)

для блокировки любых пакетов, идущих через маршрутизатор, но оказывается, что пакеты для локального хоста не выходят на lo0. Как я могу их заблокировать?

Я неправильно понял, как все это работает? есть ли вариант, который я пропустил, чтобы разрешить это?

какие-либо предложения?

lo0 - это локальный трафик от вашего маршрутизатора к вашему маршрутизатору. Например, когда вы используете IP 127.0.0.1 для подключения.
Если вы хотите, чтобы ваша DMZ не разговаривала для подключения к маршрутизатору, вам необходимо block in on $dmz_if на IP-адреса вашего маршрутизатора

Теперь это решило мою проблему и протестировано.

# record your internal IP addresses
internal_ip_addr="{" $dmz_if:0 "," $office_if:0 "," $pms-servers_if:0 "}"

block in
...
#  tag dmz traffic as only allowed to internet
pass in on $dmz_if inet all tag INTERNET_ONLY
...
# Ensure only traffic allowed to Internet is passed
block out on $internet_if
block out on $internet_if tagged INTERNET_ONLY tag ROUTE_INTERNET
pass out on $internet_if tagged ROUTE_INTERNET
...
# block traffic directed at my internal ip addresses.
block in on $dmz_if from any to $internal_ip_addr

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