Ad.1
Poprzez sprawdzenie usług nasłuchujących lub przez skanowanie.
https://forum.linux.pl/index.php/topic,25718.0.htmlAd.2
Komenda
tcpdump pokaże zarówno połączenia wchodzące i wychodzące oraz połączenie trwające bardzo krótko.
Połączenia dłuższe można próbować sprawdzić przy pomocy np.
i może
Ad.3
3. Jak prawidłowo zamknąć cały inny ruch w zaporze pozostawiając jedynie otwarte porty dla w/w programów?
Zależy od zapory. Zasada budowy pewnie ta sama lub podobna. Wygląd regół może wyglądać trochę inaczej.
Edycja ...
jedynie otwarte porty dla w/w programów? ... ( Firefox, Thunderbird, GoogleEarth, Pigwin, Pacman, VirtualBox )
Dla mnie otwarte porty to porty na których aplikacje nasłuchują (
LISTEN) , czyli czekają na połączenie przychodzące.
serwer <-- ( zapytanie ) klient
serwer ( odpowiedź ) --> klient
Takie aplikacje nazywamy aplikacjami serwerowymi
Mam wątpliwości czy takie aplikacje posiadasz.
To może być np. serwer poczty, serwer do druku, serwer do monitorowania systemu, komunikator ( który łączy się bezposrednio bez serwerów zewnętrznych ), serwer gry.
Bardzo często w poradnikach znajdziesz że w typowej zaporze
połączenia wyjściowe są zezwolone
połączenia wejściowe są blokowane.
Ale nie w dosłownym tego znaczeniu.
Przyjżyj się podstawowej zaporze iptables dła zwykłych użytkowników żeby spróbować zrozumieć.
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- domyślna polityka połączenia wejściowe blokuje.
- domyślna polityka przekierowania blokuje
- domyślna polityka połączenia wyjściowe blokuje.
Z tymi trzema regółami połączenie internetowe raczej nie będzie działać tak jakbyśmy chcieli,
ponieważ np. przeglądarka wyśle zapytanie do internetu, ale nie otrzymamy odpowiedzi, bo jest blokowane.
Dlatego na końcu znajduje się jeszcze jedna ważna reguła
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Jak będziesz się bawił komendami to zauważysz że niektóre zwracają stan połączenia
https://pl.wikipedia.org/wiki/Protok%C3%B3%C5%82_sterowania_transmisj%C4%85Zostało to wykorzystane do filtrowania połączeń internetowych w zaporze.
W tym przypadku reguła pozwala na połącznienia wejściowe jeśli mają stan stały (ESTABLISHED), lub powiązany (RELATED)
iptables -A INPUT -i lo -j ACCEPT
Ta regóła jest dla połączeń " lokalnych " / między procesami w systemie.
Przy pomocy komendy
lub
możesz zauważyć że jest taki interfejs " lo " w systemie.
https://pl.wikipedia.org/wiki/LocalhostTaka podstawowa zapora pozwala " w miarę " na bezpieczne korzystanie z przeglądarki.
Mam na myśli że nawet gdybyś miał włączoną usługę serwerową to zapora nie pozwoli na połączenie.
Natomiast jak to przysłowie mówi jak nie dzwiami to oknem.
Czyli hakerzy próbują przekonać użytkownika by sam pobrał złośliwe oprogramowanie.
Komputery serwerowe gdzie usługi i porty muszą być otwarte mają już gorzej.
Ponieważ otwarte porty pozwalają na bezpośredni atak na aplikacje, jesli nasłuchują / czekają na połączenie.
Zapory dla komputerów serwerowych zwykle mają bardziej zaostrzoną politykę.
Czyli domyślnie blokują wszystko, więc zwykle muszą być dodane dwie reguły.
Dla połączeń wejściowych ( przychodzących ) i połączeń wyjściowych ( wychodzących ).
np.
https://github.com/tele1/Tmur/blob/main/rules/rules_accept_ipv4.shhttps://www.tutorialspoint.com/most-frequently-used-linux-iptables-rules-with-examplesDodatkowo zwykle są chronione dodatkowymi regułami lub programami filtrującymi sieć.
Np. mogą ograniczać ilość połączeń od jednego adresu IP,
mogą wykrywać skanowanie i dodawać takie adresy do listy blokowanych.