How-to-Install-and-Configure-UFW-–-An-Un-complicated-FireWall-in-Debian_Ubuntu

Как установить и настроить UFW (Uncomplicated Firewall) в Debian/Ubuntu?

FirewallSecurity

Как установить и настроить UFW (Uncomplicated Firewall) в Debian/Ubuntu? Поскольку компьютеры связаны друг с другом, услуги распространяемые в компьютерной сети быстро растут. Электронная почта, социальные сети, интернет-магазины, чаты, веб-конференции — это сервисы, которыми пользуется пользователь. Но все эти сервисы это как палка о двух концах. Также используя данные сервисы существует возможно получить вредоносное ПО на компьютеры в сети (вирусы, вредоносные программы, троянские приложения…).

Install-UFW-Firewall

 

Интернет, как самая большая компьютерная сеть, не всегда наполнена «хорошими» людьми. Чтобы наши компьютеры/сервера были в безопасности, мы должны защищать их.

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

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

 

Iptables — это один из брандмауэров, который широко используется на серверах. Это программа, используемая для управления входящим и исходящим трафиком на сервере на основе набора правил. Как правило, вход на сервер допускается только доверенным соединениям. Но IPTables работает из режиме консоли, что делает его настройку в некотором роде сложной.

 

 

Руководство по основнам IPTables (брандмауэр Linux)

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

Для уменьшения сложности возникающей при настройке IPTables, существует множество довольно интересных вариантов. Если вы используете Ubuntu Linux, вы можете встретить UFW в качестве инструмента брандмауэра по умолчанию. Давайте познакомимся с брандмауэром UFW.

 

Что такое UFW?

UFW (Uncomplicated Firewall) — это интерфейс для наиболее широко используемого брандмауэра iptables. UFW предоставляет собой структуру для управления netfilter, а также предоставляет интерфейс командной строки для управления брандмауэром. Это довольно удобный и простой в использовании интерфейс для новичков в Linux, которые еще не очень знакомы с концепциями брандмауэра.

Хотя, с другой стороны, как раз таки сложные команды помогают администраторам устанавливать более сложные правила, используя интерфейс командной строки. Но всё же, именно UFW является основой для других дистрибутивов, таких как Debian, Ubuntu и Linux Mint.

 

Основы использования UFW

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

$ sudo dpkg --get-selections | grep ufw

ufw install

 

 

Если UFW не установлен, вы можете установить его с помощью команды apt, как показано ниже:

$ sudo apt-get install ufw

 

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

$ sudo ufw status

 

Если вы обнаружили статус: inactive, это означает, что он не активен или отключен.

 

 

 

Включение/выключение UFW

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

$ sudo ufw enable

Firewall is active and enabled on system startup

 

 

Чтобы отключить UFW, просто введите:

$ sudo ufw disable

 

Вывод списка правил UFW

После активации брандмауэра вы можете добавить в него свои правила. Если вы хотите увидеть, каковы правила по умолчанию, вы можете ввести:

$ sudo ufw status verbose

 

Пример вывода
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

 

Как добавить правила UFW?

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

Разрешить доступ ssh
$ sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

 

 

Если вы проверите снова статус UFW, вы увидите вывод, подобный этому:

$ sudo ufw status

To Action From
-- ----------- ------
22 ALLOW Anywhere
22 ALLOW Anywhere (v6)

 

 

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

$ sudo ufw status numbered

To Action From
------ ----------- ------
[1] 22 ALLOW Anywhere
[2] 22 ALLOW Anywhere (v6)

 

 

Первое правило гласит, что разрешено входящее соединение из любого места как для пакетов tcp, так и для пакетов udp на порте 22. Что если вы хотите разрешить только tcp пакеты? Вы можете добавить параметр tcp после номера порта. Вот пример с такой команды:

$ sudo ufw allow ssh/tcp

To Action From
------ ----------- ------
22/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere (v6)

 

 

Запрет доступа

Те же приемы применяются к правилу deny. Допустим, вы хотите запретить правило FTP. Для этого вам нужно ввести следующую команду:

$ sudo ufw deny ftp

To Action From
------ ----------- ------
21/tcp DENY Anywhere
21/tcp DENY Anywhere (v6)

 

 

Добавление определенного порта

Иногда у нас есть собственный порт, который не соответствует каким-либо стандартам. Допустим, мы изменили порт ssh на нашей машине с 22 на 2290. Чтобы разрешить доступ к порту 2290, мы можем добавить его следующим образом:

$ sudo ufw allow 2290

To Action From
-- ----------- ------
2290 ALLOW Anywhere
2290 ALLOW Anywhere (v6)

 

 

Также в правило возможно добавить диапазон портов. Если мы хотим открыть порты в диапазоне с 2290 по 2300 по протоколу tcp, то команда будет таковой:

$ sudo ufw allow 2290:2300/tcp

To Action From
------ ----------- ------
2290:2300/tcp ALLOW Anywhere
2290:2300/tcp ALLOW Anywhere (v6)

 

 

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

$ sudo ufw allow 2290:2300/udp

To Action From
------ ----------- ------
2290:2300/udp ALLOW Anywhere
2290:2300/udp ALLOW Anywhere (v6)

 

 

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

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

 

 

Добавление конкретного IP

Ранее мы добавили правила, основанные на правиле или порте. UFW также позволяет добавлять правила на основе IP-адреса. Вот пример такой команды:

$ sudo ufw allow from 192.168.0.104

 

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

$ sudo ufw allow form 192.168.0.0/24

To Action From
-- ----------- ------
Anywhere ALLOW 192.168.0.104
Anywhere ALLOW 192.168.0.0/24

 

 

Как видите, из вывода у нас будет ограничен только источник соединения. В то время как пункт назначения — который представлен столбцом To — определён как «Anywhere«. Вы также можете указывать пункт назначения с помощью параметра «To«. Давайте посмотрим пример, чтобы разрешить доступ к порту 22 (SSH):

$ sudo ufw allow to any port 22

 

Приведенная выше команда разрешит доступ из любого места и с любого протокола на порт 22.

 

 

Объединение параметров

Для более сложных правил вы также можете комбинировать IP-адрес, протокол и порт. Допустим, мы хотим создать правило, ограничивающее соединение IP 192.168.0.104, на протоколе tcp и порта 22. Тогда команда будет такой:

$ sudo ufw allow from 192.168.0.104 proto tcp to any port 22

 

Синтаксис для создания запрещающего правила аналогичен разрешающему правилу. Вам нужно только изменить параметр allow на deny.

 

 

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

Иногда вам может понадобиться удалить существующее правило. С UFW очень легко удалять правила. В приведенном ниже выводе, у вас уже есть правило, и вы хотите удалить его:

To Action From
-- ----------- ------
22/tcp ALLOW 192.168.0.104
21/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere (v6)

 

Есть два способа удаления правил.

Способ 1

Команда ниже удалит правила, соответствующие службе ftp. Таким образом, 21/tcp, что означает порт ftp, будет удален.

$ sudo ufw delete allow ftp

 

Способ 2

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

$ sudo ufw delete allow ssh

 

 

Или же:

$ sudo ufw delete allow 22/tcp

 

Вы можете получить сообщение об ошибке, например:

Could not delete non-existent rule
Could not delete non-existent rule (v6)

 

Тогда вы можете проделать такой трюк 😈 Как мы упоминали выше, вы можете выводить номер правила, соответственно вы можете использовать эту хитрость чтобы указать, какое именно правило вы хотите удалить. Сначала выведите список правил с их порядковыми номерами:

$ sudo ufw status numbered

To Action From
-- ----------- ------
[1] 22/tcp ALLOW 192.168.0.104
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)

 

 

Затем вы можете удалить первое правило, используя. Нажмите «y», чтобы навсегда удалить правило.

$ sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

 

 

Второй метод запрашивает подтверждение пользователя перед удалением правила, а первый метод — нет.

 

 

Как сбросить правила?

В некоторых ситуациях вы можете удалить/сбросить все правила. Вы можете сделать это, выполнив:

$ sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

 

 

Если вы нажмете «y», то 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 также использует «обычный английский» в качестве параметров для команд.

Allowdenyreset являются одними из таких простых английских слов. Я полагаю, что есть еще много вариаций интерфейса iptables. Но, безусловно, ufw — одна из лучших альтернатив для пользователей, которые хотят быстро, легко и безопасно настроить свой брандмауэр. Пожалуйста, посетите страницу руководства ufw, набрав man ufw для получения более подробной информации.

 

 

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

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

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

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии 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, подайте заявку или получите бесплатную консультацию.
FirewallSecurity

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

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

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

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

Самое читаемое
Меню