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í.