Разрешить подключения Samba *только* из внутренней локальной сети (брандмауэр PF)?

Разрешить подключения Samba *только* из внутренней локальной сети (брандмауэр PF)?

Имеется машина FreeBSD 11.1-RELEASE с одной сетевой картой, обслуживающая общие ресурсы Samba заПФ брандмауэрнатакой жесервер.

Мне нужно разрешить соединениятолькоот клиентов, подключающихся из внутренней сети (/24).

На данный момент это, похоже, работает:

# Default deny policy
block in log all

# allow Samba connections only from internal IPs
pass in quick on $ext_if inet proto tcp from $ext_if:network to $ext_if:network port {135, 137, 138, 139, 445}
pass in quick on $ext_if inet proto udp from $ext_if:network to $ext_if:network port {135, 137, 138, 139, 445}

Но являются ли они правильными и достаточными?

Существует ли лучший, более идиоматический способ разрешить подключения Samba только из внутренней локальной сети с помощью брандмауэра PF?

решение1

добавьте еще один интерфейс к вашей установке pf-sense. или, если доступен коммутатор с поддержкой VLAN, он предоставит вам дополнительные виртуальные интерфейсы в pf-sense.

Вы бы поместили свой общий ресурс Samba на второй интерфейс, дали бы ему новую подсеть (что-то вроде 10.10.10.0 /24), все будет работать, вам просто нужно, чтобы это была подсеть, отличная от подсети пользователей локальной сети, которых вы хотите контролировать.

Теперь настройте правила для пользователей, которые могут получить доступ ко второй подсети локальной сети. Или, в частности, для пользователей, которые имеют доступ к вашему общему ресурсу Samba по IP.

EDIT: в PF (фильтрация) сделать это: после правила блокировки по умолчанию >

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

"# Пропустить трафик на dc0 из локальной сети 192.168.0.0/24 в OpenBSD"

"IP-адрес # машины 192.168.0.1. Также передайте обратный трафик на dc0."

передать на dc0 с 192.168.0.0/24 на 192.168.0.1

отключается на dc0 с 192.168.0.1 на 192.168.0.0/24

"#Передача TCP-трафика на веб-сервер, работающий на машине OpenBSD."

передать на выходной протокол tcp с любого на выходной порт www

используйте имя вашего интерфейса, добавьте ваши подсети, и все будет готово, используйте правила IP. Это значительно упростит задачу.

Я вижу только два правила передачи в вашем посте, я полагаю, что вам понадобится вход/выход как с TCP, так и с UDP.

Связанный контент