Интересные статьи
Домены
Главная страница / Linux / Основы работы с UFW в Ubuntu 15.04

Основы работы с UFW в Ubuntu 15.04

UFW или Uncomplicated Firewall это приложение для управления межсетевым экраном на основе iptables. UFW установлен по умолчанию в Ubuntu и имеет относительно простую настройку.
UFW поддерживает как IPv4, так и IPv6.

Также UFW имеет интерфейс, если вы используете GNOME – установите guwf,а если KDEkcm-ufw.

В этой статье мы рассмотрим основы работы с UFW в Ubuntu 15.04

Всю статью я разделил на 7 этапов:

  1. Исходные данные
  2. Установка UFW
  3. Базовые команды UFW
  4. Команды Allow и Deny
  5. Продвинутые команды UFW
  6. Удаление правил UFW
  7. Отключение и сброс UFW

1. Исходные данные

  • Ubuntu 15.04
  • root права

2. Установка UFW

По умолчанию, UFW уже установлен в Ubuntu 15.04. Вы можете найти его с помощью команды:

which ufw

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

apt-get install ufw

После чего запустите его:

ufw enable

В результате увидите подобное сообщение:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

3. Базовые команды UFW

Команда "ufw enable" включила UFW и установила базовые правила. Вы можете проверить статус работы UFW следующей командой:

ufw status verbose

В результате увидите подобное:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Если хотите отключить UFW, используйте:

ufw disable

В ответ вы получите следующее сообщение:

Firewall stopped and disabled on system startup

1

4. Команды Allow и Deny

4.1 Команда Allow

После включения UFW, все входящие соединения будут заблокированы. Поэтому, первым делом нужно разрешить доступ по SSH, если вы управляете сервером удаленно.
Команда "ufw allow port" разрешит доступ к порту port (замените port на номер порта, для SSH по умолчанию – 22).

ufw allow 22

В результате увидите подобное сообщение:

Rules updated
Rules updated (v6) #For IPv6

Если вы хотите разрешить все входящие соединения к 22 порту, но только по протоколу TCP, добавьте в конец команды "/tcp":

ufw allow 22/tcp

Если сервис, к которому вы хотите разрешить входящие соединения работает на стандартном порту (например SSH – 22 порт), просто замените номер порта на имя сервиса.

Это сильно упрощает процесс открытия портов и избавляет от необходимости запоминать порты.
UFW берет стандартные порты в файле /etc/services.

Например, чтобы открыть доступ к SSH, используйте это:

ufw allow ssh

И проверим результат:

ufw status

2

4.2 Команда Deny.

Команда Deny обратна "Allow" т.е. она запрещает доступ к порту.

Например, чтобы закрыть доступ к порту 80, используйте:

ufw deny 80

Результат:

Rule added
Rule added (v6)

31

Также как и в команде "Allow", можно использовать имена сервисов, для блокирования стандартных портов.

Например заблокируем http порт (80):

ufw deny http

41

5. Продвинутые команды UFW

Немного углубимся в синтаксис команд UFW, в этой части рассмотрим работу с диапазонами.
(например, разрешить пассивный режим FTP и разрешим доступ только с одного IP или подсети).

5.1 Команда Allow для диапазона портов

Помимо разрешения доступа к одиночному порту, можно указать целый диапазон портов. Например, FTP или IRC используют несколько портов для связи с клиентами.

Разрешим доступ к IRC серверу, работающему на портах с 6660 по 6670:

ufw allow 6660:6670/tcp

ufw allow 6660:6670/udp

Это разрешит подключение к портам 6660-6670 по протоколам TCP и UDP.

5.2 Команда Allow для конкретного IP

Также вы можете разрешить доступ ко всем сервисам(портам) для конкретного IP адреса. Например, если вы имеете статический IP на домашнем сервере и хотите получить доступ к нему извне.

Разрешим доступ ко всем портам для IP 192.168.1.106:

ufw allow from 192.168.1.106

Результат:

Rule added

5.3 Команда Allow для подсетей

Если вы хотите разрешить полный доступ для целой подсети IP адресов, используйте:

ufw allow from 192.168.1.1/24

Результат:

WARN: Rule changed after normalization
Rule added

5.4 Команда Allow для доступа с конкретного IP к определенному порту

Если вы хотите разрешить доступ только с конкретного IP и к определенному порту, вы можете совместить команды, рассмотренные выше.

Разрешим доступ к порту 22 (SSH) только для IP 192.168.1.106, все остальные соединения будут отклонены:

ufw allow from 192.168.1.106 proto tcp to any port 22

Результат:

Rule added

5.5 Команда Allow разрешающая все входящие соединения к определенному порту

Разрешим все входящие соединения к порту 80:

ufw allow to any port 80

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

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

Например, удалим разрешающее правило для SSH:

ufw delete allow ssh

Результат:

Rule deleted
Rule deleted (v6)

Внимание, этой командой вы заблокируете доступ к серверу по SSH, не потеряйте контроль над сервером!

Если у вас множество правил, то самый простой способ идентификации и работы с правилами – работа с их ID.

Следующая команда выведет список правил с их ID:

ufw status numbered

Результат:

Status: active
 
     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

Удалим разрешающее правило для SSH по IPv6 (ID правила: 2)

ufw delete 2

7. Отключение и сброс UFW

Если вам нужно отключить UFW, но оставить правила, используйте команду:

ufw disable

Результат:

Firewall stopped and disabled on system startup

5

Если вы хотите отключить UFW и удалить все его правила, используйте:

ufw reset

Результат:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20150918_190351'
Backing up 'user.rules' to '/lib/ufw/user.rules.20150918_190351'
Backing up 'after.rules' to '/etc/ufw/after.rules.20150918_190351'
Backing up 'before.rules' to '/etc/ufw/before.rules.20150918_190351'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20150918_190351'
Backing up 'user6.rules' to '/lib/ufw/user6.rules.20150918_190351'

Вас спросят уверены ли вы? После чего создается резерная копия правил и происходит удаление правил.

На этом всё 🙂

Обо мне cyber01

Прочитайте также

Как удалить все записи о вложениях за определенный период

Как удалить все записи о вложениях за определенный период DELETE FROM wp_postmeta WHERE post_id IN …

Установка VNC на CentOS 7

Установка VNC на CentOS 7 VNC часто бывает необходим при установке новой ОС на сервер …

Установка PHPMyAdmin в nginx CentOS 7

Установка PHPMyAdmin в nginx CentOS 7

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

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