**Описание задачи**: требуется защитить web-сервер. Необходимо разрешить доступ к портам 80 и 22 и сделать перенаправление вызова с порта 8080 на 80. При попытке обратится к портам сервера, не описанным в операционной системе (ОС) как сервис, следует отказывать в обслуживании. При попытке обратится к портам, описанным в системе как сервисы, следует отказывать в обслуживании и заносить данные об этом в журнал. Для выполнения задания необходима следующая последовательность действий.
### 2.1. Определение политики по умолчанию
Определение политики по умолчанию для цепочек с учетом того, что все порты системы для должны быть закрыты для внешнего пользователя. Поскольку осуществляется фильтрация пакетов, их обработка будет производится в таблице **filter**. Используем ключ `–P` чтобы задать политику по умолчанию. Зададим правило для входящих пакетов (цепочка `INPUT`). Действие для обработки политики по умолчанию `LOG` (журналирование запроса). Поскольку политика по умолчанию определяется для всех портов, критерии проверки опускаются.
Определение политики по умолчанию для цепочек с учетом того, что все порты системы для должны быть закрыты для внешнего пользователя. Поскольку осуществляется фильтрация пакетов, их обработка будет производится в таблице **filter**. Используем ключ `-P` чтобы задать политику по умолчанию. Зададим правило для входящих пакетов (цепочка `INPUT`). Действие для обработки политики по умолчанию `LOG` (журналирование запроса). Поскольку политика по умолчанию определяется для всех портов, критерии проверки опускаются.
```ssh
# iptables -P INPUT ACCEPT
@ -76,19 +76,19 @@
Определим также политику «по-умолчанию» для исходящих пакетов с разрешением всем исходящим IP-пакетам беспрепятственно проходить фильтрацию. Для определения заданной политики по умолчанию необходимо выполнить в консоли
```ssh
# iptables –P OUTPUT ACCEPT
# iptables -P OUTPUT ACCEPT
```
### 2.2. Добавление правил для портов 22 и 80
Осуществляется командой, в которой для заданных критериев применено действие ACCEPT, то есть пакет будет пропущен брэндмауэром.
```ssh
# iptables –A INPUT –p tcp ––dport 22 –j ACCEPT
# iptables –A INPUT –p tcp ––dport 80 –j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
```
### 2.3. Добавление правила для порта 8080. Переадресация с порта 8080 на порт 80
Поскольку происходит преобразование адреса назначения, используем таблицу **nat**. Критерии для применения этого правила: `–p tcp ––dport 8080`. Изменение получателя осуществляется в цепочке `PREROUTING`. Правило для переадресации –`REDIRECT`, которое имеет дополнительный ключ для определения порта переадресации `––to-ports`. Зададим перенаправление на порт `80`. Таким образом для определения последнего правила, необходимо ввести в командной строке:
Поскольку происходит преобразование адреса назначения, используем таблицу **nat**. Критерии для применения этого правила: `-p tcp --dport 8080`. Изменение получателя осуществляется в цепочке `PREROUTING`. Правило для переадресации -`REDIRECT`, которое имеет дополнительный ключ для определения порта переадресации `--to-ports`. Зададим перенаправление на порт `80`. Таким образом для определения последнего правила, необходимо ввести в командной строке:
После выполнения команд правила для цепочек сформированы и необходимо осуществить проверку правильности их занесения и работы. Просмотреть созданные правила для всех цепочек можно после выполнения команды:
```ssh
# iptables –S
# iptables –t nat -S
# iptables -S
# iptables -t nat -S
```
***Скриншот**
@ -148,8 +148,8 @@ PORT STATE SERVICE
Для сброса настроек iptables в изначальное состояние:
```ssh
# iptables –F
# iptables –t nat -F
# iptables -F
# iptables -t nat -F
```
### 3. Задание
@ -179,7 +179,7 @@ pip install simple-http-server
```ssh
$ screen -S server
$ python3 –m http.server port
$ python3 -m http.server port
```
После запуска команды, в браузере необходимо проверить доступность вашего сервера, для этого наберите строку ip_adress:port.
@ -203,7 +203,7 @@ $ python3 –m http.server port
Повторно запустите команду **nmap** и проверьте вывод.
***Скриншот `# iptables –t nat -S`**
***Скриншот `# iptables -t nat -S`**
## Часть 2. Настройка межсетвеого экрана в Linux-системах