Блокировать сетевой доступ процесса, использующего eBPF?

Вы передаете другие переменные так же, как вы передаете OFS, используя-v

Пр.

awk -v OFS="\t" -v a="$a" '{print $1,$2,a}'
-2
24.11.2021, 11:02
1 ответ

OpenSnitch не блокирует пакеты с eBPF.

Он использует eBPF, но для отслеживания пакетов в разных точках стека ядра и для сбора метрик и метаданных об этих пакетах, включая информацию о процессе, к которому привязан соответствующий поток. Вы можете просмотреть соответствующие зонды в каталоге OpenSnitch .

Затем эта информация передается в пространство пользователя через карты eBPF, и агент пространства пользователя вставляет новые правила с помощью iptablesили nftablesдля блокировки пакетов. (Вместо этого для блокировки можно было бы использовать программы XDP, но вам по-прежнему необходимо разделение между программами отслеживания, которые собирают данные, и тем, что используется в сетевом стеке для блокировки пакетов.)

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

Если вместо этого вы уже определили конкретный процесс, который вы хотите отслеживать, и для которого вы хотите фильтровать пакеты (, разрешая некоторые, но не все пакеты ), то вы, возможно, можете использовать некоторые из другие перехватчики eBPF (сокеты или cgroup -, связанные ), чтобы прикрепить программу к определенному сокету или функции сетевого стека.

0
24.11.2021, 11:59

Теги

Похожие вопросы