The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск пакетного фильтра nftables 0.9.5"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск пакетного фильтра nftables 0.9.5"  +/
Сообщение от opennews (??), 07-Июн-20, 10:56 
Опубликован выпуск пакетного фильтра nftables 0.9.5, развивающегося в качестве замены iptables, ip6table, arptables и ebtables за счёт унификации интерфейсов фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов. В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. Необходимые для работы выпуска nftables 0.9.5 изменения включены в состав ядра Linux 5.7...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=53106

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 07-Июн-20, 10:56   –1 +/
>> Необходимые для работы выпуска nftables 0.9.5 изменения включены в состав ядра Linux 5.7.

А на лтс 5.4 не будет работать новая версия?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #46

2. Сообщение от Аноним (2), 07-Июн-20, 11:39   +/
Как посмотреть текущие правила в читаемом виде?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #6, #11

3. Сообщение от gogo (?), 07-Июн-20, 11:49   –1 +/
и с этим дерьмом теперь придется жить... (
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #45

4. Сообщение от крокодил мимо.. (?), 07-Июн-20, 12:03   +/
всё, как в Win.. э-эмм.. простите, а оно уже умеет в разбор трафика на уровне приложений, как, например, в Windows-firewall?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #7, #24, #72

5. Сообщение от Аноним (5), 07-Июн-20, 12:04   +/
nft list ruleset
Обязательно под рутом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

6. Сообщение от DesSolo (?), 07-Июн-20, 12:05   +/
nft list ruleset
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

7. Сообщение от Аноним (5), 07-Июн-20, 12:11   +/
По-моему еще во времена iptables выкинули. Рекомендутся uid/gid, возможно cgroup.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #8, #9

8. Сообщение от крокодил мимо.. (?), 07-Июн-20, 12:17   –1 +/
ну-да, ну-да.. "ненужно"©™.. ога.. особенно на выделенном серваке контроль исходящего трафа по приложениям - совершенно лишняя шняга..
"даже не знаю, что сказать.. всё отлично.. всё просто отлично.."©(Феечка)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #25, #82

9. Сообщение от And (??), 07-Июн-20, 12:19   +/
На уровне приложения-то и нужно больше всего. В на век телеметрии...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #12, #30

10. Сообщение от Аноним (10), 07-Июн-20, 12:23   –2 +/
аналог netmap так и не завезли?
Ответить | Правка | Наверх | Cообщить модератору

11. Сообщение от Andrew (??), 07-Июн-20, 12:29   +1 +/
Поддерживаю вопрос с ударением на слове "читаемом" :) Текущий вывод nft list ruleset трудно назвать читаемым...вот, примерно как JSON - вывод больше для машины, чем для человека.

Предположим, что разные обвязки (тот же firewalld) успешно абстрагируют "пользователя" от необходимости читать этот вывод и прыгать между ссылками на цепочки беря на себя управление...но, при этом они же не гарантируют соответствия между своим ожидаемым (сохраненные в конфигурации) состоянием и текущими правилами (поскольку последние, как прежде в iptables и т.д. могли быть модифицированы напрямую в обход обвязки).

Итого, остаётся только ждать появления или способствовать появлению 100500+ разных обвязок которые будут читать, парсить и делать вывод nft понятным для людей (структурированным и последовательным).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #13, #15, #26, #31, #52

12. Сообщение от microsoft (?), 07-Июн-20, 12:31   –2 +/
Ничего ничего зайдеш под безопасным рутом и правила то накарябаеш.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

13. Сообщение от microsoft (?), 07-Июн-20, 12:34   +1 +/
Ага всетаки аналога iptables -L не предполагается. Да чтож такое то
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

14. Сообщение от ZiP File (?), 07-Июн-20, 12:50   +/
Когда уже в линукс портируют нормальный файрвол... Тео, дай свет безумцам!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #28

15. Сообщение от Andrew (??), 07-Июн-20, 12:54   +/
Насчёт JSON...любопытства ради добавил к команде флаг -j (Format output in JSON): лучше не стало, так что после такого, текущий вывод уже начинает казаться читабельным ^_^

Сам факт наличия флага для вывода информации в JSON одновременно и радует (значит при желании можно распарсить и преобразовать в нечто субъективно более адекватное текущему выводу), но и (субъективно) тонко намекает на две вещи:
- раз оба варианта вывода информации плохо предназначены для чтения людьми, то по задумке, люди их в таком виде каждый день читать и не должны.
- текущий вывод - предел читабельности который заложен (и не исключено, что так и будет).

P.S. После того, как посмотрел на вывод в формате JSON стал замечать за собой желание перейти на сторону (и начать защищать) авторов формата вывода правил в том виде как он есть...25-ый кадр во время листинга правил поймал, не иначе.

P.P.S. Главное, чтобы от долгого смотрения в правила nft они не начали смотреть в вас.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

16. Сообщение от Сейд (ok), 07-Июн-20, 12:57   +/
firewall-config
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #20

17. Сообщение от expert (??), 07-Июн-20, 12:59   –1 +/
ну и извращения. Чтобы прописать простое правило мне еще и кодить надо. Вопрос нафига?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #81

18. Сообщение от Онаним (?), 07-Июн-20, 13:16   +/
Синтаксис вроде всем хорош, но выглядит удолбищно. Как-то надо это всё упрощать. Может быть действительно JSON, как некоторые предлагают.
Ответить | Правка | Наверх | Cообщить модератору

19. Сообщение от Онаним (?), 07-Июн-20, 13:20   +/
То есть допустим не

ip daddr @y и отдельно set

а что-то вроде

"z":{"filter":"daddr","proto":"ip","daddr":["192.168.10.35", "192.168.10.101", "192.168.10.135"]}

для простых правил

кому надо set, можно записать как

"y":{"set":"ip", "ip":["192.168.10.35", "192.168.10.101", "192.168.10.135"]}
"z":{"filter":"daddr","proto":"ip","daddr":"set:y"}

короче трансляторы под это дело лепить и лепить ещё

Ответить | Правка | Наверх | Cообщить модератору

20. Сообщение от нггнш (?), 07-Июн-20, 13:22   –4 +/
Нормальный это про Agnitum Outpost
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #21

21. Сообщение от microsoft (?), 07-Июн-20, 14:39   +2 +/
ого, а он еще жив?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #36

22. Сообщение от srgazh (?), 07-Июн-20, 15:04   –2 +/
Годная новость! https://github.com/devkid/nftables-systemd вообще сказка!
Ответить | Правка | Наверх | Cообщить модератору

23. Сообщение от Бармалей.email (?), 07-Июн-20, 16:29   +/
Только смысл в этой новизне? Нфт также работает через тот же нетфильтр и все, единственный плюс - объединение айпи протоколов - для всех протоколов сразу правила можно писать и всё, а так ничего принципиально нового, в нфт нельзя сделать ничего что нельзя сделать в иптаблес, другой вариант написания правил и все, это как один и тот же документ набить в разных редакторах, дело только в удобство
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37

24. Сообщение от Бармалей.email (?), 07-Июн-20, 16:33   +/
Это можно сделать сделать с помощью дополнительных модулей - Dtrace, Bpftrace, или написать самому модуль ядра для линукс на С, обрабатывающих пакеты от приложений и записывающий их pid, или если ленивый то есть готовое решение - opensnitchd
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #32

25. Сообщение от Аноним (26), 07-Июн-20, 16:51   +/
Для _серверных_ приложений (т.е. демонов) — уже давно есть https://www.freedesktop.org/software/systemd/man/systemd.res...Б─╕

Попробуйте ещё раз.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #27

26. Сообщение от Аноним (26), 07-Июн-20, 16:56   +2 +/
>  Поддерживаю вопрос с ударением на слове "читаемом" :) Текущий вывод nft list ruleset трудно назвать читаемым...вот, примерно как JSON - вывод больше для машины, чем для человека.

Тем не менее, уже четверть века, по мнению большинства, эталоном читаемых правил фаервола остаётся pf из OpenBSD.
block in quick  on egress inet from { 127.0.0.0/8, 192.168.0.0/16, \
   172.16.0.0/12, 10.0.0.0/8 } to any
block out quick on egress inet from any to { 127.0.0.0/8, \
   192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }

Что-то я не улавливаю тонкой разницы, которая делает синтаксис pf идеальным, а синтаксис nftables — нечитаемым.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #39, #60, #71

27. Сообщение от Аноним (26), 07-Июн-20, 17:07   +/
Замечательный движок опеннета побил якорь в ссылке (в предпросмотре было нормально). Поэтому специально для труЪ oдминов — смотреть описание опций IPAddressAllow и IPAddressDeny.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #77, #88

28. Сообщение от Аноним (26), 07-Июн-20, 17:09   +/
> Когда уже в линукс портируют нормальный файрвол... Тео, дай свет безумцам!

Выше на nftables ругаются именно из-за pf-подобного синтаксиса.
Получается, pf уже не катит в качестве "нормального файрвола"?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #62

29. Сообщение от анонн (ok), 07-Июн-20, 17:10   +1 +/
>  напоминающей BPF (Berkeley Packet Filters)

Местами очень-очень напоминающий:
https://minnie.tuhs.org/cgi-bin/utree.pl?file=Net2/usr/src/s...


* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
* to Berkeley by Steven McCanne of Lawrence Berkeley Laboratory.
@(#)bpf.h    7.1 (Berkeley) 5/7/91 *
* @(#) $Header: bpf.h,v 1.20 91/04/24 22:06:24 mccanne Locked $ (LBL)

/* ld/ldx fields */
#define BPF_SIZE(code)    ((code) & 0x18)
#define        BPF_W        0x00
#define        BPF_H        0x08
#define        BPF_B        0x10
#define BPF_MODE(code)    ((code) & 0xe0)
#define        BPF_IMM     0x00
#define        BPF_ABS        0x20
#define        BPF_IND        0x40
#define        BPF_MEM        0x60
#define        BPF_LEN        0x80
#define        BPF_MSH        0xa0

/* alu/jmp fields */
#define BPF_OP(code)    ((code) & 0xf0)
#define        BPF_ADD        0x00
#define        BPF_SUB        0x10
#define        BPF_MUL        0x20
#define        BPF_DIV        0x30
#define        BPF_OR        0x40
#define        BPF_AND        0x50
#define        BPF_LSH        0x60
#define        BPF_RSH        0x70
#define        BPF_NEG        0x80
#define        BPF_JA        0x00
#define        BPF_JEQ        0x10
#define        BPF_JGT        0x20
#define        BPF_JGE        0x30
#define        BPF_JSET    0x40
#define BPF_SRC(code)    ((code) & 0x08)
#define        BPF_K        0x00
#define        BPF_X        0x08


https://github.com/torvalds/linux/blob/master/include/uapi/l...

/* ld/ldx fields */
#define BPF_SIZE(code)  ((code) & 0x18)
#define        BPF_W        0x00 /* 32-bit */
#define        BPF_H        0x08 /* 16-bit */
#define        BPF_B        0x10 /*  8-bit */
/* eBPF        BPF_DW        0x18    64-bit */
#define BPF_MODE(code)  ((code) & 0xe0)
#define        BPF_IMM        0x00
#define        BPF_ABS        0x20
#define        BPF_IND        0x40
#define        BPF_MEM        0x60
#define        BPF_LEN        0x80
#define        BPF_MSH        0xa0
/* alu/jmp fields */
#define BPF_OP(code)    ((code) & 0xf0)
#define        BPF_ADD        0x00
#define        BPF_SUB        0x10
#define        BPF_MUL        0x20
#define        BPF_DIV        0x30
#define        BPF_OR        0x40
#define        BPF_AND        0x50
#define        BPF_LSH        0x60
#define        BPF_RSH        0x70
#define        BPF_NEG        0x80
#define        BPF_MOD        0x90
#define        BPF_XOR        0xa0
#define        BPF_JA        0x00
#define        BPF_JEQ        0x10
#define        BPF_JGT        0x20
#define        BPF_JGE        0x30
#define        BPF_JSET        0x40
#define BPF_SRC(code)   ((code) & 0x08)
#define        BPF_K        0x00
#define        BPF_X        0x08

Удивительнейшие совпадения самих опкодов, как и наименования, порядка определения, форматирования и даже комментариев. Если бы не отсутствующий в версии Линукс заголовок:
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
можно было бы черте что подумать, но к счастью ... )))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

30. Сообщение от Аноним (26), 07-Июн-20, 17:12   +/
> На уровне приложения-то и нужно больше всего. В на век телеметрии...

Как правило, основные отправители телеметрии — это браузеры.
Будете им запрещать доступ в интернет?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #38, #56

31. Сообщение от Аноним (-), 07-Июн-20, 17:17   –2 +/
> JSON - вывод больше для машины, чем для человека.

С дуба рухнул? Для машин это ни в одном глазу неудобно, это для двуногих перекуривших JS.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

32. Сообщение от Аноним (-), 07-Июн-20, 17:18   +/
iptables сто лет умеет в фильтры по pid, например...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #34

33. Сообщение от аннонн (?), 07-Июн-20, 17:23   +/
Ну, чтобы развеять подозрения, вы можете подать в суд на "мерзких линукcятников" за кражу интеллектуальной собственности...
Только, боюсь, вердикт суда вам не понравится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #35, #58

34. Сообщение от Аноним (26), 07-Июн-20, 17:24   +1 +/
Сто лет НЕ умеет, если быть точным.
С тех, как в Linux появилась поддержка SMP.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

35. Сообщение от анонн (ok), 07-Июн-20, 17:42   +/
> от аннонн (?), 07-Июн-20,

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

> Ну, чтобы развеять подозрения, вы можете подать в суд на "мерзких линукcятников" за кражу интеллектуальной собственности...

Ну, чтобы охладить очередной батхерт очередных гордых носителей маечки с пингвинчиком от одного упоминания "нечествой" ОС *BSD* – вы можете для начала пересказать мне наш диалог в вашей голове?
Где я там что-то говорил о "подозрениях", "мерзких линуксятниках" и "кражах"?
Я привел только два куска кода и высказал удивление таким вот совпадениям, не выдвигая никаких обвинений - вы же, похоже, уже заранее принялись оправдываться в стиле "да вы че, да мы, да никогда, да вообще не докажете, ха!"

Или как обычно - когда опеннетному носителю маечки с пингвинчиком, за отсутствующим знанием матчасти, нечего возразить аргументативно, начинается очередной детский сад и цирк с понями? ))

> Только, боюсь, вердикт суда вам не понравится.

Только, боюсь, на результат в виде чьего-то проженного кресла - это уже никак не повлияет ))


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

36. Сообщение от нггнш (?), 07-Июн-20, 17:49   –5 +/
это не отменяет его качества
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #57

37. Сообщение от Takishima (ok), 07-Июн-20, 18:01   +/
Плюс в том, что iptables — кривая хрень с кучей легаси, которое пришло время переписать. Смотри: https://youtu.be/CCHV-W4Oh04?t=187
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #41, #42

38. Сообщение от Takishima (ok), 07-Июн-20, 18:07   +/
Разумеется.

firejail + squid с white-листами

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #75

39. Сообщение от Аноним (2), 07-Июн-20, 18:39   +1 +/
Большинства пользующихся BSD?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

40. Сообщение от Ананимус (?), 07-Июн-20, 18:58   +1 +/
У меня только один вопрос к авторам nftables: почему нельзя было просто сделать синтаксис как в pf? Почему опять какая-то страшная срань, которую без мана и трех примеров прочитать невозможно? Почему некоторые правила должны заканчивать ';', а некоторые нет?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44, #67

41. Сообщение от OpenEcho (?), 07-Июн-20, 19:18   –1 +/
Вот когда в модерн/кул/тремендоус/эмайзинг инструменте будет совпадать документация с актуальщиной, то можно будет подумать, может ли он заменить "легаси"...

Один из примеров:
   man nft:
  "export Print the ruleset in machine readable format. The mandatory format parameter may be either xml or json."

Пробуем: nft export json
результат:
Error: this output type is not supported
export json
^^^^^^^^^^^^

Но почему-то не документированный ключ -j вполне себе понимает жсон

nft -j list ruleset

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #43

42. Сообщение от OpenEcho (?), 07-Июн-20, 19:22   –1 +/
А да, чуть не забыл, предложенный "новый" синтакс
   nft export vm json
выдает такое ЖСОН чудо : {"nftables":[

и усе, ничего больше...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #48

43. Сообщение от Takishima (ok), 07-Июн-20, 19:27   +/
> Вот когда в модерн/кул/тремендоус/эмайзинг инструменте будет совпадать документация
> с актуальщиной, то можно будет подумать, может ли он заменить "легаси"...

iptables не умел json

Да и вообще, кому нужен json этот адовый?

>    man nft:
>   "export Print the ruleset in machine readable format. The mandatory
> format parameter may be either xml or json."

Это откуда такое? меня в мане про '-j' написано

> Но почему-то не документированный ключ -j вполне себе понимает жсон
> nft -j list ruleset

Так работает, да. В man'е тоже написано

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #47

44. Сообщение от Takishima (ok), 07-Июн-20, 19:31   +/
> У меня только один вопрос к авторам nftables: почему нельзя было просто
> сделать синтаксис как в pf? Почему опять какая-то страшная срань, которую
> без мана и трех примеров прочитать невозможно?

Опять учиться, какая боль, да?

> Почему некоторые правила должны заканчивать ';', а некоторые нет?

Никакие правила там не надо заканчивать ';'
Это нужно только если два или более правила на одной строке.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #64, #79

45. Сообщение от Takishima (ok), 07-Июн-20, 19:38   +1 +/
> и с этим дерьмом теперь придется жить... (

Всё повторяется. 20+ лет назад то же самое было — уютный тёплый ламповый ipfwadm заменили на ipchains (вместе с переписанным с нуля IP стеком), сколько воя было.

Большинство комментаторов, наверное, даже в 1 класс ещё тогда не ходило.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #61

46. Сообщение от Аноним (46), 07-Июн-20, 19:40   +1 +/
Будет работать даже на 3.13, но только в том объеме, который реализован в ядре. Новые функции будут просто возвращать ошибку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

47. Сообщение от OpenEcho (?), 07-Июн-20, 20:25   +/
>Да и вообще, кому нужен json этот адовый?

Тем кто понимает зачем он нужен :) (репрезентация/сравнение/мониторинг на фронт эндах в больших конторах)

>Это откуда такое? меня в мане про '-j' написано

Debian 10 (Buster) - latest release

>Так работает, да. В man'е тоже написано

Может быть, но только не в самом популярмом линух дистрибутиве ака Debian

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #49

48. Сообщение от OpenEcho (?), 07-Июн-20, 20:27   +/
Минусовальщики, обьясните плиз, в чем мой то криминал?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #59, #63

49. Сообщение от Takishima (ok), 07-Июн-20, 21:04   +/
> Тем кто понимает зачем он нужен :)

Гы, ну речь не про JSON вообще — а про json вывод nftables. Зачем?

> но только не в самом популярмом линух дистрибутиве ака Debian

Ну у меня тоже Debian.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #50

50. Сообщение от OpenEcho (?), 07-Июн-20, 21:44   +/
> Гы, ну речь не про JSON вообще — а про json вывод
> nftables. Зачем?

Я ж уже сказал - затем что удобно парсить на фронэнде/мониторинге, т.к. формат поддерживается практически везде

>> но только не в самом популярмом линух дистрибутиве ака Debian
> Ну у меня тоже Debian.

Ну тогда сравните на предмет опции -j
https://manpages.debian.org/testing/nftables/nft.8.en.html

с

man nft

сходится?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #51, #54

51. Сообщение от Аноним (2), 07-Июн-20, 21:58   +/
Даже интересно стало, что вы там мониторите через json в фаерволе?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #53

52. Сообщение от Аноним (2), 07-Июн-20, 22:00   +/
Осталось yaml впилить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

53. Сообщение от OpenEcho (?), 07-Июн-20, 22:01   +1 +/
> Даже интересно стало, что вы там мониторите через json в фаерволе?

Сходство рулсетов в кластере

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #55

54. Сообщение от Takishima (ok), 07-Июн-20, 22:02   +/
> удобно парсить на фронэнде/мониторинге

У вас уже есть готовое решение для парсинга? Или может быть, когда нибудь?

> Ну тогда сравните на предмет опции

Для Debian есть бэкпорты, там всё это есть (в 0.9.3 есть '-j'). Зачем страдать?

# apt-cache policy nftables
nftables:
  Installed: 0.9.3-2~bpo10+1
  Candidate: 0.9.3-2~bpo10+1
  Version table:
*** 0.9.3-2~bpo10+1 500
        500 http://ftp.ru.debian.org/debian buster-backports/main amd64 Packages
        100 /var/lib/dpkg/status
     0.9.0-2 500
        500 http://ftp.ru.debian.org/debian buster/main amd64 Packages

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

55. Сообщение от Takishima (ok), 07-Июн-20, 22:05   +/
>> Даже интересно стало, что вы там мониторите через json в фаерволе?
> Сходство рулсетов в кластере

Что-то велосипедом попахивает. В кластере по определению такие вещи должны быть одинаковыми на всех узлах. Раскидываем один и тот же конфиг Ansiblt'ом (например) и всё.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #65, #66, #68

56. Сообщение от Аноним (56), 08-Июн-20, 01:27   –1 +/
> Будете им запрещать доступ в интернет?

uMatrix это до некоторой степени умеет, приколитесь?!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #74

57. Сообщение от Аноним (56), 08-Июн-20, 01:29   +1 +/
Да вообще-то глючная штука.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

58. Сообщение от Аноним (56), 08-Июн-20, 01:31   –1 +/
А что есть "нечествой"? Это не черствой? Или не честной?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

59. Сообщение от Аноним (56), 08-Июн-20, 01:32   +2 +/
"Ты виноват лишь тем что хочется им кушать" //троллям каким-то.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

60. Сообщение от Аноним (60), 08-Июн-20, 03:54   +/
> Что-то я не улавливаю тонкой разницы

В вашем примере нет ссылок, зачем вы его показали?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

61. Сообщение от Аноним (60), 08-Июн-20, 04:00   +/
С чего это тоже самое? Абсолютно разные ситуации.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

62. Сообщение от Аноним (60), 08-Июн-20, 04:03   +/
> pf-подобного синтаксиса

Где вы там его увидели? Или вам раз фигурные скобки есть — значит pf?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #73

63. Сообщение от Аноним (60), 08-Июн-20, 04:07   +/
Ты посмел сомневатся в великих людях придумавших и написавших nft!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

64. Сообщение от Аноним (60), 08-Июн-20, 04:10   +1 +/
Было бы чему учиться...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

65. Сообщение от OpenEcho (?), 08-Июн-20, 07:23   +4 +/
> Что-то велосипедом попахивает.

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

66. Сообщение от Аноним (66), 08-Июн-20, 08:32   +/
Смузи допей сначала, потом оркестраторы для администрирования пакет-фильтров прикручивай.

Такие вещи оркестратором не делаются, а любой zero-touch делается последовательно по нодам.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #69

67. Сообщение от Аноним (66), 08-Июн-20, 08:34   +/
Потому что поколение сменилось. Если раньше был K.I.S.S., то теперь одни понты вперед скиллов бегут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #76

68. Сообщение от Andrew (??), 08-Июн-20, 10:32   +1 +/
К сожалению, раскидать правила тем же Ansible не равно убедиться в том, что правила совпадают: к сожалению (для тех, кто хочет контролировать этот момент) и счастью (тех, кто рад тому, что сторонний софт делает часть "грязной" работы) некоторые программные продукты могут самостоятельно модифицировать правила фаервола.

Наглядный пример такого софта: Docker, который не первый год благополучно доставляет этим неудобство тем, кто хочет быть уверен в том, что в мир открыты только ожидаемые порты...и столь же благополучно помогает выставлять в мир что попало тем, кто просто хочет увидеть результат работы своего кода в действии.

Пример выше может и не самый удачный, зато наглядный.

Ну, а ещё, будем реалистами: кроме софта, возможность управлять правилами, как правило есть ещё у операторов которые далеко не всегда горят желанием отразить сделанные на лету изменения хотя бы в локальной версии конфига, не то, что где-нибудь ещё (в коде того же Ansible).

Иначе говоря, проверять правила фаервола на соответствие ожидаемому состоянию - правильно, тем более в кластерах и, тем более, если на этих правилах многое держится.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #70

69. Сообщение от Takishima (ok), 08-Июн-20, 10:36   +/
А у тебя борода отклеилась и свитер без оленей.

Такие вещи делаются так, как адекватно для конкретной ситуации. Не вижу никакой проблемы раскатать ансиблом файрвол. Не нравится анисбл — ок, chef или даже CFEngine можно использовать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

70. Сообщение от Takishima (ok), 08-Июн-20, 10:42   +/
> некоторые программные продукты могут самостоятельно модифицировать правила фаервола.

Ну так не надо им этого разрешать.

> Наглядный пример такого софта: Docker,

apt-get purge -y docker

Если надо отдельные контейнеры, то берём podman. Если это таки кластер, то там, видимо куб крутится?

> Пример выше может и не самый удачный, зато наглядный.

Докер, возможно, имеет какой-то смысл на девелоперской машинке, но не более того.

> есть ещё у операторов которые далеко не всегда горят желанием отразить
> сделанные на лету изменения хотя бы в локальной версии конфига, не

Заставить. Иначе рано или поздно будет большая боль.

> Иначе говоря, проверять правила фаервола на соответствие ожидаемому состоянию - правильно,

Я бы тогда уж не проверял, а просто жёстко перезаписывал (puppet/chef/cfenfine на выбор). Заодно и те «операторы» переучатся ручками лезть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

71. Сообщение от Аноним (-), 08-Июн-20, 13:36   +/
> эталоном читаемых правил фаервола

Пока туда не завезут кастомных цепочек, набор правил хотя бы в 30-40 правил неизбежно будет превращаться в нечитаемую лапшу. skipto - костыль, а по другому оно не умеет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

72. Сообщение от Аноним (-), 08-Июн-20, 13:39   +/
-j NFQUEUE
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

73. Сообщение от Аноним (85), 08-Июн-20, 15:38   +/
Проще надо быть. Фигурные скобки есть — значит, JSON.
Просто у pf и nftables JSON не вполне корректный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

74. Сообщение от Аноним (85), 08-Июн-20, 15:42   +/
Боюсь, что со встроенной в браузер телеметрией он ничего поделать не сможет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #80

75. Сообщение от Аноним (85), 08-Июн-20, 15:45   +/
И некоторое количество возни с ssl_bump, если нужна полноценная L7-фильтрация.

Рекламодатели, то есть, простите, разработчики браузеров, позаботились о том, чтобы отфильтровать их по дороге было максимально трудно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #78

76. Сообщение от Аноним (85), 08-Июн-20, 15:47   +/
Да, раньше и трава зеленее была.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

77. Сообщение от InuYasha (??), 08-Июн-20, 16:39   +/
Т.е. я правильно понял, что всем, кто захочет что-то позакрывать для, допустим, MySQL, придётся редактировать его unit-файл (который потом перепишет установщик пакетов)?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #83, #85

78. Сообщение от Takishima (ok), 08-Июн-20, 16:44   +/
Ну, можно с peek+splice жить, по крайней мере по хостам резать доступ — уже хорошо. Настраивается легко.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

79. Сообщение от InuYasha (??), 08-Июн-20, 16:45   +/
Когда есть возможность ставить ';' - ставь ';'!
- правило башника (и сишника, само собой)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

80. Сообщение от Takishima (ok), 08-Июн-20, 16:46   –1 +/
> Боюсь, что со встроенной в браузер телеметрией он ничего поделать не сможет.

Ungoogled chromium же

А в Firefox'е почти всё отключается в конфиге (кроме firefox.settings.services.mozilla — но либо пропатчить и перекомпилять, либо hosts/squid/файрволом закрыть).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #86

81. Сообщение от pfg21 (ok), 08-Июн-20, 16:46   +/
ну дык, никто не запрещает сделать конвертилку из команд иптейблес в байт-код нфт и ок.    
тут просто возможностей больше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

82. Сообщение от Аноним (82), 08-Июн-20, 19:17   +/
> контроль исходящего трафа по приложениям - совершенно лишняя шняга..

А как вообще можно представить фильтр по "приложению"? Номер pid указать, или argv[0] анализировать? А если будет fork?

Если процесс нужно изолировать - запусти его от специального пользователя (или специальной группы) и изолируй сколько влезет. У меня, например, есть группа ipblacklist, для которой никакого сетевого обмена быть не может.
Можно наоборот (и сейчас это даже лучше!) - сделать группы localnet/globalnet, для которых разрешен сетевой обмен.

Если лень с uid/gid ковыряться - бери cgroups (кажется там и в рантайме можно туда/сюда процессы перемещать, соответственно фильтр можно вообще в рантайме изменить).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

83. Сообщение от Аноним (83), 08-Июн-20, 19:46   +/
Садись, два и линейкой по рукам. За что линейкой? За то, что пошёл править дистрибные файлы, которые притащил пакет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

84. Сообщение от Аноним (84), 08-Июн-20, 20:17   +/
Оболочка nft крайне неудобная кривая и баговпнная.
Ответить | Правка | Наверх | Cообщить модератору

85. Сообщение от Аноним (85), 08-Июн-20, 21:44   +/
> Т.е. я правильно понял, что всем, кто захочет что-то позакрывать для, допустим, MySQL, придётся редактировать его unit-файл

Правильно. systemctl edit mysql.service

> (который потом перепишет установщик пакетов)?

Неправильно. Не надо мыслить категориями veteran unix admins (простреливаем себе ногу, страдаем, гордимся, потому что это KISS).

Управляемая пакетным менеджером конфигурация находится в /usr/lib/systemd, управляемая администратором — в /etc/systemd. Конфиги админа имеют приоритет над дистрибутивными.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #87, #90

86. Сообщение от Аноним (85), 08-Июн-20, 21:46   +1 +/
> Ungoogled chromium же

Что-то после историй с Brave, сборочкам от Васи верить не очень хочется.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

87. Сообщение от Andrew (??), 09-Июн-20, 10:44   +/
Мало того, что простреливаем свою ногу, так ещё и кладём мину замедленного действия под ноги тем, кто в один прекрасный момент столкнется с тем, что старый подход к использованию новых инструментов привёл к неожиданному результату :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

88. Сообщение от Andrew (??), 09-Июн-20, 10:46   +/
Вообще, функционал интересный, жаль только, что появился он сравнительно не давно и, например, в RHEL/CentOS 7 (с которыми ещё минимум пару лет работать) этот патч так и не портировали.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

90. Сообщение от RomanCh (ok), 09-Июн-20, 14:12   +/
Извините, не сдержался, хочу набросить!

> Неправильно. Не надо мыслить категориями veteran unix admins (простреливаем себе ногу, страдаем, гордимся, потому что это KISS).

Я например знаю что и куда правильно писать. Но честно говоря не ковырял вопрос а что будет, если я вот такой вот умный и знающий сделал правильный юнит в правильном месте. А потом прилетела новая версия пакета, и в ней старые параметры что в моём юните записаны не поддерживаются уже (не говорите что такого не бывает). При этом она обновила дефолтный конфиг в /usr/... а мой молча оставила. И конечно же у меня от этого всё сломается, но узнаю я об этом только в момент когда оно стало не работать, а не в момент когда стал устанавливать пакет и он мне ругнулся что "вижу правки файла, что сделать - оставить ваши, оставить мейнтенера вариант, или смержить?"

Эта ситуация как-нибудь обрабатывается, или тут просто новый способ отстрелить себе ногу?

> Управляемая пакетным менеджером конфигурация находится в /usr/lib/systemd, управляемая администратором — в /etc/systemd.

А вот это, вот это за что, за какие грехи? Я давно это знаю, но каждый раз удивляюсь - почему вдруг системные дефолты свалились в */usr/... (от user, т.е. пользовательское), а как раз пользовательские правки вдруг разместились в /etc? Ещё раз повторюсь, что я знаю всё это, но мне интересно как пришли именно к такому способу мышления? Такое ощущение, что от ненависти к старым порядкам, в которых подразумевалось что всё наоборот. Типа до основания, а затем!..

PS К сожалению, частенько история с системдой выглядит не как способ избавиться от старых костылей, а как попытки заменить старые на новые.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #91, #94

91. Сообщение от Вебмакака (?), 09-Июн-20, 18:09   –1 +/
>*/usr/... (от user, т.е. пользовательское)

Лол. Это "пользовательское" в юниксе случайно образовалось, там были хомяки, а потом у олдфагов закончился диск, на котором корень лежал. Барахлишко из корня частично перетащили в usr, да так и оставили. Так что на самом деле это ничего не значит.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #92

92. Сообщение от RomanCh (ok), 09-Июн-20, 23:51   +/
> Лол. Это "пользовательское" в юниксе случайно образовалось, там были хомяки, а потом
> у олдфагов закончился диск, на котором корень лежал. Барахлишко из корня
> частично перетащили в usr, да так и оставили. Так что на
> самом деле это ничего не значит.

Да в общем-то в юниксах, и не только в них, много чего случайно образовалось. И сложилось сперва в традицию, а потом в стандарт. creat(), например. Что, давайте исправим наконец уже эту опечатку и переименуем наконец в create()!

И тут приходят такие чуваки, у которых "на самом деле это ничего не значит" и делают всё в стиле "художник так видит". NIH синдром в чистом виде, короче говоря, про это уже много писано.

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

PS Кстати о традициях, вы если посмотрите, то обнаружите что и законы в человеческих обществах похожим образом делаются. Давайте тоже решим что они ничего не значат :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #93

93. Сообщение от Вебмакака (?), 10-Июн-20, 09:22   +/
>И тут приходят такие чуваки, у которых "на самом деле это ничего не значит" и делают всё в стиле "художник так видит".

Да. А вы думали, только дедам можно что-то менять? Не было принято, так щас будет. Вжух и дефолтные конфиги лежат в usr, новый стандарт.

>NIH синдром в чистом виде, короче говоря, про это уже много писано.

Это не NIH, а решение проблемы, которая до этого была проигнорирована.

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

Технически если у вас нормальный дистрибутив, вам не ломают совместимость конфигов. Если у вас Арч, вы знали на что идете.

>PS Кстати о традициях, вы если посмотрите, то обнаружите что и законы в человеческих обществах похожим образом делаются. Давайте тоже решим что они ничего не значат :)

Вы там может по уложениям 17 века живёте, а у нас законы меняют.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #95

94. Сообщение от RHEL Fan (?), 10-Июн-20, 17:14   +/
На сколько я помню, usr - Unix System Resources
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #96

95. Сообщение от RomanCh (ok), 10-Июн-20, 17:37   +/
> Да. А вы думали, только дедам можно что-то менять?

Мы ничего не думали. Мы видим что деды вполне нормально для своих времён сделали, а не сломали чужое.

> Это не NIH, а решение проблемы, которая до этого была проигнорирована.

Да не, это он самый. Или объясните мне что мешало решить проблему не ломая стандартов? Есть техническое обоснование? Интересно будет ознакомиться.

> Технически если у вас нормальный дистрибутив, вам не ломают совместимость конфигов.

А слабо не юлить, а просто взять и ответить что будет в случае описанном мною выше?

> Вы там может по уложениям 17 века живёте, а у нас законы меняют.

Где там, кто "вы", где у вас? Столь радикальным образом законы меняются только в ситуации "всё до основания, а затем". Но вообще-то это тогда иначе называется.

Кто в лес, кто по дрова. Уже в своих ногах запутались. Лучше на конкретный технический вопрос ответьте.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

96. Сообщение от RomanCh (ok), 10-Июн-20, 17:44   +/
> На сколько я помню, usr - Unix System Resources

По воспоминаниями из книжек - таки User, а не Unix. Педивикия говорит то же самое даже ссылаясь сюда https://www.pathname.com/fhs/pub/fhs-2.3.html - правда тут дословно этого нет, хотя по логике вещей это именно user. Т.к. там лежат как раз не-системные утилиты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру