Forum Linux.pl

Oprogramowanie => Inne => Wątek zaczęty przez: kowa.pi w 2022-06-08, 14:03:01

Tytuł: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: kowa.pi w 2022-06-08, 14:03:01
Cześć. Używam Linux Manjaro 64 Xfce.

1. Jak sprawdzić które porty w systemie są otwarte/zamknięte?
2. Jak sprawdzić jakich portów używają programy takie jak Firefox, Thunderbird, GoogleEarth, Pigwin, Pacman, VirtualBox? (tylko tego używam do internetu)
3. Jak prawidłowo zamknąć cały inny ruch w zaporze pozostawiając jedynie otwarte porty dla w/w programów?
Tytuł: Odp: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: robson75 w 2022-06-08, 14:14:16
Co wy wszyscy macie z tą zaporą, o wiele prościej jest skonfigurować iptables (https://wiki.archlinux.org/title/iptables), i to w zupełności na systemie linux wystarczy.
Tytuł: Odp: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: kowa.pi w 2022-06-08, 15:35:05
To za ciężkie na nasze głowy te arch wiki :)
Tytuł: Odp: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: robson75 w 2022-06-08, 15:47:26
Jeżeli chcesz używać Manjaro, to radzę się dobrze zaznajomić z arch wiki.
Tytuł: Odp: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: Paweł Kraszewski w 2022-06-08, 20:41:02
Cytuj
2. Jak sprawdzić jakich portów używają programy takie jak Firefox, Thunderbird, GoogleEarth, Pigwin, Pacman, VirtualBox? (tylko tego używam do internetu)

Używają losowych portów. Piszę to, jako osoba, która napisała kiedyś własny, uproszczony stos IP działający w przestrzeni użytkownika (kernel Linuksa tylko z driverami do kart sieciowych i bez żadnego protokołu sieciowego, nawet złamanego ARPa).

Tutaj (https://rakhesh.com/linux-bsd/iptables-packet-flow-and-various-others-bits-and-bobs/) masz opisaną ścieżkę zdrowia pakietów przez iptables.
Tutaj (https://gist.github.com/nerdalert/a1687ae4da1cc44a437d) masz pierdylion obrazków o tym, ale bez komentarza.

Dodatkowo dorwij gdzieś Sieci komputerowe (https://helion.pl/ksiazki/sieci-komputerowe-wydanie-v-andrew-s-tanenbaum-david-j-wetherall,sieci5.htm) Tanenbauma, tam będziesz miał opisany sam protokół IP (między innymi), bo bez tego za dużo tłumaczenia. Wersja angielska jest już w 6. wydaniu. A co do tłumaczenia, zajrzyj do mojej odpowiedzi na wątek Reguły ufw zapory w Linux (https://forum.linux.pl/index.php/topic,26384.msg141823.html#new) sprzed paru dni, konkluzja dotyczy także Ciebie.
Tytuł: Odp: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: marcin'82 w 2022-06-09, 07:43:55
Cytuj
1. Jak sprawdzić które porty w systemie są otwarte/zamknięte?

Przeskanować porty podstawowe 1-1024 na przykład przez stronę https://www.grc.com/shieldsup .

2. Jak sprawdzić jakich portów używają programy takie jak Firefox, Thunderbird, GoogleEarth, Pigwin, Pacman, VirtualBox? (tylko tego używam do internetu)

sudo lsof -Pi4

3. Jak prawidłowo zamknąć cały inny ruch w zaporze pozostawiając jedynie otwarte porty dla w/w programów?

Zależy od przyjętej polityki użytkownika. Paweł Kraszewski opisywał innemu użytkownikowi w jednym ze swoich postów.

Na marginesie (bajdełej), firewalld (Fedora), został przepisany już jakiś czas temu na nftables. Czy to lepsze, hiper super - nie wiem. W każdym razie składnia i kod może być wydatnie krótszy, nie trzeba powtarzać kilku podobnych reguł, itd., itp.
Tytuł: Odp: Zapora w Linuxie Manjaro
Wiadomość wysłana przez: 1709 w 2022-06-09, 20:04:07
Ad.1
Poprzez sprawdzenie usług nasłuchujących lub przez skanowanie.
https://forum.linux.pl/index.php/topic,25718.0.html

Ad.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.
lsof -i :0-65535
ss -utp
i może
netstat -tup

Ad.3
Cytuj
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 ...

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

Cytuj
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
Cytuj
    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%85
Został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)


Cytuj
iptables -A INPUT -i lo -j ACCEPT
Ta regóła jest dla połączeń " lokalnych " / między procesami w systemie.
Przy pomocy komendy
ifconfig 
lub
ip a 
możesz zauważyć że jest taki interfejs " lo " w systemie. https://pl.wikipedia.org/wiki/Localhost

Taka 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.sh
https://www.tutorialspoint.com/most-frequently-used-linux-iptables-rules-with-examples

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