Jak nainstalovat Open Snitch na Ubuntu

Linux disponuje solidním firewallem, avšak pro začínající uživatele nemusí být příliš intuitivní. Chybí zde vizuální upozornění, která by informovala o aktivitách programů, a veškeré operace se provádějí prostřednictvím terminálu, pokud si nepřejete nainstalovat grafické rozhraní pro jeho správu. Pokud hledáte uživatelsky přívětivější řešení, zvažte vyzkoušení Open Snitch. Jedná se o firewallovou aplikaci, která se silně inspiruje programem Little Snitch z macOS. Instalace Open Snitch není zcela triviální, vyžaduje ruční konfiguraci cesty pro programovací jazyk Google Go a následnou instalaci pomocí tohoto jazyka. Jakmile se vám však instalaci podaří dokončit, může aplikaci efektivně používat každý, včetně nováčků.

Důležité upozornění: Open Snitch je stále ve fázi experimentálního vývoje a nemusí být kompatibilní se všemi verzemi Ubuntu. Pro dosažení optimálních výsledků doporučujeme pečlivě dodržovat pokyny a prostudovat si dokumentaci na stránce projektu na GitHubu.

Konfigurace Go Path

Open Snitch je napsán v jazyce Go, proto je pro jeho instalaci nutný tento programovací jazyk. Bohužel Google Go se po instalaci na Linux automaticky nenakonfiguruje správně. Před jeho použitím musíte nastavit tzv. „cestu“, která umožní snadnou instalaci balíčků do vašeho Linuxového systému.

Pro nastavení správné cesty otevřete terminál a postupujte podle instrukcí:

Nejprve vytvořte zálohu vašeho souboru .bash_profile pomocí příkazů mv a cp:

cd ~/
cp .bash_profile ~/Documents
mv ~/Documents/.bash_profile ~/Documents/.bash_profile-backup

Nyní, když máte zálohu, můžete otevřít .bash_profile v textovém editoru Nano a správně nakonfigurovat cestu Go:

nano ~/.bash_profile

Vložte následující řádek do souboru .bash_profile:

export GOPATH=$HOME/go

Dále musíte nastavit i adresář bin pro Go. Vložte do editoru Nano následující řádek:

export GOBIN=$HOME/go/bin

Po přidání cest uložte provedené změny stisknutím kláves Ctrl + O.

Nyní informujte Bash o nové cestě Go pomocí příkazu source:

source ~/.bash_profile

Instalace Go

Váš Linuxový systém má nyní nastavenou správnou Go cestu. Dalším krokem k instalaci Open Snitch je samotná instalace programovacího jazyka Go. Otevřete terminál a postupujte podle instrukcí níže. Uvědomte si, že Open Snitch nebude fungovat, pokud nemáte Google Go verze 1.8 nebo novější.

sudo apt install golang-go python3-pip python3-setuptools protobuf-compiler libpcap-dev libnetfilter-queue-dev python-pyqt5 pyqt5-dev pyqt5-dev-tools git

Obecné instrukce

Instalace Google Go na méně rozšířených linuxových distribucích je o něco složitější. Pro začátek použijte nástroj wget ke stažení nejnovější verze zdrojového kódu.

Před instalací Open Snitch nainstalujte následující závislosti. Jejich názvy se mohou lišit, použijte seznam výše pro Ubuntu jako referenci.

Poznámka: Open Snitch byl primárně vyvíjen pro Ubuntu a vývojář uvádí seznam závislostí právě pro tuto distribuci. Pokud se pokusíte aplikaci používat na jiném operačním systému Linux, může fungovat, ale můžete narazit na problémy.

wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz

Stahování by mělo být rychlé. Po jeho dokončení použijte příkaz tar k rozbalení jazyka do správné lokace ve vašem systému:

sudo tar -C /usr/local -xvzf go1.10.2.linux-amd64.tar.gz

Dále otevřete váš bash_profile a přidejte do něj „Go root“ cestu. Přidání této lokace je nezbytné, protože Go instalujete ručně ze zdrojového kódu, nikoli pomocí nativního balíčku.

nano ~/.bash_profile

Vložte do editoru Nano následující řádek:

export GOROOT=/usr/local/go

Uložte provedené změny pomocí Ctrl + O a poté je načtěte:

source ~/.bash_profile

Získání Open Snitch

Instalace Open Snitch na Ubuntu začíná získáním zdrojového kódu. Nejprve stáhněte pomocí Go dvě důležité závislosti používané Open Snitch:

go get github.com/golang/protobuf/protoc-gen-go
go get -u github.com/golang/dep/cmd/dep

Dále použijte instalační nástroj balíčků Python 3 ke stažení závislostí spojených s Pythonem, které Open Snitch potřebuje.

UPOZORNĚNÍ: Nespouštějte níže uvedený příkaz s oprávněními root nebo sudo, protože instalace těchto knihoven by se provedla globálně v celém systému, což není požadovaný stav pro Open Snitch.

python3 -m pip install --user grpcio-tools

Nyní, když jsou všechny závislosti nainstalované, je čas použít Go ke klonování nejnovějšího zdrojového kódu Open Snitch:

go get github.com/evilsocket/opensnitch

Pokud výzva Go hlásí „no files“ nebo něco podobného, ignorujte ji. Použijte příkaz cd pro přesun terminálu do správného adresáře:

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

V tuto chvíli můžete spustit příkazy make a sudo make install pro sestavení Open Snitch ve vašem Ubuntu Linux systému.

make
sudo make install

Jádro kódu je sestaveno a nainstalováno. Nyní aktivujte démona Open Snitch:

sudo systemctl enable opensnitchd
sudo systemctl start opensnitchd

Pokud byla instalace Open Snitch úspěšná, měli byste najít ikonu „Open Snitch“ na ploše, pomocí které můžete aplikaci spustit. Alternativně spusťte opensnitch-ui v terminálu.

Používání Open Snitch

Po instalaci a spuštění Open Snitch uživatel nemusí provádět žádné složité konfigurace. Stačí ponechat program běžet na pozadí. Bude monitorovat a upozorňovat na programy, které se pokoušejí provádět změny ve vašem Linuxovém systému.

Pro jednorázové povolení programu klikněte na „Povolit jednou“. Pro trvalé povolení klikněte na „Povolit trvale“.

Stejným způsobem můžete programy dočasně zablokovat kliknutím na „Odmítnout“ nebo „Blokovat“ pro trvalé zablokování.