How-to-Setup-UFW-Firewall-on-Ubuntu-and-Debian

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

Новости

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

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

 

Введение

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

# adduser username
# usermod -aG sudo username
# su - username
$ sudo whoami

 

 

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

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

$ sudo apt install ufw

 

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

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

$ sudo ufw status verbose

 

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

Status: inactive

 

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

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

$ sudo ufw enable

 

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

$ sudo ufw disable

 

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

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

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

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

 

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

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

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

$ sudo ufw app list

 

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

Available applications:
APACHE
APACHE Full
APACHE SECURE
CUPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission

 

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

$ sudo ufw app info 'Apache'

 

Profile: Apache
Title: Web Server
Description: Apache V2 is the next generation f the omnipresent Apache web server.
Ports:
80/tcp

 

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

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

$ sudo vi /etc/default/ufw

 

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

IPV6=yes

 

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

$ sudo ufw disable
$ sudo ufw enable

 

 

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

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

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

$ sudo ufw allow ssh

 

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

$ sudo ufw allow 2222/tcp

 

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

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp [If using custom SSH port]

 

 

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

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

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

Открытие порта 80 HTTP на UFW
$ sudo ufw allow http [By service name]
$ sudo ufw allow 80/tcp [By port number]
$ sudo ufw allow 'Apache' [By application profile]

 

Открытие порта 443 HTTPS на UFW
$ sudo ufw allow http
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

 

 

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

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

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

 

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

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

$ sudo ufw allow from 192.168.56.1

 

 

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

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

$ sudo ufw allow from 192.168.56.1 to any port 22

 

 

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

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

$ sudo ufw allow from 192.168.1.0/24 to any port 22

 

 

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

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

$ sudo ufw allow in on eth2 to any port 22

 

 

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

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

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

$ sudo ufw deny from 11.12.13.0/24

 

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

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

 

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

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

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

$ sudo ufw status numbered

 

Образец вывода
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere

 

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

$ sudo ufw delete 1

 

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

$ sudo ufw delete allow 22/tcp

 

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

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

$ sudo ufw --dry-run enable

 

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

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

$ sudo ufw reset
$ sudo ufw status

 

Расширенная функциональность 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 с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Новости

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

Площадка Prozorro вводит денежное вознаграждение по bug bounty, полный курс по кибербезопасности секреты хакеров Минск

Площадка Prozorro вводит денежное вознаграждение по bug bounty, полный курс по кибербезопасности секреты хакеров Минск

31
0
Украинская компания Prozorro решила выплачивать вознаграждения за уязвимости. Ранее она предлагала только призы и популяризацию деятельности исследователей. Однако теперь каждый,…
Как хакеры атаковали самую крупную IT-компанию в Украине: часть 1, защита информации курс лекции Минск

Как хакеры атаковали самую крупную IT-компанию в Украине: часть 1, защита информации курс лекции Минск

31
0
Первого сентября злоумышленники пробрались в сеть компании SoftServe. Сейчас киберполиция проводит активное расследование инцидента и пытается найти организаторов. Однако на…
Как хакеры атаковали самую крупную IT-компанию в Украине: часть 2, информационная безопасность курсы повышения квалификации Минск

Как хакеры атаковали самую крупную IT-компанию в Украине: часть 2, информационная безопасность курсы повышения квалификации Минск

38
0
Недавно злоумышленники напали на компанию SoftServe и похитили конфиденциальные данные. В результате сейчас правоохранительные органы проводят активное расследование инцидента. Однако…

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

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

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

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

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

Most Viewed Posts
Меню