# Firewal Строим инфруструктуру LinuxFirewall Switch 3x Linux машины ![](https://i.imgur.com/5r9fpAW.png) Настраиваем сеть на linuxFW ip a ![](https://i.imgur.com/zplEunj.png) ens3 - интерфейс e0 ens4 - интерфейс e1 Отредактировать конфигурацию интерфейса /etc/network/interfaces Настроили интерфейс ens3 и ens4 (c сабинтерфейсами ) ![](https://i.imgur.com/tXFVVl1.png) Перезагрузили сервис Networking service networking restart ![](https://i.imgur.com/8mRQvIu.png) Переходи в настройку Switch настраиваем интерфейсы интерфейс e0/0 в trunk интерфесы e0/0-3 в vlan 10-30 ![](https://i.imgur.com/UxRspWb.png) Настроим Roating в LinuxFW Отредактировать sysctl.conf Раскомментировать net.ipv4.ip_forward=1 (тем самым делаем из машины роутер) ![](https://i.imgur.com/xtc5r8k.png) применили настройки sysctl -p Переходим в настрйку Linux3 Так же настраиваем сеть интерфейс /etc/network/intefaces Прописали статику на интерфейсе ens3 и gateway до нашего switch ![](https://i.imgur.com/Ff02cqL.png) Пропингуем 192.168.10.254 чтобы убедиться что настроили все правильно. Пакеты идут, соответсвенно все сделали правильно. ![](https://i.imgur.com/9yTKKAx.png) Подключимся по SSH к нашему LinuxFW ![](https://i.imgur.com/uK9MHPY.png) Делаем подмену адреса на интерфейсе e0 Прописываем правило для Iptables "iptables -t nat -A POSTROUTING -o ens3 -j MASQUARADE" Чтобы понять что выполнила это команда, для начала узнаем синтаксис работы этой команды и в целом Iptables $ iptables -t таблица действие цепочка дополнительные_параметры Основные действия, которые позволяет выполнить iptables: -A - добавить правило в цепочку; -С - проверить все правила; -D - удалить правило; -I - вставить правило с нужным номером; -L - вывести все правила в текущей цепочке; -S - вывести все правила; -F - очистить все правила; -N - создать цепочку; -X - удалить цепочку; -P - установить действие по умолчанию. Дополнительные опции для правил: -p - указать протокол, один из tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh; -s - указать ip адрес устройства-отправителя пакета; -d - указать ip адрес получателя; -i - входной сетевой интерфейс; -o - исходящий сетевой интерфейс; -j - выбрать действие, если правило подошло. POSTROUTING — для окончательной обработки исходящих пакетов MASQUARADE - часть NAT Сделаем из Linux-Fw Firewall Добавим к нашей инфруструктуре еще одну машину Linux-kali ![](https://i.imgur.com/SP5kXSc.png) Тем самым с помощью этой машинки попытаемся подключиться к нашей инфруструктуре на машину Linux3 Заходим в Linux-ext и пингуем две машины Linux-FW и Linux3(192.168.10.1/24) ![](https://i.imgur.com/HDEds5V.png) Мы видим что маршрут до linux3 машины не проходит, нам нужно настроить нашу kali машину а точнее статический адрес. ip route add 192.168.10.0/24 via 192.168.43.134 и пропингуем нашу linux3 Дальше мы подключемся через SSH на linux3 ![](https://i.imgur.com/rRXCiz1.png) Мы видим что подключение прошло успешно и с точки зрения безопасности это не очень хорошо. Теперь наша задача создать периметр и прописать настройки чтобы из вне не было подключений к нашей инфруструктуре. ![](https://i.imgur.com/XJlM10g.png) 1) запрет трафика во внутрь периметра. Но из периметра трафик должен выходить. iptabes A INPUT -i ens3 -j DROP прописали в нашем ssh подключении на 192.168.43.134 и подлючаться из вне мы теперь не сможем, и наше подключение по ssh просто выключиться. ![](https://i.imgur.com/dA4qp4j.png) Заходим на Linux-FW и там настраиваем iptables правило iptables -A FORWARD -i ens3 -j DROP пропишем еще одно правило iptables -A INPUT -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT Посмотрим какие правила у нас установлены iptables -L -nv ![](https://i.imgur.com/hiGEFkE.png) Видим что наше правило находиться во втором списке, необходимо сделать так чтобы оно было вверху.Как приоритетное. iptables -I INPUT 1 -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -L -nv --line-numbers ![](https://i.imgur.com/q39lpOE.png) Мы сделали что было необходимо, но правило под номером 3 нам уже не нужно и мы его просто удаляем. iptables -D INPUT 3 теперь надо прописать тоже правило только на FORWARD iptables -I FORWARD 1 -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT Чтобы проверить что все было сконфигурировано правильно, пропингуем 8.8.8.8 ![](https://i.imgur.com/MPOAowl.png) проверили из вне можем ли мы подключиться к нашей инфруструктуре через ssh и машиной KALI. Если подключение и пинги не прошли, значит мы сделали все правильно. Теперь стоит главный вопрос если к нашей инфруструктуре доступа нет и нам мешает наш Firewall, каким образом можно получить доступ. Нам нужно прописать правило в нашем Firewall чтобы разрешить доступ по SSH по 22 порту. iptables -I INPUT 2 -i ens3 -p tcp --dport 22 -j ACCEPT Мы разрешили подключение по 22 порту. ![](https://i.imgur.com/5gbQa1C.png) Чтобы все настройки сохранились нам необходимо поставить утилиту, т.к после reboot все настройки исчезнут. apt install iptables-persistent service netfilter-persistent save все наши правила сохранились cat /etc/iptables/rules.v4 ![](https://i.imgur.com/BUzUMXD.png) 2) проброс портов ens3:2222 ---> linux3:22 ens3:2223 ---> linux4:22 ens3:2224 ---> linux5:22 3) Перенаправление трафика Изнутри при конекте на Linux-FW на 80 и 443й порты - перенаправлял на сайт hacker.pro. SNAT and DNAT. Общался только с Linux-FW