net_guard (gnu/Linux) by Gecko, Ограничение приложений с доступом в сеть |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| ! | В разделе запрещено создавать темы связанные с раскруткой игровых серверов |
|
|
net_guard (gnu/Linux) by Gecko, Ограничение приложений с доступом в сеть |
Gecko
|
4.8.2024, 12:37
Сообщение
|
|
|
переписал всю программу на go + c под eBPF, теперь программа работает с ядром на прямую не нагружая CPU вообще, работает в реальном времени.
Из того что сделал: Полностью автоматическая сборка и установка (программу нужно собирать из исходников под вашу систему - ядро системы). Работает с TCP/UDP Режим работы: только логирование (обучение) всего что выходит в сеть, логирование и завершение программ которые выходят в сеть без вашего ведома. Белый список: программы, хосты - если хост в белом списке и к хосту инициирует соединение программа которая не в белом списке, то работа программы не будет попадать в лог и процесс программы не будет убит) пример /usr/bin/ssh Код EXE=/usr/bin/ssh CMD=ssh vps4 DST=193.106.24.134:22 если хост 193.106.24.134 в белом списке то ssh соединение будет разрешено. Автоматическое создание белого списка, интерактивный выбор режима работы с помощью одной команды ng Редактирование текущей конфигурации: ng -e - отредактированный конфиг применяться сразу Полное удаление программы в интерактивном режиме с возможностью сохранения конфигураций в ~/.ngconf: ng -r - если конфигурация сохранена в ~/.ngconf, то при следующем вызове и инициализации конфига - будет предложено конфиг восстановить. Более информативный лог: <полное время> [ЛОГ] [Режим работы] [какая программа (путь)] [CMD - команда] [куда отправляет запрос SRC (ip-адрес)] (описание) Минимальное потребление памяти (контроль потребления памяти), контроль логирования, практически нулевое потребление процессорного времени. Уведомления: на рабочий стол, в телеграм. Эту программу я писал для себя, она полностю готова, планирую написать документацию + видеообзор на ютюбе и опубликовать это всё на https://github.com/gnufanat (мой резервный репозиторий для всякой фигни) В интернете нет адекватного решения кроме OpenSnitch, по этому я написал своё решение этой проблемы, по моему мнению - огромное количество ПК на gnu/linux имеют удалённый шелл, все дистрибутивы отправляют те или иные данные на свои сервера, множество программ которые не должны работать с сетью инициируют исходящие соединения, я считаю это огромной дырой в безопасности с учётом развития технологий обработки данных. Я считаю в каждом дистрибутиве должна по умолчанию быть подобная программа и как минимум в режиме логирования оповещать пользователя о том, что та или иная программа делает на твоём ПК. opensnitch это более тяжелая альтернатива, он работает поверх netfilter, хотя на момент написания программы я не знал об этом Цитата Since v1.4.0 the default process monitor method is eBPF. What is eBPF? https://ebpf.io/ eBPF is a revolutionary technology with origins in the Linux kernel that can run sandboxed programs in an operating system kernel. It is used to safely and efficiently extend the capabilities of the kernel without requiring to change kernel source code or load kernel modules. Данную программу я очень давно не использовал, по этому не скажу про неё ничего плохого, но как вариант можете её попробовать, это лучше чем ничего. Если сравнивать мою программу с OS, то моя программа в любом случае быстрее и значительно легче, в ней проще разобрать исходный код, кода просто в разы меньше, нет GUI а UI сильно ограничен.
Отредактировал: Gecko, - 23.5.2026, 12:17
![]() Не отвечаю на ЛС.
|
|
|
|
Gecko
|
17.6.2025, 0:54
Сообщение
|
|
|
Обновил программу, теперь можно посмотреть лог в котором будут все те программы которые лезут в сеть без вашего ведома.
Запустив эту программу, все майнеры и любое другое вредоносное ПО будет отключено, а вы узнаете об этом из лога. Даже на самом дырявом дистрибутиве, который кишит вредоносным ПО, майнерами, троянами и разного рода бэкдорами, в один момент станет безопасным, всё это "счастье" будет эффективно отключено и бесполезно, благодаря этой программе, если конечно какой-нибудь майнер умышленно не будет добавлен в белый список программы. Код cat /var/log/net_guard.log Программу нужно собирать из исходников, все настройки происходят именно в исходном коде программы, это сделано из соображений безопасности. Код Белый список программ: Код var trustedPaths = map[string]struct{}{ "/usr/sbin/NetworkManager": {}, "/usr/lib/systemd/systemd-resolved": {}, "/usr/bin/code": {}, "/usr/share/code/code": {}, "/usr/sbin/cupsd": {}, "/usr/sbin/cups-browsed": {}, "/usr/sbin/avahi-daemon": {}, } Интервал проверки (1 секунда по умолчанию) 10мс сделает невозможным даже отправить пинг. Код const interval = 20 * time.Millisecond ![]() ![]() Это очень быстрая, мощная утилита, которая сделает вашу систему в разы безопаснее. К слову, я рекомендую использовать также мою программу overlsyfs которая в Ext4 заморозит корневую ФС вашей системы, где /home должен быть отдельным томом. И такие программы как firefox, chromium, qbittorent, tg, viber, steam... то есть, все браузеры, торрент-клиенты, мессенджеры и игровые платформы запускать исключительно в изолированной среде, я рекомендую flatpak, в моём дистрибутиве всё это реализовано, выложу когда напишу документацию. Если Вы запускаете виртуальные машины, то в доверенном должно быть что-то вроде этого (моём случае это qemu) Код /usr/bin/qemu-system-x86_64 В противном случае, ваша виртуальная машина будет принудительно завершена. На виртуальной машине лично я использую node.js, docker, ssh, VPN и прочее... Винда только для игр и профессиональных программ которых нет на gnu/linux. Винда только на отдельном накопителе, и никаких персональных данных там быть не должно!!! gnu/linux требует знаний и понимания того что вы используете, использование бездумно всяких там ubuntu и производные linuxmint(ы) и прочее д-мо, mxlinux, archlinux не делает вашу систему безопасной, наоборот, это самые дырявые дистрибутивы в мире. ЛЮБОЙ ваш компьютер на базе ОС gnu/linux это проходной двор, и самое печальное в этой истории что пользователь никогда не узнает что его ПК по факту уже не его. PS собирая из исходников эту программу, убедитесь в безопасности зависимостей. Код "github.com/shirou/gopsutil/v3/net" "github.com/shirou/gopsutil/v3/process" Для своей сборки я производил аудит зависимостей.
Отредактировал: Gecko, - 17.6.2025, 6:50
![]() Не отвечаю на ЛС.
|
|
|
|
Gecko
|
22.5.2026, 21:08
Сообщение
|
|
|
Обновил программу (читать первый пост), если кому это интересно - пишите в этой теме (спасибо также считается), я ускорю процесс публикации.
![]() Не отвечаю на ЛС.
|
|
|
|
![]() ![]() |