# Firewal
Строим инфруструктуру
LinuxFirewall
Switch
3x Linux машины

Настраиваем сеть на linuxFW
ip a

ens3 - интерфейс e0
ens4 - интерфейс e1
Отредактировать конфигурацию интерфейса
/etc/network/interfaces
Настроили интерфейс ens3 и ens4 (c сабинтерфейсами )

Перезагрузили сервис Networking
service networking restart

Переходи в настройку Switch
настраиваем интерфейсы
интерфейс e0/0 в trunk
интерфесы e0/0-3 в vlan 10-30

Настроим Roating в LinuxFW
Отредактировать sysctl.conf
Раскомментировать net.ipv4.ip_forward=1 (тем самым делаем из машины роутер)

применили настройки sysctl -p
Переходим в настрйку Linux3
Так же настраиваем сеть интерфейс /etc/network/intefaces
Прописали статику на интерфейсе ens3 и gateway до нашего switch

Пропингуем 192.168.10.254 чтобы убедиться что настроили все правильно.
Пакеты идут, соответсвенно все сделали правильно.

Подключимся по SSH к нашему LinuxFW

Делаем подмену адреса на интерфейсе 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

Тем самым с помощью этой машинки попытаемся подключиться к нашей инфруструктуре на машину Linux3
Заходим в Linux-ext
и пингуем две машины Linux-FW и Linux3(192.168.10.1/24)

Мы видим что маршрут до linux3 машины не проходит, нам нужно настроить нашу kali машину а точнее статический адрес.
ip route add 192.168.10.0/24 via 192.168.43.134
и пропингуем нашу linux3
Дальше мы подключемся через SSH на linux3

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

1) запрет трафика во внутрь периметра. Но из периметра трафик должен выходить.
iptabes A INPUT -i ens3 -j DROP
прописали в нашем ssh подключении на 192.168.43.134 и подлючаться из вне мы теперь не сможем, и наше подключение по ssh просто выключиться.

Заходим на 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

Видим что наше правило находиться во втором списке, необходимо сделать так чтобы оно было вверху.Как приоритетное.
iptables -I INPUT 1 -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -L -nv --line-numbers

Мы сделали что было необходимо, но правило под номером 3 нам уже не нужно и мы его просто удаляем.
iptables -D INPUT 3
теперь надо прописать тоже правило только на FORWARD
iptables -I FORWARD 1 -i ens3 -m state --state ESTABLISHED,RELATED -j ACCEPT
Чтобы проверить что все было сконфигурировано правильно, пропингуем 8.8.8.8

проверили из вне можем ли мы подключиться к нашей инфруструктуре через ssh и машиной KALI. Если подключение и пинги не прошли, значит мы сделали все правильно.
Теперь стоит главный вопрос если к нашей инфруструктуре доступа нет и нам мешает наш Firewall, каким образом можно получить доступ.
Нам нужно прописать правило в нашем Firewall чтобы разрешить доступ по SSH по 22 порту.
iptables -I INPUT 2 -i ens3 -p tcp --dport 22 -j ACCEPT
Мы разрешили подключение по 22 порту.

Чтобы все настройки сохранились нам необходимо поставить утилиту, т.к после reboot все настройки исчезнут.
apt install iptables-persistent
service netfilter-persistent save
все наши правила сохранились
cat /etc/iptables/rules.v4

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