Muszę wyznać, że jestem nowy w świecie Linuksa i istnieją pojęcia, które wydają mi się bardzo nieznane.
Najbardziej tęsknię za dobrą, ale prostą zaporą na poziomie aplikacji. W tej chwili, przy całej tej wszechobecnej, natrętnej i stałej łączności z Internetem, musisz wiedzieć, co dokładnie robi twój komputer, dlaczego i z kim. Analizator protokołów jest w porządku, ale zbyt nieprzyjazny i czasochłonny, aby „analizować”, który jest praktycznie bezużyteczny dla użytkowników domowych.
Odkryłem wiele programów w środowiskach Windows, które nie powinny łączyć się z Internetem, ale robią to (i dzięki mojej zaporze sieciowej ZoneAlarm mogę je zatrzymać).
Z Gufw (i kilkoma innymi) musisz wiedzieć, które aplikacje już zainstalowałeś (i wiemy, że jest to prawie niemożliwe w tym nowoczesnym systemie operacyjnym z miliardami linii kodu).
To, czego szukam, to zapora ogniowa, która monitoruje połączenie NIC / WAN i wykrywa dowolny program / aplikację lub cokolwiek, co próbuje „rozmawiać” przez to proaktywnie, niezależnie od portu, który próbuje użyć (musi to być aplikacja, o której wspomniałem wcześniej, próbuje się połączyć przy użyciu dobrze znanych portów TCP: 80, 443, 8080). Czy to istnieje? (Jeśli nie, to skąd mam wiedzieć, co robi mój komputer?)
źródło
Odpowiedzi:
Douane
Instalacja
Do tej pory (2017/05/22) nie ma dostępnych pakietów Ubuntu. Musisz zbudować go ze źródła.
Te instrukcje instalacji są oparte na informacjach z Douane Wiki i przetestowane na Ubuntu 16.04.2 64-bit.
Otwórz terminal ( Ctrl+ Alt+ T), aby uruchomić polecenia.
Przygotowanie
Zaktualizuj swój system:
Jeśli otrzymasz powiadomienie z prośbą o ponowne uruchomienie komputera, uruchom go ponownie.
Zainstaluj zależności
Utwórz katalog do kompilacji
Zbuduj moduł jądra
Sprawdź, czy moduł został poprawnie zbudowany i zainstalowany:
Powinieneś zobaczyć coś takiego:
Zbuduj demona
Zbuduj proces dialogu
Rozpocznij proces dialogu:
Następnie sprawdź, czy działa:
Powinieneś zobaczyć coś takiego:
Zbuduj konfigurator
Uruchom demona i skonfiguruj automatyczne uruchamianie
Musiałem wstawić następujący tekst do pliku
/etc/init.d/douane
, aby umożliwić automatyczne uruchomienie demona:Otwórz plik do edycji:
Następnie wklej powyższy tekst po opisie programu. Naciśnij Ctrl+ O, Enteraby zapisać, a następnie Ctrl+, Xaby wyjść z edytora.
To jest pierwsze 21 wierszy pliku po wstawieniu tekstu:
Teraz możesz skonfigurować automatyczne uruchamianie i uruchomienie demona:
Aktywuj filtr i automatycznie uruchom okno dialogowe
Uruchom konfigurator:
Następnie upewnij się, że przełączniki Użyj Douane do filtrowania mojego ruchu sieciowego i Auto start Douane przy rozruchu są włączone.
Możesz przejrzeć reguły filtrowania w zakładce Reguły . Kliknij regułę prawym przyciskiem myszy, aby wyświetlić opcję jej usunięcia.
Test
Jeśli wszystko jest w porządku, powinieneś zobaczyć okno Douane z prośbą o pozwolenie podczas otwierania aplikacji korzystających z połączeń sieciowych.
źródło
Istnieje nowy projekt o nazwie OpenSnitch opisany na stronie
https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux/
Strona projektu to https://www.opensnitch.io/
W tym momencie jest uważane za oprogramowanie alfa i, co dziwne, jest napisane w Pythonie, ale przynajmniej jest to nowa próba, podczas gdy Douane jest bardzo starym programem, który (myślę) jest znacznie trudniejszy do zainstalowania.
Oświadczenie: Nie testowałem osobiście żadnego programu, próbowałem tylko sprawdzić, czy są jakieś inne opcje i zauważyłem, że nikt jeszcze nie wspomniał o OpenSnitch.
źródło
To jest naprawdę dobre pytanie, ale nienawidzę takich pytań, ponieważ naprawdę trudno na nie odpowiedzieć, nie mówiąc, że bezpieczeństwo nie jest ważne.
Po pierwsze, powiem, że bezpieczeństwo jest ważne, ale Linux radzi sobie z nim zupełnie inaczej niż Windows.
Więc rozwiążmy twoje pytanie.
Po pierwsze, nie będzie wychodzącej zapory ogniowej działającej w taki sam sposób jak alarm strefy. Linux po prostu nie ma takiej potrzeby. Wiele aplikacji działa w architekturze klient / serwer, nawet jeśli używasz ich na tym samym komputerze. Xorg jest świetnym przykładem. Najpierw masz serwer (w tym przypadku część, która rysuje na ekranie), a klient (gedit) gedit rozmawia z serwerem o narysowaniu przycisków, umieszczeniu tekstu i tak dalej. Nawet coś tak prostego jak mysz ma tę samą architekturę (lub może mieć). Program działa jak serwer nasłuchując informacji i wysyłając dane, gdy je otrzyma, a następnie klient „łączy” się z tym „serwerem myszy” i czeka na informacje.
Jest to tak powszechne w Linuksie, że jeśli utworzysz „zaporę ogniową”, która poprosi o pozwolenie na każde połączenie sieciowe, prawdopodobnie nie będziesz w stanie go skonfigurować, ponieważ nie będzie mógł połączyć się z własnym serwerem.
To jest bardzo szorstki przykład, niektóre wprowadzają w błąd, ponieważ są tak wysokie. Ale to wciąż bardzo prawda.
Aby chronić nas użytkowników Linuksa przed tym, mamy zestaw dwóch bardzo podstawowych zasad, które wykonują bardzo dobrą „podstawową” pracę.
Po pierwsze, żaden użytkownik oprócz roota nie może otworzyć żadnego portu poniżej 1024. (ponownie bardzo wysoki poziom). Oznacza to, że nawet uruchomić serwer FTP (na standardowym porcie), musisz mieć dostęp do konta root. Użytkownik jako użytkownik może zwykle otwierać „wysokie porty” (te powyżej 1024). Ale patrz zasada druga.
2. miejsce żaden proces nie może uzyskać dostępu do żadnego pliku, do którego użytkownik rozpoczynający proces nie miałby dostępu. (ponownie bardzo wysoki poziom) Więc jeśli „coteyr” miałby uruchomić serwer FTP, to ten serwer FTP w gorszym przypadku (wysoki poziom) miałby dokładnie taki sam dostęp jak użytkownik coteyr, który go uruchomił.
Z powodu połączenia tych dwóch reguł „oprogramowanie”, które pyta za każdym razem, gdy coś próbuje połączyć zaporę, staje się przeszkodą i nie ma na nią dużego popytu.
To powiedziawszy, zawsze możesz utworzyć regułę wychodzącej zapory ogniowej, aw wielu przypadkach prawdopodobnie nie jest to zły pomysł. Wiele usług można (i są domyślnie) skonfigurowanych do używania gniazd opartych na plikach (lub pamięci), a nie gniazd sieciowych.
Reguła zapory przychodzącej zwykle zamyka wszelkie nieparzyste przerwy pozostawione przez regułę 1 lub 2.
Chodzi mi o to. Bezpieczeństwo jest ważne i nie próbuję powiedzieć, że tak nie jest, właśnie tutaj, w Linuksie mamy różne narzędzia i cele. Polecam zajrzeć do uprawnień użytkownika i grupy w systemie Linux, a następnie użyć narzędzia takiego jak gfw i IPTABLES, aby wypełnić wszelkie luki.
źródło
sshd
22 lata), ale pytanie wydaje się, że pytać o eksfiltrację danych. Które są prawie całkowicie połączeniami wychodzącymi i mają niewiele wspólnego z portami, z którymi możesz się łączyć.netstat
tej chwili moje urządzenie ma 1354 otwarte połączenia. 65 z nich to połączenia sieciowe. To dla mnie dość niska liczba (nie mówiąc, że jest to dla wszystkich), ale wtedy zacząłbyś próbować dowiedzieć się, co robi każde z tych połączeń. Jak powiedziałem, nie jest tak, że bezpieczeństwo nie jest ważne, to po prostu zupełnie inne środowisko.