# матрица доступа на PfSense Входящие условия: У нас есть несколько сетей, разграниченных вилланами – 10, 20, 30, 40 и есть роутер. Нужно один из вилланов (вилан 20) изолировать – есть доступ только в интернет, а вилан 40 может общаться только с 10-м, виллан 30 может ходить ко всем, но к нему никто Задача: сегментировать части. Ограничения по вилланам необходимо, чтобы злоумышленнику было сложно «гулять» между сетями, чтобы нельзя было перехватывать из других сетей, и чтобы не было широковещательного трафика. Также для каждой сети можно выдавать отдельные dhcp, dns; отдельные параметры, связанные с прошивками устройств; отдельные сервера для каждого участка сети. Фактически организация делится на мелкие кусочки: чем мельче кусочек – тем проще им управлять и выдавать определенные параметры. Необходимо научиться правильно понимать: какие доступы у каких вилланов должны быть – куда и откуда можно ходить. (бухгалтера, программисты, админы, випы и проч..) Практическая часть. Имитируем реальную инфраструктуру. Создаем вилланы на инф-ре (делали в прошлых модулях) На WF (не на роутере) – создать эти вилланы и сделать виллан-роутинг: так чтобы с WF был доступ на какие-то вилланы, а с них доступа не было – делается в табличке доступа (матрица доступов). Когда вилланов много, мы четко должны понимать: с какого вилана и куда есть доступ, а откуда доступов не должно быть. И есть еще «объединение» вилланов для доступа в определенные сети. Задача: 1 правильным образом сконфигурировать на pfsense 2 сконфигурировать это на акцесс-листах циски 3 сконфигурировать это всё на iptables на линуксовой тачке Готовим вилланы: вилан10 – сервисный, винал1 – обычные пользователи, гости; вилан 30 –бухгалтерия (финансы); вилан40 – менеджеры; вилан50 – админы ![](https://i.imgur.com/L1XBoB0.png) Транком от WF2 проверяем, что все виланы настроены и работают. На самом WF2 настроить данные для этих вилланов, возможно поднять dhsp для этих виланов (где нужен), а где не нужен ручками настроить IP-шники и проверить, что вся схема пингуется между друг другом. Проверяем наш свич – что все сети находятся в нужном виллане. Настраиваем и проверяем свич, что все порты настроены правильно. Видим: е0/0 – транк, е1/0 – 10 вилан, е0/3 – 40 вилан, е1/0 – 30 вилан, е1/1 – 50 вилан. Вроде все правильно. Теперь нужно создать все эти вилланы на нашем PFSense на WF2 (чтоб они были и чтобы устройства друг с другом пинговались) и потом на каждом устройстве назначить IP-шники вилланов. Предполагаем, что изначально нет настроек Чтобы конфигурить правильно инф-ру нужно видеть эту инф-ру и при любой архитектуре нужно ее четко и ясно нарисовать (текущую ситуацию – рисуем!! Всегда!) – и дальше, уже из этой картинки смотрим: что идет, куда идет, почему, что можно изменить и т.д. Проверяем, что у нам действительно есть все вилланы – 10, 30, 40 , 50. (для рисования матрицы подойдет microsoft excel) ![](https://i.imgur.com/dYWTKrA.png) ![](https://i.imgur.com/hYz0id5.png) Нужно добавить 50 вилан – админский. Теперь все вилланы есть на нашем WF: ![](https://i.imgur.com/i622v9f.png) Для нового 50 вилана привязываем интерфейс: ![](https://i.imgur.com/ug09yhG.png) Теперь посмотрим правила: для всех вилланов!! Всё разрешить ![](https://i.imgur.com/PMkMILg.png) И для 50-ого делаем – так же – все разрешить: нажимаем – КОПИРОВАТЬ 40-вилан: И меняем в настройках 40 на 50: ![](https://i.imgur.com/DZPHEag.png) Теперь он (WF) работает как обычный роутер, который знает о виланах и будет роутить между этими вилланами/ Завершающий этап: включить машинки и настроить на них IP-шники. Запускаем машинки на всех вилланах. Вилан30: Настраиваем в консоли: nano /etc/network/interfaces до состояния ![](https://i.imgur.com/tSb5f3N.png) Перезапускаем нетворк, если сабинтерфейсы еще есть то ребутаем кали и затем еще раз проверяем. Всё пингуется: и 8.8.8.8 и сами системы. Также должен пинговаться иDC (если WF отключен): Все работает правильно: сигнал с виллана 30 идет на WF – там обрабатывает и идет на DС, потом обратным маршрутом возвращается. Админский виллан (50) Смотрим, что у нас здесь: nano /etc/network/interfaces Делаем статиком: ![](https://i.imgur.com/elFZkxO.png) Перезапускаем service networking restart и смотрим ip a, затем пингуем 10.0.50.254 и 10.0.10.1. Если пинг есть значит все работает и так настраиваем все остальные вланы… **Матрица доступов.** Открываем эксель и делаем табличку: прописываем наши вилланы и стрелкой указываем направление – откуда и куда смотреть (а то матрица доступа окажется неверной) – «защита от дурака». Выделяем клетки вилланов «сам в себе» - 10-10, 20-20… - это уровень L2 и на WF нельзя контролировать (серые клетки) Далее, думаем как архитекторы информационных систем: виллан 10 – куда может ходить? Виллан 50 – админы – куда? – они могут ходить везде со своей сети (если где-то что-то сломалось, у них должен быть доступ) Вилан 40 – менеджмент (там оборудование)– куда можно и нужно ходить? – только в интернет ограниченный – только до вендоров оборудования; ограниченный доступ к сервисному виллану – скажем для авторизаций (по необходимости) Вилан 30 – бухгалтера: - могут до актив-директори за данными и интернет. Другие им не нужны Вилан 20 – гостевой: только интернет Вилан 10 – сервисный: нельзя никуда – интернет – ограниченный – только на сервисы за обновами (типа для винды и прочего ПО) Для ограниченного интернета – на WF есть белый список адресочков, куда оборудование может ходить ![](https://i.imgur.com/qUXlvlf.png) В таком визуальном исполнении хорошо видно кто куда может ходить или нет, и удобно исправлять маршруты доступов Настраиваем эти правила: Начнем с 10 вилана. Для ограниченного доступа сделаем белый список, куда можно ходить. Для примера разрешим только до гугла, а все остальное – нельзя. Открываем наш 10 вилан: ![](https://i.imgur.com/CaI6lK7.png) Сейчас доступы есть все. Добавляем правило вверх: пункт add -> ищем action где: pass – разрешить; blok – блокировать; reject –блокировать и сказать ответ; выбираем reject. далее: ![](https://i.imgur.com/e8dlN8m.png) Повторяем тоже самое для 30,40 и 50 виланов – копируем правила. Меняем только запрещенные вилланы С 10 вилана на 20,30,40,50 виланы в обратиться нельзя. А вот наоборот – обратиться к вилану10 , то он ему сможет ответить – соединение устанавливается. Если с 10 вилана пропинговать 30-й получим: ![](https://i.imgur.com/N5Ytm1H.png) - запрет на обращение А теперь наоборот: - обратимся к 10 вилану – с кали – ![](https://i.imgur.com/8cadB7n.png) - пингуется При такой настройке WF – мы имеем односторонний канал соединения: от 50 вилана до 10, обратно с 10-ого только до WF и не дальше. Мы не сможем установить реверс-шелл: (обратный доступ возможен только при установленном соединении), а реверс-шелл устанавливает новое соединение и сделать мы его никак не сможем Ограничение на интернет добавим после того, как введем все правила для остальных вилланов. Вилан 20: ![](https://i.imgur.com/dUKREO0.png) ![](https://i.imgur.com/kD1l7EN.png) ![](https://i.imgur.com/zaLh7Nu.png) Копируем и делаем по матрице для 30вилана: ![](https://i.imgur.com/pQdUpo2.png) Повторяем для 40вилана: копируем и исправляем запрет, и делаем запрет для 50 вилана Применяем настройки. По итогу мы запретили возможность ходить виллану 20 в 10, 30, 40, 50 виланы. Интернет остался открытым полностью. ![](https://i.imgur.com/gMSx6br.png) Проверим: пропингуем – ![](https://i.imgur.com/Eh62Mjb.png) - интернет есть ![](https://i.imgur.com/P48L8jO.png) ![](https://i.imgur.com/Wod3FHD.png) - доступа к вилланам нет Виллан 30: Можно вилан10 и интернет – их настройки не трогаем Запрещаем 20,40 и 50-ый: ![](https://i.imgur.com/AcgjpwM.png) ![](https://i.imgur.com/i8vTJdU.png) ![](https://i.imgur.com/Im7gUgJ.png) Итог: ![](https://i.imgur.com/1OktLFk.png) Не забываем ПРИМЕНИТЬ!! Проверяем: пингуем – ![](https://i.imgur.com/j57I4eL.png) - нет доступа ![](https://i.imgur.com/XxnyLaq.png) - интернет есть ![](https://i.imgur.com/Gbw6xqm.png) - связь есть Вилан40: Пока разрешим полный доступ в 10 вилану: ![](https://i.imgur.com/3Bw2hH5.png) Разрешаем интернет: ![](https://i.imgur.com/zXFJAnb.png) Запрещаем 20,30,50 вилан – ![](https://i.imgur.com/7qoqIPT.png) ![](https://i.imgur.com/dFgwRai.png) Итог: ![](https://i.imgur.com/NszQYYb.png) (запрещающие правила сверху) жмем кнопки: save и apply changes Вилан 50: админы – оставляем как есть ![](https://i.imgur.com/69LL0Sb.png) Есть еще такая штучка как «объединение вилланов» по признакам: признак 1, признак 2.. и отдельные частные случаи, как отдельная матрица...