Работа с UFW в Ubuntu
Что такое UFW
UFW, или Uncomplicated Firewall, это приложение для управления брандмауэром в Ubuntu, которое основано на iptables. Он предоставляет удобный способ настройки брандмауэра по умолчанию для Ubuntu Linux. Команды в UFW идентичны английским, что облегчает их запоминание. UFW поддерживает как IPv4, так и IPv6.
Как установить UFW
В Ubuntu 20.04 UFW обычно устанавливается автоматически по умолчанию. Вы можете проверить это, используя следующую команду:
which ufw
Как видите, у нас уже есть UFW. Но если по какой-то причине у вас его нет, вы можете установить его, используя следующую команду:
apt install ufw
Далее введите эту команду, чтобы активировать UFW:
ufw enable
Как вы видите выше, он уже включен, и будет оставаться активным после перезагрузки операционной системы.
Основные команды в UFW
Команда «ufw enable» активирует UFW с предустановленными правилами. Чтобы убедиться, что UFW функционирует, просто введите эту команду:
Если вам нужно отключить UFW, просто выполните эту команду:
ufw disable
Мы получим следующий ответ:
Мы замечаем, что UFW не активен и отключен.
Как добавить UFW правило
Когда вы включите UFW, по умолчанию все входящие соединения будут блокированы. Поэтому первым шагом будет разрешить доступ по SSH, если вы хотите управлять сервером удаленно. Команда «ufw allow sshport» откроет доступ по SSH. Замените «sshport» на порт, на котором работает SSH-сервер. По умолчанию это порт 22.
ufw allow 22
И вот что мы получаем в результате:
root@firstbyte:~# ufw allow 22 Rule added Rule added (v6)
Если вы хотите разрешить входящие подключения только через порт 22 по протоколу TCP, добавьте в конце команды «/tcp», как показано в следующем примере:
ufw allow 22/tcp
Когда служба, для которой вы хотите разрешить доступ, слушает свой порт по умолчанию, вы можете использовать имя службы вместо номера порта. Это удобно, так как вам не нужно знать точный номер порта. UFW автоматически найдет правильный номер порта для вас в файле /etc/services.
Эта команда разрешит доступ через порт SSH по его умолчанию:
ufw allow ssh
Теперь проверьте данное правило с помощью:
ufw status
Мы увидим результат, как указано выше.
Запретное правило в UFW
Команда «deny» выполняет ту же функцию, что и команда «allow», но используется для блокировки порта в брандмауэре:
Вы можете заблокировать порт следующим образом:
ufw deny 80
Мы видим следующий результат:
Вот пример использования команды «deny» с именем службы. В этом случае мы блокируем порт HTTP (порт 80):
ufw deny http
Важно:
Все порты и соответствующие им имена служб перечислены в файле «/etc/services».
Расширенные команды UFW
Давайте рассмотрим синтаксис команды UFW для разрешения части диапазонов портов, например, для пассивных портов FTP, а также для ограничения доступа только с определенного IP-адреса или подсети.
- Разрешение диапазона портов
В UFW можно разрешить целый диапазон портов. Некоторые службы, такие как FTP или IRC, используют несколько портов для общения с клиентами.
В следующем примере мы разрешим диапазон портов от 6660 до 6670:
ufw allow 6660:6670/tcp ufw allow 6660:6670/udp
Эта команда разрешит соединения к портам 6660-6670 как по протоколу TCP, так и по протоколу UDP.
2. Разрешить определенный IP-адрес
Вы можете разрешить доступ с определенного IP-адреса ко всем службам, указав его с помощью опции «from». Это может быть полезно, например, если у вас есть статический IP-адрес дома или в офисе, и вы хотите получить доступ ко всем службам на вашем сервере. Следующая команда позволит IP-адресу 10.10.10.10 получить доступ ко всем портам на сервере:
ufw allow from 10.10.10.10
- Разрешить подсеть
Если вы хотите разрешить доступ всем IP-адресам в вашей сети, вы можете добавить IP-подсеть (диапазон IP-адресов) в команду UFW таким образом:
ufw allow from 10.10.10.0/24
Результат:
WARN: Rule changed after normalization
Rule added
- Разрешить доступ с определенного IP-адреса к одному порту
Если вы хотите ограничить доступ к определенному порту только с определенного IP-адреса, вы можете комбинировать ранее изученные команды UFW.
Например, если вы хотите, чтобы только IP-адрес 10.10.10.10 имел доступ к порту SSH 22 по протоколу TCP, а другие IP-адреса были блокированы, вы можете использовать следующую команду:
ufw allow from 10.10.10.10 proto tcp to any port 22
Результат:
Rule added
- Разрешить весь входящий трафик на определенный порт
Если вы хотите разрешить все соединения через порт 80, вы можете воспользоваться следующей командой:
ufw allow to any port 80
Удаление правила UFW
В этом разделе вы узнаете, как удалить правило, которое было сохранено в UFW. Для этого вы можете использовать команду «delete». Просто введите «ufw delete», а затем выберите опцию, которую вы хотите удалить, будь то разрешение или запрет.
Вот несколько примеров:
Удаление правила разрешения доступа к SSH по имени службы:
ufw delete allow ssh
Результат:
Rule deleted
Rule deleted (v6)
Эта команда удалит правило «allow ssh». Пожалуйста, будьте внимательны и не заблокируйте себя от доступа к серверу!
Удалите правило «deny» на порте 80:
ufw delete deny 80
Результат:
Rule deleted Rule deleted (v6)
Если у вас есть сложное правило, существует простой способ идентифицировать и удалить его по его идентификатору. Выполните следующую команду, чтобы получить список всех правил вместе с их идентификаторами:
ufw status numbered
Теперь удалите правило доступа к SSH для IPv6, используя только номер правила:
ufw delete 9
Результат:
Deleting:
allow 22/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
Отключить и сбросить настройки UFW
Если вы хотите временно отключить UFW, не удаляя свои правила, вы можете воспользоваться командой «disable»:
ufw disable
Результат:
Firewall stopped and disabled on system startup
Если вы хотите полностью выключить UFW и удалить все установленные правила, вы можете воспользоваться командой «reset»:
ufw reset
Результат:
Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up ‘user.rules’ to ‘/etc/ufw/user.rules.20230426_231930’
Backing up ‘before.rules’ to ‘/etc/ufw/before.rules.20230426_231930’
Backing up ‘after.rules’ to ‘/etc/ufw/after.rules.20230426_231930’
Backing up ‘user6.rules’ to ‘/etc/ufw/user6.rules.20230426_231930’
Backing up ‘before6.rules’ to ‘/etc/ufw/before6.rules.20230426_231930’
Backing up ‘after6.rules’ to ‘/etc/ufw/after6.rules.20230426_231930’
Заключение
UFW (Uncomplicated Firewall) — это инструмент, предназначенный для управления брандмауэром по умолчанию в Ubuntu. Это руководство по UFW поможет вам начать использовать этот удобный инструмент для настройки брандмауэра. Если вам интересно узнать больше о UFW, вы можете посетить вики Ubuntu или страницу ufw-manpage.
Наши услуги
VDS/VPS на Ubuntu
Аренда выделенного сервера
Colocation (размещение серверов)
Стабильные.
В рублях.
Не зависят от $ и €.
Мы ♥ !
Скидка при оплате за год!
Договор и полный комплект бухгалтерских документов по почте.