файервол ufw

Настройка, программирование, распределённые вычисления

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 13470
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: файервол ufw

Непрочитанное сообщение Olej » 14 май 2020, 16:10

Olej писал(а):
05 фев 2020, 11:51
Собственно, ufw не является файерволом, так что тема названа поверхностно.
ufw - это, не больше и не меньше, как пользовательский интерфейс управления правилами iptables в ядре, но с гораздо более простым синтаксисом, по крайней мере для простых случаев: защита по портам одиночного хоста.
Детально синтаксис правил ufw смотрим:

Код: Выделить всё

olej@ACER:~$ man ufw
...
Но даже при простоте ufw там достаточно много деталей...
Есть несколько руководств, которые позволяют для несложных случаев вспомнить и настроить "в лёт":
Фаервол UFW. Базовая настройка.
07 окт. 2017
...
Особенность UFW заключается в том, что каждое новое правило добавляется в конец списка существующих правил. При поступлении пакета правила проверяются одно за другим до тех пор, пока не будет найдено подходящее. Теперь представим ситуацию, при которой вы сначала добавили общее разрешающее правило, а затем — более конкретное запрещающее. В таком случае последнее правило не будет работать, поскольку пакет пройдет благодаря предыдущему правилу.
Настройка фаервола в Ubuntu с помощью утилиты UFW
9 октябрь 2016 г.

Аватара пользователя
Olej
Писатель
Сообщения: 13470
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: файервол ufw

Непрочитанное сообщение Olej » 14 май 2020, 16:56

Olej1 писал(а):
14 май 2020, 15:38
Ждём гостя так:
...

Код: Выделить всё

root@277938:~# ufw show raw | grep 186
       0        0 REJECT     tcp  --  *      *       186.2.160.0/24       0.0.0.0/0            multiport sports 80,443 reject-with tcp-reset
Оно же:

Код: Выделить всё

root@277938:~# ufw show user-rules
IPV4 (user):
Chain ufw-user-input (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 REJECT     tcp  --  *      *       186.2.160.0/24       0.0.0.0/0            multiport sports 80,443 reject-with tcp-reset
     250    14828 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 /* 'dapp_OpenSSH' */
     596    35760 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 80,443 /* 'dapp_WWW%20Full' */
       0        0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:6666
       0        0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:6666
       0        0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:6665
       0        0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:6665
       1       40 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
       0        0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:8080

Chain ufw-user-forward (1 references)
    pkts      bytes target     prot opt in     out     source               destination         

Chain ufw-user-output (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25 /* 'dapp_SMTP' */

Chain ufw-user-limit-accept (0 references)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-user-limit (0 references)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 5 LOG flags 0 level 4 prefix "[UFW LIMIT BLOCK] "
       0        0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
Или оно же на уровне правил iptables:

Код: Выделить всё

root@277938:~# iptables --list ufw-user-input
Chain ufw-user-input (1 references)
target     prot opt source               destination         
REJECT     tcp  --  ddos-guard.net/24    anywhere             multiport sports http,https reject-with tcp-reset
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh /* 'dapp_OpenSSH' */
ACCEPT     tcp  --  anywhere             anywhere             multiport dports http,https /* 'dapp_WWW%20Full' */
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:6666
ACCEPT     udp  --  anywhere             anywhere             udp dpt:6666
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:6665
ACCEPT     udp  --  anywhere             anywhere             udp dpt:6665
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt
ACCEPT     udp  --  anywhere             anywhere             udp dpt:http-alt
И 1-е даёт адрес (диапазон подсети) 186.2.160.0/24, а 2-е - его же, но в виде DNS-разрешённого имени урода, ddos-guard.net/24 ... почему я застрял на некоторое время в поиске этих правил. :-?

Аватара пользователя
Olej
Писатель
Сообщения: 13470
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: файервол ufw

Непрочитанное сообщение Olej » 14 май 2020, 19:25

Управляется (останавливается - запускается) ufw собственными командами:

Код: Выделить всё

root@277938:~# ufw --help | grep able
 enable                          enables the firewall
 disable                         disables the firewall
Но тем не менее, это самый обычный сервис, управляемый systemd:

Код: Выделить всё

root@277938:~# systemctl status ufw
● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2020-03-30 01:02:33 MSK; 1 months 15 days ago
     Docs: man:ufw(8)
 Main PID: 202 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 544)
   Memory: 0B
   CGroup: /system.slice/ufw.service

Код: Выделить всё

root@277938:/lib/systemd/system# pwd
/lib/systemd/system

root@277938:/lib/systemd/system# ls *ufw*
ufw.service

Аватара пользователя
Olej
Писатель
Сообщения: 13470
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: файервол ufw

Непрочитанное сообщение Olej » 14 май 2020, 19:37

Olej писал(а):
14 май 2020, 19:25
Но тем не менее, это самый обычный сервис, управляемый systemd:
Но при остановке фаервола (выключение Netfilter в ядре?) сам сервис не останавливается:

Код: Выделить всё

root@ACER:~# ufw disable
Firewall stopped and disabled on system startup
root@ACER:~# systemctl status ufw
● ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2020-05-14 13:03:10 EEST; 6h ago
     Docs: man:ufw(8)
  Process: 532 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
 Main PID: 532 (code=exited, status=0/SUCCESS)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Логи ufw - в /var/log/ufw.log, уровень логирования определяется командой:

Код: Выделить всё

root@277938:~# ufw --help | grep log
 logging LEVEL                   set logging to LEVEL

ufw(8):

Код: Выделить всё

LEVEL may be 'off', 'low', 'medium', 'high' and 'full'.
Стандартно установлен уровень low - только отражённые запросы. Выглядит это как-то так:

Код: Выделить всё

root@277938:/lib/systemd/system# tail /var/log/ufw.log 
May 14 19:32:54 277938 kernel: [3954595.773915] [UFW BLOCK] IN=eth0 OUT= MAC=de:73:e9:53:45:1a:80:71:1f:c7:cd:00:08:00 SRC=209.222.101.41 DST=185.200.243.3 LEN=40 TOS=0x00 PREC=0xC0 TTL=239 ID=18298 PROTO=TCP SPT=41030 DPT=16489 WINDOW=1024 RES=0x00 SYN URGP=0 
May 14 19:33:19 277938 kernel: [3954620.245805] [UFW BLOCK] IN=eth0 OUT= MAC=de:73:e9:53:45:1a:80:71:1f:c7:cd:00:08:00 SRC=170.130.187.34 DST=185.200.243.3 LEN=44 TOS=0x00 PREC=0xC0 TTL=246 ID=30085 PROTO=TCP SPT=55020 DPT=3306 WINDOW=1024 RES=0x00 SYN URGP=0 
May 14 19:33:40 277938 kernel: [3954641.870382] [UFW BLOCK] IN=eth0 OUT= MAC=de:73:e9:53:45:1a:80:71:1f:c7:cd:00:08:00 SRC=185.156.73.38 DST=185.200.243.3 LEN=40 TOS=0x00 PREC=0xC0 TTL=247 ID=30 PROTO=TCP SPT=54841 DPT=1999 WINDOW=1024 RES=0x00 SYN URGP=0 
...

Аватара пользователя
Olej
Писатель
Сообщения: 13470
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: файервол ufw

Непрочитанное сообщение Olej » 14 май 2020, 19:47

Из Ubuntu пришёл и такой удобный GUI инструмент управления как:

Код: Выделить всё

olej@ACER:~/2020_WORK/rus.linux.net.hist/local$ aptitude search gufw
p   gufw                                                                               - графический интерфейс пользователя для ufw                                                  

Код: Выделить всё

olej@ACER:~/2020_WORK/rus.linux.net.hist/local$ sudo apt install gufw
[sudo] пароль для olej: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
  gufw
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 873 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 3 534 kB.
Пол:1 http://deb.debian.org/debian buster/main amd64 gufw all 18.10.0-1 [873 kB]
Получено 873 kB за 1с (1 618 kB/s)
Выбор ранее не выбранного пакета gufw.
(Чтение базы данных … на данный момент установлен 441841 файл и каталог.)
Подготовка к распаковке …/gufw_18.10.0-1_all.deb …
Распаковывается gufw (18.10.0-1) …
Настраивается пакет gufw (18.10.0-1) …
Обрабатываются триггеры для desktop-file-utils (0.23-4) …
Обрабатываются триггеры для mime-support (3.62) …
Обрабатываются триггеры для hicolor-icon-theme (0.17-2) …
Обрабатываются триггеры для man-db (2.8.5-2) …

Код: Выделить всё

olej@ACER:~/2020_WORK/rus.linux.net.hist/local$ which gufw
/usr/bin/gufw

Аватара пользователя
Olej
Писатель
Сообщения: 13470
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: файервол ufw

Непрочитанное сообщение Olej » 14 май 2020, 19:49

Olej писал(а):
14 май 2020, 19:47
Из Ubuntu пришёл и такой удобный GUI инструмент управления как:
При запуске, естественно, запросит пароль администратора:

Код: Выделить всё

olej@ACER:~$ gufw
DtsGetHWFeatures: Create File Failed
...
Ну а дальше всё понятно, наглядно и удобно...
Вложения
Снимок экрана от 2020-05-14 19-41-47.png
Снимок экрана от 2020-05-14 19-42-25.png
Снимок экрана от 2020-05-14 19-42-25.png (53.38 КБ) 51 просмотр
Снимок экрана от 2020-05-14 19-44-27.png
Снимок экрана от 2020-05-14 19-44-27.png (66.18 КБ) 51 просмотр

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость