OpenSnitch: узнайте, как работает этот программный брандмауэр для Linux

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

Что такое OpenSnitch?

OpenSnitch - это брандмауэр приложение, написанное на Python для операционных систем на базе GNU / Linux, поэтому, в принципе, с этой программой совместима любая операционная система на базе GNU / Linux, что добавляет дополнительную безопасность.

OpenSnitch

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

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

Все правила, которые мы создаем в OpenSnitch, будут храниться в виде файлов JSON (тип файла, который может обрабатывать только OpenSnitch), таким образом, мы можем изменить их позже при необходимости вручную. OpenSnitch имеет очень интуитивно понятный графический пользовательский интерфейс, который позволит нам увидеть, какие приложения обращаются к Интернету в данный момент, какой IP-адрес используется оборудованием, какой пользователь использует как систему, так и сам OpenSnitch, а также какой порт используется. использовал. используя для всего этого.

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

Установка OpenSnitch в Linux

Мы собираемся продолжить установку OpenSnitch, так как вы можете видеть, что все команды, которые мы будем использовать для установки, предназначены для Debian или Ubuntu пользователей, поэтому, если вы используете другой дистрибутив, вам придется настроить команды для дистрибутива, который вы установили в своей команде.

Во-первых, мы установим все необходимое, чтобы OpenSnitch мог работать, включая Go и Git, оба абсолютно необходимы для правильной установки, поскольку у нас нет Opensnitch в официальных репозиториях различных дистрибутивов Linux. Как могло быть иначе, нам придется войти в систему как root в нашей операционной системе или выполнить команду «sudo» перед командой установки через репозитории. Наша рекомендация, поскольку нам придется выполнить несколько шагов и установить несколько программ, вы должны входить в систему с популярным «sudo su», чтобы уже иметь права суперпользователя и вам не нужно выполнять «sudo» перед каждой командой.

sudo apt-get install protobuf-compiler libpcap-dev libnetfilter-queue-dev python3-pip golang git

перейти и получить github.com/golang/protobuf/protoc-gen-go

иди get -u github.com/golang/dep/cmd/dep

python3 -m pip install –пользовательские инструменты grpcio

Далее нам нужно будет клонировать репозиторий OpenSnitch. При запуске установка, скорее всего, вернет сообщение о том, что файлы Go не найдены. Мы проигнорируем это сообщение, но если кто-то другой нападет на нас, говоря, что нам не хватает git, нам придется прекратить его установку. По умолчанию «GOPATH» находится в / home / user / go.

go get github.com/evilsocket/opensnitch

cd$GOPATH/src/github.com/evilsocket/opensnitch

Если же линия индикатора $GOPATH переменная среды установлена ​​неправильно, мы получим сообщение об ошибке «эта папка не найдена» в приведенной выше команде. Чтобы решить эту проблему, мы будем использовать cd команда для перехода к папке «/home/usuario/go/src/github.com/evilsocket/opensnitch», которая последовательно использовалась при установке системы. Теперь мы устанавливаем его обычным способом:

make

sudo make install

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

sudo systemctl enable opensnitchd

запуск службы sudo opensnitchd

opennitch-ui

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

Используйте опыт работы с OpenSnitch

Эта программа действительно полезна для разрешения или запрета сетевого трафика различных приложений, веб-браузеров, FTP-клиентов, таких программ, как Skype, Google Drive и любая программа, для работы которой требуется подключение к Интернету. С OpenSnitch мы можем детально контролировать все соединения, а также разрешать или запрещать все на уровне приложения, а не на уровне IP-адреса или порта, как в случае с популярными межсетевыми экранами iptables или nftables, которые операционные системы на базе Debian включают по умолчанию.

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

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

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