> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/guide/nachalo-raboty/centr-bezopasnosti/konfiguraciya-brandmauera-ufw.md).

# Конфигурация брандмауэра UFW

UFW (Uncomplicated Firewall) — это встроенный брандмауэр Linux, который позволяет контролировать входящие сетевые подключения к серверу.

С помощью UFW можно разрешить доступ только к необходимым сервисам и автоматически блокировать все остальные подключения.

Для проектов iEXExchanger использование брандмауэра является обязательной мерой безопасности и рекомендуется для всех серверов без исключения.

***

## Что защищает UFW

После настройки UFW позволяет:

* ограничить доступ к серверу только необходимыми портами;
* скрыть неиспользуемые сервисы от внешней сети;
* снизить количество автоматических атак и сканирований;
* ограничить доступ к панели управления сервером;
* защитить внутренние сервисы от прямого доступа из Интернета.

***

## Перед началом

Перед настройкой убедитесь, что:

* сервер работает под управлением Debian 12;
* установлен FastPanel;
* имеется SSH-доступ к серверу;
* вы знаете используемый SSH-порт.

Если используется стандартный SSH-порт, обычно это:

```
22
```

Если ранее порт был изменён, используйте свой номер порта.

***

## Важное предупреждение

Перед включением UFW обязательно разрешите доступ к SSH.

Если включить брандмауэр без открытия SSH-порта, сервер станет недоступен и потребуется доступ через консоль хостинг-провайдера.

***

## Подключение к серверу

Подключитесь к серверу по SSH.

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/cCEoFDjTDIufy3NUEakd" %}
[Подключение к серверу по SSH](/help-center/upravlenie-serverom/podklyuchenie-k-serveru-po-ssh.md)
{% endcontent-ref %}

Пример:

```bash
ssh root@IP_АДРЕС_СЕРВЕРА
```

После подключения выполните настройку.

***

## Установка UFW

Обновите список пакетов:

```bash
apt update
```

Установите UFW:

```bash
apt install ufw -y
```

Проверьте состояние:

```bash
ufw status
```

Если брандмауэр ещё не включён, будет отображено:

```
Status: inactive
```

***

## Сброс старых правил

Если сервер использовался ранее и вы не уверены в существующих настройках, рекомендуется очистить конфигурацию.

```bash
ufw reset
```

Подтвердите действие:

```
y
```

***

## Настройка политики безопасности

Запретить все входящие подключения по умолчанию:

```bash
ufw default deny incoming
```

Разрешить исходящие подключения:

```bash
ufw default allow outgoing
```

Проверить настройки:

```bash
ufw status verbose
```

***

## Разрешение SSH

Если используется стандартный SSH-порт:

```bash
ufw allow 22/tcp
```

или

```bash
ufw allow ssh
```

Если используется нестандартный порт, например:

```
2222
```

выполните:

```bash
ufw allow 2222/tcp
```

***

## Разрешение доступа к сайтам

Для работы сайта необходимо открыть HTTP и HTTPS.

```bash
ufw allow 80/tcp
```

```bash
ufw allow 443/tcp
```

***

## Разрешение доступа к FastPanel

По умолчанию FastPanel использует порт:

```
8888
```

или

```
8080
```

в зависимости от версии панели.

Если панель работает через порт 8888:

```bash
ufw allow 8888/tcp
```

Если используется порт 8080:

```bash
ufw allow 8080/tcp
```

Если доступ к панели управления ограничен по IP, рекомендуется разрешать доступ только со своего IP-адреса.

Пример:

```bash
ufw allow from 203.0.113.10 to any port 8888 proto tcp
```

***

## Redis

Если Redis используется только внутри сервера, открывать порт Redis не требуется.

Порт:

```
6379
```

должен быть доступен только локально.

Проверить:

```bash
ss -tulpn | grep 6379
```

Если Redis слушает:

```
127.0.0.1:6379
```

дополнительная настройка не требуется.

***

## Laravel Reverb и WebSocket

Если используется Laravel Reverb, обычно применяется порт:

```
8080
```

или другой внутренний порт.

Если подключение происходит через Nginx Proxy Pass, открывать данный порт в UFW не требуется.

Рекомендуется оставлять WebSocket доступным только локально:

```
127.0.0.1
```

***

## Включение брандмауэра

После добавления всех необходимых правил включите UFW:

```bash
ufw enable
```

Подтвердите действие:

```
y
```

После включения появится сообщение:

```
Firewall is active and enabled on system startup
```

***

## Проверка правил

Посмотреть текущие правила:

```bash
ufw status numbered
```

Пример:

```
Status: active

[1] 22/tcp      ALLOW IN Anywhere
[2] 80/tcp      ALLOW IN Anywhere
[3] 443/tcp     ALLOW IN Anywhere
[4] 8888/tcp    ALLOW IN Anywhere
```

***

## Удаление правила

Чтобы удалить правило:

```bash
ufw status numbered
```

Найдите номер правила.

Например:

```
[4] 8888/tcp
```

Удалите его:

```bash
ufw delete 4
```

***

## Временное отключение UFW

При необходимости:

```bash
ufw disable
```

Повторное включение:

```bash
ufw enable
```

***

## Проверка открытых портов

Проверить активные сервисы:

```bash
ss -tulpn
```

Проверить прослушиваемые порты:

```bash
ss -tulpn | grep LISTEN
```

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

***

## Рекомендуемая конфигурация для iEXExchanger

Для большинства проектов достаточно следующего набора:

<table><thead><tr><th width="222.02734375">Порт</th><th>Назначение</th></tr></thead><tbody><tr><td>22</td><td>SSH</td></tr><tr><td>80</td><td>HTTP</td></tr><tr><td>443</td><td>HTTPS</td></tr><tr><td>8888 или 8080</td><td>FastPanel</td></tr></tbody></table>

Все остальные входящие подключения рекомендуется блокировать.

***

## Дополнительная защита

Для повышения безопасности рекомендуется дополнительно настроить:

* Fail2Ban;
* Cloudflare;
* ограничение доступа к административной панели по IP;
* двухфакторную аутентификацию;
* защиту Origin Server от прямого доступа;
* регулярное обновление системы.
