Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Настройка фаервола в Ubuntu с помощью утилиты UFW

7008
7 минут чтения
Средний рейтинг статьи: 5

Грамотная настройка политики работы межсетевого экрана – основа безопасности в операционной системе и отдельно взятых приложениях. С этой целью на платформе Ubuntu используют модуль UFW (Uncomplicated Firewall). Это средство настройки брандмауэра IPTables. По умолчанию он неактивен. Работать с приложением можно как через консоль, так и в графическом интерфейсе Gufw, который подключается дополнительно.

Без использования сетевого экрана пользователь рискует потерей денег, персональных данных или даже превращением сервера (локальной машины) в часть ботнета, рассылающего спам. Включение брандмауэра не исключает вероятности успешных хакерских атак, зато гарантированно отсекает большую часть запросов со стороны недоброжелателей. Поэтому есть смысл сразу после инсталляции операционной системы Linux включать сетевую защиту.

Настройка Фаервола В Ubuntu С Помощью Утилиты Ufw

VDS и VPS

Гибкие виртуальные серверы с почасовым
биллингом по всему миру: Россия, Азия и Европа.

Подготовка к настройке

Первое, что понадобится для работы с Firewall Ubuntu – это авторизоваться в системе в качестве суперпользователя. Без этого невозможно выполнение команд под sudo. Второй шаг заключается в проверке, есть ли вообще указанная утилита на компьютере. По умолчанию она предустановлена вместе с Ubuntu, но лучше убедиться в ее наличии. Вводим:

    

В ответ система выдаст Status: inactive. Все верно, утилита имеется, но находится в неактивном состоянии. Если ответ какой-то иной, нужно инсталлировать ПО вручную. Для этого внесем:

    

То же понадобится сделать, если используется другой релиз Linux. Например, в Debian приложение не входит в стандартную поставку. Пока операционная система никак не защищена, удаленному пользователю легко открыть любой порт Ubuntu. Иногда приходится работать с компьютером, на котором ранее уже проводилась настройка UFW. Тогда при запросе текущего статуса приложения в консоли начнут перечисляться заданные правила.

Например, на экране высветится сообщение:

    

Оно означает, что брандмауэр был ранее активирован и настроен для подключения через протокол SSH с использованием порта 22. Подобную проверку желательно проводить и после изменения параметров, чтобы убедиться в доступности сервера до завершения текущего сеанса и в дальнейшем без проблем подключаться к нему для продолжения работы.

Первоначальная настройка

Сразу после активации сетевой экран автоматически настроен на запрет абсолютно всех входящих соединений. В то же время разрешены все без исключения исходящие, инициированные хоть самим пользователем, хоть какой-либо программой. Решение объяснимо – чаще атаки имеют «внешний» характер, а только что установленная операционная система Ubuntu чиста на предмет вирусов, если при выборе дистрибутива пользовались официальными репозиториями.

Правила для закрытия входящих и открытия исходящих активируются так:

    

Чтобы пользователь мог сам зайти на сервер, необходимо добавить разрешение на входящий коннект по защищенному каналу SSH. Это выполняется командой:

    

По умолчанию все приложения, использующие такой канал соединения, используют порт 22. UFW знает имена распространенных служб — SSH, SFTP, HTTP, HTTPS, поэтому в приведенном примере внесено именно название, а не номер порта. С другой стороны, система позволяет включить коннект через нестандартный «канал». Тогда команда поменяется:

    

Теперь пользователь явно указал SSH-демону, чтобы тот прослушивал порт 443, а не стандартный 22. Подобный шаг позволяет усилить защиту сервера, если, например, существуют риски утраты паролей или с одной локальной машины работают несколько человек, занимающихся настройкой и администрированием разных удаленных компьютеров.

После ввода перечисленных команд можно запускать Firewall. Это осуществляется так:

    

После ввода на экран выводится предупреждение:

    

Оно означает, что запуск утилиты приведет к принудительному завершению открытых соединений. На этом шаге важно убедиться, что соединение по SSH действительно было разрешено. Иначе при согласии (нажатие Y) будет заблокирована и эта возможность. Если все в порядке, пользователю остается согласиться с запуском и начать работать с уже защищенным сервером.

О дополнительных правилах

Помимо соединения по SSH-каналу, востребована возможность подключиться к удаленной машине по протоколам HTTP (по умолчанию 80 порт), HTTPS (443 порт), FTP (21 порт). Первый нужен для работы сайтов без сертификата SSL, второй уже применяют при подключении криптографической защиты домена, а третий – для передачи данных через стандартные файловые менеджеры.

Инициирование функции Open Port в UFW Ubuntu всегда одинаково. Включение доступа по протоколу HTTP:

    

или

    

Аналогично для HTTPS:

    

или

    

Для протокола FTP:

    

или:

    

Если же требуется активация доступа для целого диапазона портов, команда будет выглядеть так:

    

или

    

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

    

Объединенный вариант, включающий и конкретный IP, и нужный порт, выглядит так:

    

При необходимости указания диапазона разрешенных IP-адресов команда чуть видоизменится:

    

Об ограничениях

Возникают ситуации, когда от администратора требуют ограничить ранее предоставленный доступ. Например, при смене провайдера вместе с выделенными IP-адресами. В этом случае прибегают к двум вариантам – отключить отдельные протоколы-порты или вообще удалить все правила, а затем заново настроить систему под новые параметры.

Пример с отключением протокола HTTPS:

    

Или с блокировкой конкретного IP-адреса:

    

При удалении правил можно воспользоваться возможностью выбрать конкретный номер, чтобы все остальные остались без изменений, и полностью «избавиться» от старых настроек. Первый способ выглядит следующим образом:

  1. Ввести команду:
        
  2. На экране появится сообщение:
        
  3. Выполнить команду удаления
        

Второй вариант относится к конкретным протоколам, когда отменяются все ранее установленные для них диапазоны портов, IP-адресов. Выглядит команда так:

    

или

    

В крайнем случае можно прибегнуть к полному отключению брандмауэра. Например, при поиске причины неработоспособности облачной программы, сайта, иного сервиса. Команда деактивации:

    

Сброс настроек в заводское состояние осуществляется вводом:

    

После такой операции перед перезагрузкой Ubuntu или завершением сеанса надо обязательно настроить соединение хотя бы по SSH-каналу. Это подходит для ситуаций, когда компьютер настраивался «неизвестно кем и как» и проще все настроить с нуля, чем разбираться с действующими допусками по удаленному соединению с сервером.

Подготовили для вас выгодные тарифы на облачные серверы

Cloud MSK 15

477 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

657 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение

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

7008
7 минут чтения
Средний рейтинг статьи: 5

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server