Aplikační firewall v Linuxu – aneb kontrola přístupu aplikací k síti

Aplikační firewall v Linuxu – aneb kontrola přístupu aplikací k síti

Dnes si ukážeme jaké máme v Linuxu možnosti, když chceme mít pod kontrolou kam se připojují naše aplikace a mít tak větší kontrolu nad svým soukromím a zabezpečením dat a systémových zdrojů.

OpenSnitch

https://github.com/evilsocket/opensnitch

Interaktivní aplikační firewall s GUI, který vám zobrazí pokusy o připojení aplikací k síti a dá vám možnost reagovat – spojení povolit či zakázat a to buď jednorázově, po dobu následujících 5, 15, 30 minut až 1 hodiny, případně až do dalšího restartu, nebo samozřejmně trvale. Ve výchozím nastavení máte na reakci 15 sekund a pak dojde k zamítnutí spojení. Toto výchozí chování se dá samozřejmě upravit v nastavení.

OpenSnitch se skládá z démona běžícího na pozadí (první RPM balíček) a z GUI (druhý RPM balíček).

Instalace vývojové verze 1.6.0 Release Candidate 5 na Fedoře 38:

$ wget https://github.com/evilsocket/opensnitch/releases/download/v1.6.0-rc.5/opensnitch-1.6.0rc5-1.x86_64.rpm https://github.com/evilsocket/opensnitch/releases/download/v1.6.0-rc.5/opensnitch-ui-1.6.0rc5-1.noarch.f29.rpm
$ sudo dnf localinstall opensnitch-1.6.0rc5-1.x86_64.rpm opensnitch-ui-1.6.0rc5-1.noarch.f29.rpm

Kontrola zda démon běží:

$ sudo systemctl status opensnitch

Pokud ne, pak:

$ sudo systemctl start opensnitch  # Pro spuštění hned teď
$ sudo systemctl enable opensnitch  # Automatické spuštění při startu systému

Pak už stačí jen spustit GUI z menu pomocí “OpenSnitch”, zde v záložce “Events” se budou postupně objevovat všechny aktuální připojení našich procesů (aplikací):

V případě, že se nějaký nový proces pokusí o připojení do sítě, vyskočí nám podobná výzva k reakci, která povede k vytvoření nového pravidla:

Ve výchozím stavu rozhodujeme vždy o konkrétním procesu, ale je tu možnost ještě kliknout na symbol plus (+) a zvolit, že se má pravidlo například týkat jen aplikace a konkrétní cílové IP adresy/portu či uživatele, který proces spustil:

Příklad podezřelého pokusu o připojení

Tento pokus o připojení, při spuštění aplikace kalkulačky, mě docela překvapil:

Kalkulačka připojující se na stánky Mezinárodního Měnového Fondu nevypadá úplně standardně.

Při bližším zkoumání se ukázalo, že si GNOME Calculator z jejich stránek stahuje aktuální kurzy pro konverzi měn takže jde o legitimní provoz:
https://gitlab.gnome.org/GNOME/gnome-calculator/-/blob/40e931855701a6d64cdd88dd86b24ad235a14f9a/lib/currency-provider.vala#L167-172

Na druhou stranu, jsem do teď ani nevěděl, že GNOME Calculator umí konvertovat měny a vzhledem k tomu, že tuto funkcionalitu nepoužívám, tak jsem díky OpenSnitch mohl tento a budoucí pokusy o přístup kalkulačky k síti bezpečně zakázat.

Další aplikační firewally pro Linux

  • https://safing.io/ – Pěkně vypadající, opensource multiplatformní aplikační firewall.

Kromě OpenSnitch a Safing Portmaster lze ještě online narazit na tyto dva bohužel už nevyvíjené projekty:

  • https://fireprompt.com/ – Web obsahuje pouze jeden screenshot a debianí balíček z roku 2017. Zdrojové kódy nejsou k nalezení.
  • https://douaneapp.com/ – Pěkně vypadající projekt, který bohužel už poslední rok nemá žádné nové commity v git repozitáři.

Další nástroje na monitorování síťového provozu aplikací

  • https://github.com/elesiuta/picosnitch – Nástroj pro monitorování síťového provozu aplikací.
  • Nethogs – CLI nástroj, který umožňuje monitorovat využití sítě jednotlivými procesy. U Fedory dostupný přímo z repozitářů distribuce. Použití je snadné: sudo nethogs -v 1
Comments are closed.