Szukam firewalla

Szukam firewalla, najlepiej z GUI, który pozwoli mi w banalny, szybki sposób zablokować dostęp do internetu wybranej aplikacji np. WINE. A jeśli nikt nie zna takich, to może spróbujecie mi chociaż napisać jak krok po kroku do iptables dodać regułę blokowania dla konkretnej aplikacji np. na przykładzie firefoxa? Byłbym wdzięczny.

Hmmm, ten firewall działa na portach/adresach IP a nie na jakiejś głębokiej inspekcji pakietów… Jest to do ogarnięcia, ale dziwaczne podejście do firewalla. Jak by mi zależało w ten sposób jak Ty chcesz:

  1. utworzył bym grupę “blokowanie_internetu”

    groupadd blokowanie_internetu

  2. utworzenie pod to użytkownika “brak_internetu”, dodanego do grupy “brak_internetu”:

    useradd -g brak_internetu brak_internetu

Utworzenie skryptu “brak_internetu”:

touch /home/brak_internetu/.local/bin/brak_internetu

W skrypcie wpis:

#!/bin/bash
sg brak_internetu "$1"

Danie uprawnień do uruchamiania:

chmod 755 /home/brak_internetu/.local/bin/brak_internetu

No i teraz iptables - wszystko co wychodzi spod “brak_internetu” jest blokowane:

iptables -A OUTPUT -m owner --gid-owner brak_internetu -j DROP

Uruchoemienie firefoxa z opcją blokowania internetu:

brak_internetu "firefox"

Nie wiem, czy o to Ci chodziło, ale ja trochę inaczej rozumiem firewall.

Właśnie, dziwne podejście do firewalla :slight_smile: Z GUI to GUFW , a potem odblokowujesz co potrzebne (dużo wbudowanych reguł).

tzn. w tym GUFW można zrobić białą listę programów, które będą miały pozwolenie na net, czy mówisz o czymś innym, o zabawie w IP i porty? Bo byłoby wygodnie mieć domyślnie blokowanie netu wszystkiemu i dodawać sobie tylko wybrane programy do białej listy.

domyślnie możesz zablokować wszystko, dopuszczasz tylko to co potrzebujesz…niech to się nazywa Biała lista :slight_smile: Samba, Cups, poczta są wbudowane reguły…

i jak wygląda dodanie programu do białej listy? Np. pobiorę program o nazwie “Wykrywacz Gumisiów”, reguły gotowej dla tego programu nie będzie (w sensie, że z listy wybiorę sobie), a to jest linux, tam chyba nie można wskazać pliku (odpowiednik pliku *.exe) by mu na neta pozwalał? Dlatego pytam jak to wygląda w praktyce wszystko.

Widać, że masz jakieś dziwne nawyki z Windowsa. Iptables, tak jak normalne firewalle, służy do filtrowania pakietów, a nie do powielania wynalazków służących do przykrywania nieistniejącej polityki bezpieczeństwa Windowsów.

Pisząc krótko: zapora nie służy do tego.

Użyj dla danej aplikacji profilu AppArmora ( -network-rules), SELinuksa, lub  grsecurity/RBAC.

https://en.wikibooks.org/wiki/Grsecurity/The_RBAC_System

Masz jeszcze wszelkie jaile, chrooty, sandobksy, kontenery, wirtualizacje i pewnie jeszcze kilkadziesiąt innych narzędzi.

 

A która z tych wszystkich rzeczy będzie najprostsza? W windowsie gdy uruchamiamy programy, to firewalle dowolne wyświetlają alert (podczas którego blokują net aplikacji) i pytają użytkownika co zrobić i czy zapamiętać regułę. Dodatkowo windowsowe firewalle pozwalają ręcznie dodawać reguły dla plików exe i innych i tam można bawić się w zakres ip, zakres portów, protokół, strefa sieciowa, mac i w inne rzeczy. Wszystko jest bardzo proste, wręcz banalne. Na windowsy też istnieje sandboxie i inne piaskownice, można je ustawić banalnie by neta blokowały, a każdy program można odpalić klikając na jego ikonie prawym przyciskiem myszy i wybierając Uruchom w Sandboxie (lub w innej piaskownicy). Banalne. (Można nawet stworzyć skrót w sekundę i odpalenie z niego programu, odpali go w piaskownicy).

Szukam na linuxa również tak nieskomplikowanych sposobów na odpalanie programów w takie sposoby, tak bym nie musiał google używać by wyszukać 200 poleceń by zrobić jedną, banalną (z windy) rzecz na linuxie. Jeśli jest jakaś prosta rzecz to proszę napisz o niej i byłbym wdzięczny gdybyś napisał krótką instrukcję (przypuszczam, że linux jest bardziej dla masochistów i odpalenie programu w piaskownicy nie ograniczy się do kliknięcia prawym przyciskiem myszy, a będzie trzeba ustawiać 200 rzeczy, robić 200 grup i 200 użytkowników, a później pisać skrypt by odpalać nim coś).

Nie odczytuj mojego postu źle, bo nie jestem przeciwnikiem linuxa i kibicuję mu by rozwijał się bardziej, ale jednocześnie wiem, że wiele banalnych rzeczy z windy, na linuxie jest bardziej skomplikowanych i to potrafi zniechęcać zwykłych ludzi. Mam nadzieję, że chociaż jeden ze sposobów twoich okaże się dość prosty.

Dzięki za poświęcony mi czas.

 

btw. na androida jest banalny w obsłudze firewall https://play.google.com/store/apps/details?id=dev.ukanth.ufirewall

Linux to zupełnie inny system i rzeczy banalne na Windowsie nigdy nie będą banalne na Linuksie. W drugą stronę jest identycznie. Nie ma co rozdzierać szat. Każdy używa najwygodniejszych dla siebie rzeczy.

200 rzeczy, 200 grup i użytkowników się robi wtedy, gdy bezmyślnie się kopiuje praktyki z innego systemu. Przykładowo wcześniejsza porada użytkownika bachus. Poczytaj do czego służy linuksowa zapora iptables/Netfilter. Na pewno nie do monitorowania aplikacji.

https://pl.wikipedia.org/wiki/Netfilter

https://en.wikipedia.org/wiki/Iptables

Najbardziej banalna opcja:

firejail --net=none nazwa_programu

Dorobisz sobie aktywator i masz dostęp z poziomu myszki. Nie sprawdzałem tego narzędzia, ale dokumentacja jest dosyć prosta. Polecam lekturę manuala by nie błądzić z przyzwyczajeniami z Windowsa. Profile AppArmora też nie są zbyt skomplikowane.

Bardziej wypasione narzędzia to SELinux lub RBAC, ale to już ciężki kaliber i bardzo zaawansowana konfiguracja. 

W Androidzie działa to zupełnie inaczej i imho bez sensu. Każdy program ma uprawnienia innej grupy/użytkownika. Każde uprawnienie to inna grupa i gdy jakiś program wymaga jakichś wygórowanych uprawnień (a takich są setki lub tysiące) to ma dostęp do całego systemu i nie bardzo jest co z tym zrobić.