Как настроить брандмауэр UFW в Linux



Попробуйте наш инструмент устранения неполадок

UFW на самом деле означает несложный брандмауэр, а не брандмауэр Ubuntu, как многие думают. Это название отражает тот факт, что его на удивление легко настроить. Большинству пользователей достаточно установить буквально три параметра, прежде чем они станут относительно безопасными. Тем, кто хочет установить некоторые расширенные параметры конфигурации, не придется ничего делать, кроме редактирования текстового файла. Хотя разработчики проекта Ubuntu изначально разработали именно этот брандмауэр, ufw также доступен во многих других дистрибутивах. Пользователи Debian, Arch, Linux Mint, Lubuntu и Xubuntu, скорее всего, уже установили его.



Проблема в том, что он включен сравнительно немногим пользователям. Хотя пользователям больше не нужно напрямую работать с iptables, Ubuntu заставляет ufw по умолчанию отключаться. Во многих реализациях Debian пакеты даже не установлены по умолчанию. Хорошая новость в том, что любой, кто хоть немного разбирается в терминалах, может укрепить свою систему.



Метод 1: включение UFW из командной строки

Предположим, у вас установлен пакет ufw, прежде чем вы попытаетесь установить его отдельно. Выполните эти команды прежде всего. Если вы столкнетесь с какими-либо ошибками на полпути, вы всегда можете вернуться и установить пакеты ufw позже без каких-либо проблем.



Если вы работаете со стандартной учетной записью, запустите sudo ufw enable и введите свой пароль администратора, если будет предложено. Вам должно быть сказано, что ufw включен и будет запускаться автоматически при запуске. Бежать sudo ufw статус в любом случае на всякий случай. Вам должна быть предоставлена ​​единственная строка вывода, которая гласит «Статус: активен» и ничего после нее.

С другой стороны, вам могли сказать, что ufw не установлен. Пользователи дистрибутивов на основе apt, таких как Debian, должны запускать sudo apt-get install ufw . Вы можете захотеть бежать sudo apt-get update а потом sudo apt-get upgrade чтобы убедиться, что ваши другие пакеты в порядке при установке. Пользователям Arch Linux потребуется запустить sudo pacman -Syu если они хотят привести свои пакеты в порядок, а затем sudo pacman -S ufw для установки ufw, но после этого все пользователи смогут продолжить как обычно. Выполните указанные выше действия и убедитесь, что запущенный sudo ufw enable возвращает вышеупомянутый ' Статус: активен ' линия.



Метод 2: отправка UFW базового набора правил

Инструменты брандмауэра используют набор правил, чтобы проверить, принимать ли пакет, отправленный на ваш компьютер по сети. Вы почти наверняка захотите выполнить следующие две команды:

sudo ufw по умолчанию разрешить исходящие

sudo ufw default deny incoming

Это гарантирует, что ufw всегда позволяет вам отправлять исходящий трафик на сетевой адаптер, что важно, если вы выполняете какую-либо работу в Интернете. Естественно, не стоит считать исходящие запросы опасными. Это также запрещает входящим запросам наносить какой-либо вред, что является правильной настройкой почти для всех домашних и бизнес-пользователей. Даже большинству игроков, которые играют в интенсивные онлайн-игры FPS, не нужно ничего большего, чем это. Большинство людей могут здесь остановиться, если при выполнении sudo ufw status по-прежнему возвращается сообщение о включении даже после перезагрузки компьютера. В процессе настройки больше нечего делать. Пользователи с любым видом ssh или продвинутыми сетевыми целями должны двигаться дальше.

Метод 3: расширенные параметры конфигурации UFW

Большинству пользователей не нужно читать дальше, но эти правила могут быть полезны для некоторых. Например, если вам нужно разрешить TCP-соединения на общем 80-м порту, вы можете запустить:

sudo ufw позволяет 80 / tcp

Вы также можете использовать sudo ufw allow from ###. ##. ##. ## / ## с реальным IP-адресом и фактическим номером подсети после косой черты. Имейте в виду, что 80 - допустимое число для этого использования, если вам нужно выполнить сетевое соединение через него. Используя что-то вроде sudo ufw разрешить http / tcp также действителен и может потребоваться в ситуации с сервером, но это действительно открывает банку червей, поскольку разрешает различные типы соединений.

Одна из наиболее популярных настроек - sudo ufw allow 22 , который открывает порт для ssh-соединений. Некоторые пользователи вместо этого выражают это как sudo ufw разрешить ssh , который работает так же хорошо. Хотя некоторые руководства могут посоветовать вам добавить обе строки, в большинстве случаев в этом нет необходимости и в конечном итоге это может привести к ненужным накладным расходам.

Если вы захотите удалить одно из ваших правил в будущем, вы можете просто запустить sudo ufw delete с указанием имени правила. Например, sudo ufw delete allow 80 / tcp отключил бы один из примеров, которые мы сделали выше.

Теперь, когда ты бежишь подробный статус sudo ufw вы можете увидеть гораздо более полную таблицу, если создали дополнительные правила. Если вы когда-нибудь захотите отключить брандмауэр в будущем, вы можете запустить sudo ufw disable, но очень мало ситуаций, когда вам это понадобится.

Иногда вы можете обнаружить, что вы получаете 504 ошибки тайм-аута шлюза, если используете ufw таким образом для защиты сервера. В этом случае может помочь изменение порядка нескольких правил. Разрешающие правила должны быть введены до запрещающих правил, поскольку ufw всегда ищет первое совпадение при синтаксическом анализе вашего списка из соображений безопасности. Удаление пары правил и последующее их добавление путем ввода sudo ufw по умолчанию разрешить первая строка должна исправить эту проблему. Вы также можете дополнительно удалить все повторяющиеся строки по соображениям производительности.

Бежать sudo ufw подробный и обратите особое внимание на то, в каком порядке находятся ваши строки DENY IN и ALLOW IN. Если у вас есть что-то на общем порте, например 80 или 22, которое читает DENY IN с последующим Anywhere на диаграмме перед другими ссылками на эти порты, тогда вы можете быть попытки заблокировать соединения до того, как они успеют пройти. Изменение их порядка устранит проблему. Размещение этих команд в правильном порядке в первую очередь поможет предотвратить проблемы в дальнейшем.

Пользователи с повышенными правами root на самом деле не должны использовать sudo перед каждой командой. Если вы получили какую-то ошибку по этому поводу, возможно, это ваша проблема. Проверьте конец приглашения, чтобы увидеть, стоит ли перед курсором знак # или $. Пользователи tcsh, у которых есть только% для приглашения, должны запустить whoami, чтобы узнать, от имени какого пользователя они работают.

Обычные пользователи, которые бегают подробный статус sudo ufw более чем вероятно, что после своего приглашения они все равно получат сравнительно мало отзывов. Вы, вероятно, просто увидите ту же строку, что и раньше.

Это потому, что эти пользователи просто работают с очень небольшим количеством правил. Однако в отношении этих правил может быть важно сделать предостережение. Хотя команда ufw default дополнительно позволяет вам использовать параметр reject, вы можете очень легко заблокировать себя из своей собственной структуры частного сервера или сделать другие странные вещи. Если вам нужно иметь sudo ufw разрешить ssh или другие подобные строки в вашем наборе правил, это должно быть сделано до того, как вы примените правила отклонения или отклонения по умолчанию.

Хотя существуют некоторые графические инструменты, такие как Gufw и kmyfirewall на основе Qt, настроить ufw из командной строки достаточно просто, так что они вам на самом деле не понадобятся. Если вам необходимо отредактировать файлы конфигурации напрямую, используйте команда для перехода в соответствующий каталог, а затем используйте sudo nanofw отредактировать его. Вы также можете изначально использовать больше ufw или меньше ufw, чтобы просто просмотреть текст, прежде чем вносить какие-либо изменения.

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

5 минут на чтение