OpenSnitch je linuxový port aplikace Little Snitch Firewall pro MacOS, která je v současnosti považována za beta software.
[[Pozdější úprava]]původní OpenSnitch byl opuštěn. V současné době je ve vývoji řada vylepšení a oprav chyb, takže doporučuji použít tuto větev místo neudržovaného projektu. Další informace naleznete v tomto článku.
Pokud hledáte firewall na aplikační úrovni pro Linux, který je dodáván s GUI, vyzkoušejte OpenSnitch. Tento software brány firewall může sledovat aplikace spuštěné ve vašem systému a blokovat jejich přístup k internetu, dokud je nepovolíte nebo nezakážete.
Takto funguje OpenSnitch. Když se aplikace pokusí o přístup k internetu, je zpočátku zablokována a zobrazí se dialogové okno s dotazem, zda chcete její připojení povolit jednou, v této relaci nebo navždy:
Přístup můžete také zablokovat změnou první rozevírací nabídky z Povolit připojení na Blokovat připojení a stejným způsobem vyberte dobu trvání (jednou, pro tuto relaci nebo navždy).
Jak můžete vidět na snímku obrazovky výše, je poskytnuto několik informací, jako například:Například doména, ke které se aplikace pokouší připojit, zdrojové a cílové IP adresy nebo ID procesu.
Ke statistikám sítě OpenSnitch se dostanete přes ikonu na hlavním panelu, která zobrazuje informace o aktuálních procesech, hostitelích, adresách, portech nebo uživatelích a také obecný přehled vašich aktuálních připojení:
I když má aplikace grafické uživatelské rozhraní Qt, lze ji používat také z příkazového řádku. Informace o nastavení vlastních pravidel pro OpenSnitch naleznete na této stránce.
Poté, co jste aplikaci povolili nebo zakázali připojení k internetu, alespoň prozatím neexistuje žádné GUI, které by to změnilo v případě, že si to rozmyslíte. Pravidlo však můžete resetovat odstraněním (nebo změnou) souboru pravidel, který jste uložili do adresáře /etc /opensnitchd / rules (po instalaci a jednom spuštění OpenSnitch).
OpenSnitch je stále ve verzi beta, takže některé funkce chybí. V současné době démon OpenSnitch zachycuje a spravuje pouze odchozí připojení, ale plánuje se podpora pro příchozí připojení.
OpenSnitch není zabalen pro většinu distribucí Linuxu (nenašel jsem žádné balíčky pro Debian / Ubuntu / Linux Mint). Chcete-li si stáhnout zdroj OpenSnitch a zjistit, jak jej nainstalovat, podívejte se na tuto stránku.
Oficiálně zveřejněné instalační pokyny OpenSnitch pro Ubuntu jsou trochu neúplné, proto jsem si níže napsal průvodce.
Jak nainstalovat firewall aplikační vrstvy OpenSnitch v Ubuntu nebo Linux Mint
Následující průvodce vyžaduje Ubuntu 18.04, 18.10, 19.04 nebo 19.04 (nebo novější). Nepodařilo se mi to sestavit v Ubuntu 16.04. Tyto kroky by měly fungovat také na Linux Mint 19. *, základní OS Juno, Pop! _OS 18.04 a novější a další distribuce Linuxu založené na Ubuntu 18.04 a novějším.
1. U některých balíčků je vyžadováno Go, a aby celý tento proces správně fungoval, je třeba do vaší PATH přidat některé cesty. Chcete-li to provést, spusťte následující příkazy:
echo "export GOPATH=$HOME/.go" >> ~/.bashrc
echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$HOME/.local/bin:$HOME/.bin" >> ~/.bashrc
. ~/.bashrc
2. Nainstalujte závislosti OpenSnitch:
sudo apt install golang-go python3-pip python3-setuptools python3-slugify protobuf-compiler libpcap-dev libnetfilter-queue-dev python-pyqt5 pyqt5-dev pyqt5-dev-tools git
3. Začněte budovat OpenSnitch a jeho požadavky:
go get github.com/golang/protobuf/protoc-gen-go
go get -u github.com/golang/dep/cmd/dep
cd $GOPATH/src/github.com/golang/dep
./install.sh
export PATH=$PATH:$GOPATH/bin
python3 -m pip install --user grpcio-tools
go get github.com/evilsocket/opensnitch
cd $GOPATH/src/github.com/evilsocket/opensnitch
make
sudo -H make install
Při spuštění příkazu go to github.com/evilsocket/opensnitch se může zobrazit chyba oznamující, že nebyly nalezeny žádné soubory Go (Balík nelze načíst:Balíček github.com/evilsocket/opensnitch:žádné soubory go v …) . Ignorujte tuto zprávu a pokračujte zbývajícími kroky.
Poslední výše uvedený příkaz používal -H, protože některé příkazy PIP jsou prováděny instalačním souborem a volba -H nastavuje proměnnou HOMELAND na cílový adresář uživatele, aby nedošlo k záměně některých oprávnění.
4. Přidejte OpenSnitch do startu a spusťte jeho služby (tyto příkazy musíte spustit pouze jednou):
mkdir -p ~/.config/autostart
cd ui
cp opensnitch_ui.desktop ~/.config/autostart/
sudo systemctl enable opensnitchd
sudo service opensnitchd start
Jak odstranit OpenSnitch
Chcete-li odebrat OpenSnitch ze systému Ubuntu / Linux Mint, použijte tuto příručku. To je vyžadováno, protože OpenSnitch byl nainstalován ze zdroje a ne s balíčkem.
Zastavte a deaktivujte službu opensnitchd:
sudo service opensnitchd stop
sudo systemctl disable opensnitchd
Odeberte nainstalované soubory OpenSnitch:
rm ~/.config/autostart/opensnitch_ui.desktop
rm -rf ~/.go/src/github.com/evilsocket/opensnitch
sudo rm /usr/local/bin/opensnitch-ui
sudo rm /usr/local/bin/opensnitchd
sudo rm -r /etc/opensnitchd
sudo rm -r /usr/local/lib/python3.*/dist-packages/opensnitch_ui*
sudo rm -r /usr/local/lib/python3.*/dist-packages/opensnitch/
sudo rm /etc/systemd/system/opensnitchd.service
sudo rm /etc/systemd/system/multi-user.target.wants/opensnitchd.service
sudo rm /usr/share/applications/opensnitch_ui.desktop
sudo rm /usr/share/kservices5/kcm_opensnitch.desktop