Фаервол ufw в Ubuntu: как включить и не потерять доступ по SSH
ufw — фаервол, который входит в Ubuntu. Он решает, к каким портам сервера можно подключиться из интернета. Включать его нужно в правильном порядке: сначала разрешить SSH, потом включить. Иначе сервер закроет вход и вам.
Содержание 9
Что сделать прямо сейчас
- Подключитесь к серверу — инструкция.
- Проверьте, включён ли фаервол:
sudo ufw status. ОтветStatus: inactiveзначит, что он выключен. - Разрешите вход по SSH:
sudo ufw allow OpenSSH. ОтветRule added— правило добавлено. - Если на сервере сайт, откройте порты 80 и 443:
sudo ufw allow 80/tcp, затемsudo ufw allow 443/tcp. - Включите фаервол:
sudo ufw enable. ufw предупредит, что команда может прервать подключения SSH, и спросит, продолжать ли. Нажмитеyи Enter. - Ответ
Firewall is active and enabled on system startup— фаервол работает и включится сам после перезагрузки. - Не закрывая это окно, откройте второе окно терминала и подключитесь к серверу ещё раз. Подключилось — всё в порядке. Не подключилось — в первом окне выполните
sudo ufw disableи проверьте правила.
Что ufw делает по умолчанию
| Направление | Что делает ufw |
|---|---|
| входящие подключения | закрыты все, кроме портов, которые вы разрешили |
| исходящие подключения | разрешены: сервер сам скачивает обновления и ходит в интернет |
| пересылка трафика через сервер | закрыта; для сайта не нужна |
После установки Ubuntu ufw выключен: все порты, которые слушают программы, доступны снаружи. Правила можно добавлять и при выключенном ufw — они заработают после sudo ufw enable.
Как читать ufw status
Подробный ответ показывает команда sudo ufw status verbose. Его начало:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip| Строка | Что значит |
|---|---|
Status: active | фаервол включён |
Logging: on (low) | заблокированные подключения записываются в журнал |
deny (incoming) | входящие закрыты, кроме разрешённых правилами |
allow (outgoing) | исходящие разрешены |
disabled (routed) или deny (routed) | пересылка выключена или закрыта |
New profiles: skip | новые программы сами правил не добавляют |
Ниже идёт таблица правил: в столбце To — порт или профиль, в Action — что с ним делать (ALLOW — разрешить, DENY — запретить, LIMIT — разрешить с ограничением), в From — откуда. Anywhere значит «с любого адреса». Строки с пометкой (v6) — те же правила для IPv6: ufw добавляет их сам.
Основные команды
| Команда | Что делает |
|---|---|
sudo ufw status | включён ли фаервол и какие правила есть |
sudo ufw status numbered | правила с номерами — чтобы удалить по номеру |
sudo ufw allow 443/tcp | открыть порт 443 для TCP |
sudo ufw allow proto tcp from 198.51.100.7 to any port 3306 | открыть порт только для одного адреса |
sudo ufw deny 8080/tcp | запретить подключения к порту |
sudo ufw limit OpenSSH | SSH с защитой от перебора паролей — ниже |
sudo ufw delete allow 443/tcp | удалить правило: повторите его после delete |
sudo ufw delete 3 | удалить правило номер 3 из status numbered |
sudo ufw app list | профили программ, например OpenSSH |
sudo ufw app info OpenSSH | какие порты открывает профиль |
sudo ufw --dry-run allow 80/tcp | показать, что изменится, ничего не меняя |
sudo ufw disable | выключить фаервол, правила сохранятся |
Подробно об открытии портов — в инструкции как открыть порт, о проверке снаружи — как проверить, открыт ли порт.
Защита SSH от перебора паролей
Правило limit пропускает подключения, но запрещает адресу, который за 30 секунд пытается подключиться 6 раз и больше. Так ufw мешает ботам перебирать пароли.
sudo ufw limit OpenSSHЕсли правило allow OpenSSH уже есть, ufw заменит его и ответит Rule updated. Учтите: скрипт, который подключается к серверу по SSH много раз подряд с одного адреса, тоже может попасть под ограничение.
Как выключить или начать заново
| Команда | Что будет |
|---|---|
sudo ufw disable | фаервол выключится и не включится после перезагрузки; правила останутся |
sudo ufw enable | включить снова с прежними правилами |
sudo ufw reset | выключить и удалить все правила; ufw спросит подтверждение |
После sudo ufw reset начните с начала страницы: сначала sudo ufw allow OpenSSH, потом sudo ufw enable.
Ошибки и как их исправить
| Что видно | Что значит | Что сделать |
|---|---|---|
после sudo ufw enable не подключиться по SSH | правила для SSH не было | войдите через консоль в панели провайдера и выполните sudo ufw allow OpenSSH |
| SSH работает на другом порту, после enable входа нет | профиль OpenSSH открыл не тот порт | через консоль откройте свой порт: sudo ufw allow 2222/tcp, где 2222 — ваш порт |
Could not find a profile matching 'OpenSSH' | профиля OpenSSH на сервере нет | откройте порт номером: sudo ufw allow 22/tcp |
Skipping adding existing rule | такое правило уже есть | ничего делать не нужно |
Could not delete non-existent rule | после delete правило записано не так, как при добавлении | посмотрите sudo ufw status numbered и удалите по номеру |
You need to be root to run this script | ufw запущен без sudo | повторите команду с sudo |
sudo: ufw: command not found | ufw не установлен | sudo apt install ufw |
| порт открыт в ufw, а снаружи не подключиться | порт закрыт фаерволом в панели провайдера или программа его не слушает | как проверить |
| порт контейнера доступен, хотя в ufw он закрыт | Docker открывает порты мимо ufw | разбор |
Источники
- Справка ufw для Ubuntu 24.04 — команды enable, disable, status, allow, deny, limit, delete, reset, app list и --dry-run; правило limit — 6 подключений за 30 секунд.
- Документация Ubuntu Server: Firewall — ufw в Ubuntu изначально выключен, профили программ в /etc/ufw/applications.d.
- Пакет ufw в Ubuntu 24.04: conf/ufw.defaults и conf/ufw.conf — входящие по умолчанию закрыты, исходящие открыты, уровень журнала low.
- Пакет ufw в Ubuntu 24.04: исходный код — тексты ответов Status, Default, Rule updated, Could not find a profile matching.
- Список файлов пакета openssh-server в Ubuntu 24.04 — профиль ufw /etc/ufw/applications.d/openssh-server.
Сверено 11 октября 2026 года.
Что почитать дальше
- Как открыть портufw, панель провайдера и Windows.
- Как проверить, открыт ли портпроверка с другого компьютера.
- Порт 22 и SSHкак проверить и защитить вход по SSH.
- Команды Linux для новичкашпаргалка по командам.
Проверено и обновлено: 11.10.2026