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

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

Рубрики:

Linux, Сети Linux

Метки:

, , , , , ,

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

В этой статье мы расскажем, как установить и настроить брандмауэр UFW в дистрибутивах Ubuntu и Debian.

 

Введение

Прежде чем вы начнете настройку, убедитесь, что вы вошли в ваш сервер Ubuntu или Debian с пользователем sudo или с учетной записью root. Если у вас не создан пользователь с правами sudo, вы можете создать его, используя следующие команды (выполните их как пользователь root):

 

Установка UFW Firewall на Ubuntu и Debian

UFW (Uncomplicated Firewall) обычно установлен по умолчанию в Ubuntu и Debian, если нет, установите его с помощью диспетчера пакетов APT, используя следующую команду:

 

Проверка брандмауэра UFW

После завершения установки вы можете проверить статус UFW:

 

При первой установке брандмауэр UFW отключен по умолчанию, в терминале вы получите следующее сообщение:

ufw

 

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

Вы можете активировать или включить брандмауэр UFW, используя следующую команду:

 

ufw

Чтобы отключить брандмауэр UFW, используйте следующую команду:

 

Политика безопасности для UFW

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

Политики брандмауэра UFW находится в файле /etc/default/ufw и могут быть изменены с помощью следующей команды.

 

Профили приложений UFW

При установке программного пакета с использованием диспетчера пакетов APT они будут включать в себя профиль приложения в каталоге /etc/ufw/applications.d, который содержит настройки UFW.

Вы можете просмотреть все доступные профили приложений на своем сервере, используя следующую команду:

 

В зависимости от комплектации установленных пакетов в терминале вы получите примерно такой выход:

ufw

 

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

 

ufw

 

Включение UFW под IPv6

Если ваш сервер настроен на IPv6, убедитесь, что ваш брандмауэр UFW настроен с поддержкой IPv6 и IPv4. Чтобы проверить его настройки, откройте файл конфигурации UFW, используя ваш любимый редактор (в нашем случае любимый редактор — vi):

 

Затем убедитесь, что значение около «IPV6» — «yes» в файле конфигурации, как показано в выводе ниже:

 

Сохраните и выйдите. Затем перезапустите брандмауэр следующими командами:

 

 

Разрешение соединения SSH на UFW

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

Давайте настроим SSH-подключение с нашим сервером, используя следующую команду:

 

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

 

Чтобы заблокировать все подключения SSH, введите следующую команду.

 

 

Включение определенных портов в UFW

Вы также можете открыть определенный порт в брандмауэре, чтобы разрешить подключение через него к определенному сервису. Например, если вам необходимо настроить веб-сервер, который по умолчанию прослушивает порт 80 (HTTP) и 443 (HTTPS).

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

Открытие порта 80 HTTP на UFW

 

Открытие порта 443 HTTPS на UFW

 

 

Разрешим диапазоны портов для UFW

Предположим, что у вас есть приложения, которые вы хотите запускать на нескольких портах (5000-5003), вы можете добавить все эти порты, используя следующие команды.

 

Разрешим определенные IP-адреса

Если вы хотите разрешить соединения на всех портах с определенного IP-адреса 192.168.56.1, вам необходимо указать этот IP-адрес следующим образом:

 

 

Разрешим определенные IP-адреса по конкретному порту

Чтобы разрешить подключение на определенном порту (например, на порту 22) с вашего домашнего компьютера с IP-адресом 192.168.56.1, вам необходимо добавить номер порта и после него IP-адрес с которого будет происходить доступ:

 

 

Разрешим подсети для конкретного порта

Чтобы разрешить соединения для определенных IP-адресов от 192.168.1.1 до 192.168.1.254 для порта 22 (SSH), выполните следующую команду:

 

 

Разрешим доступ через определенный сетевой интерфейс

Чтобы разрешить соединения с определенным сетевым интерфейсом eth2 для конкретного порта 22 (SSH), выполните следующую команду:

 

 

Запретим соединения для UFW

По умолчанию все входящие соединения блокируются, если вы специально не открыли соединение с UFW. Например, вы открыли порты 80 и 443, а ваш веб-сервер подвергся атаке из неизвестной сети 11.12.13.0/24.

Чтобы заблокировать все подключения из этого сетевого диапазона 11.12.13.0/24, вы можете использовать следующую команду.

 

Если вы хотите заблокировать соединения на портах 80 и 443, вы можете использовать следующие команды:

 

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

Существует два способа удаления правил UFW, номера правила и фактического правила.

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

 

Образец вывода

 

Чтобы удалить правило номер 1, используйте следующую команду:

 

Второй способ — непосредственно удалить правило, используя фактически его имя, например, для удаления правила, указать номер порта с протоколом, как показано ниже:

 

«Пробный запуск» на UFW

Вы можете запускать любые команды ufw, не внося никаких изменений в системный брандмауэр, используя флаг -dry-run, этот флаг просто показывает изменения, которые предположительно произойдут.

 

Сброс брандмауэр UFW

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

 

Расширенная функциональность UFW

По сути брандмауэр UFW может делать все, что может сделать iptables. Этого можно добиться с помощью разных наборов файлов правил, которые являются не чем иным, как iptables-подобных соответствующих текстовые файлы.

Настройка ufw или размещение дополнительных команд iptables, не разрешенных с помощью команды ufw, — это всего лишь вопрос редактирования нескольких текстовых файлов.

  • /etc/default/ufw: основная конфигурация для политик по умолчанию, поддержка IPv6 и модули ядра.
  • /etc/ufw/before[6].rules: правила в этих файлах выполняются перед любыми правилами, добавленными с помощью команды ufw.
  • /etc/ufw/after[6].rules: правила в этих файлах выполняются после любых правил, добавленных с помощью команды ufw.
  • /etc/ufw/sysctl.conf: сетевые настройки ядра.
  • /etc/ufw/ufw.conf: устанавливает, включена ли функция ufw при загрузке и устанавливает значение LOGLEVEL.

На этом всё! UFW — хороший интерфейс для iptables с простым в использовании интерфейсом для пользователя. Пользователям не нужно запоминать сложные правила iptables, так как UFW предоставляет удобное руководство для настройки.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Сети Linux

Метки:

, , , , , ,

Больше похожих постов

5 комментариев. Оставить новый

  • доб.день. Например, на мой шлюз («GW1» — машина с Linux) пробрасывается порт от некоторого внешнего сервиса с удаленной машины через интернет. Пусть это будет порт 5151. Я хочу дать доступ к этому порту из внутр. офисной сети. Т.е. как организовать маппинг порта во внутр. сеть?

    Ответить
  • Приветствую!
    Подскажите как сделать такое правило:
    на сервере несколько сервисов/сайтов.
    Нужно только для одного, запретить все входящие. Но разрешить с определенных адресов.

    Ответить
    • Владислав
      20 января 2022 20:52

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

      Ответить
  • СТРАННИК ОЛЕГ
    9 мая 2021 11:21

    Думаю это невозможно… Сайты определяются на уровне веб сервера а не на уровне файрвола. Уровень файрвола это лишь комбинация Адрес:Порт.
    Вот пишу и думаю: Файрволл или файрвол? Ох эти англоязычные… русские слова…

    Ответить
  • СТРАННИК ОЛЕГ
    9 мая 2021 11:35

    Интересное новшество: ufw.
    Я с древних времён использовал ferm.
    Сделал конфиг… и таскал его по разным серверам… Базовые принципы всё равно были одни и те же… Небольшие модификации и в путь…

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню