GNU/Linux >> Znalost Linux >  >> Linux

Zobrazte síťová připojení svého linuxového serveru pomocí netstat

V předchozím článku jsem sdílel několik důležitých prvních kroků, které vám pomohou spravovat váš osobní server Linux. Krátce jsem se zmínil o monitorování síťových připojení pro naslouchající porty a chci to rozšířit pomocí netstat příkaz pro systémy Linux.

Monitorování služeb a skenování portů jsou standardní průmyslovou praxí. Existuje velmi dobrý software, jako je Prometheus, který pomáhá automatizovat proces, a SELinux, který pomáhá kontextualizovat a chránit přístup k systému. Věřím však, že pochopení toho, jak se váš server připojuje k jiným sítím a zařízením, je klíčem k vytvoření základní linie toho, co je pro váš server normální, což vám pomůže rozpoznat abnormality, které mohou naznačovat chybu nebo narušení. Jako začátečník jsem zjistil, že netstat poskytuje důležité informace o mém serveru, a to jak pro monitorování, tak pro řešení problémů se sítí.

Netstat a podobné nástroje pro monitorování sítě, seskupené v balíčku net-tools, zobrazují informace o aktivních síťových připojeních. Protože služby běžící na otevřených portech jsou často zranitelné vůči zneužití, může vám pravidelné monitorování sítě pomoci včas odhalit podezřelou aktivitu.

Nainstalujte netstat

Netstat je v distribucích Linuxu často předinstalován. Pokud netstat není na vašem serveru nainstalován, nainstalujte jej pomocí správce balíčků. Na systému založeném na Debianu:

$ sudo apt-get install net-tools 

Pro systémy založené na Fedoře:

$ dnf install net-tools 

Použijte netstat

Samotný netstat zobrazí všechna navázaná spojení. Můžete použít netstat výše uvedené možnosti pro další specifikaci zamýšleného výstupu. Chcete-li například zobrazit všechna naslouchající a neposlouchající připojení, použijte --all (-a zkráceně) možnost. To vrací mnoho výsledků, takže v tomto příkladu jsem výstup zpracoval do head pro zobrazení pouze prvních 15 řádků výstupu:

$ netstat --all | head -n 15
Aktivní připojení k internetu (servery a navázáno)
Proto Recv-Q Send-Q Místní adresa           Zahraniční adresa         Stát      
tcp        0       0      0 *      0 *     0 *      0 *     0 *      0 *     0 *      0 *      0 *     0 *      0 *     0 *      0 *     0 *      0 *      0 *     0 *      0 *     0 *      0 *     0 TCP 0 0 localhost:27060 *:* Poslouchejte
TCP 0 0 *:16001 *:*:* Poslouchejte
TCP 0 0 localhost:6463 *:* Poslouchejte
TCP 0 0 *:SSH *:* Poslouchejte
TCP 0 0 localhost:57343 *:* Poslouchejte
TCP 0 0 *:IPP *:* Poslouchejte
TCP 0 0 *:4713 *:* Poslouchejte
TCP 0 0 10.0.1.222:48388        syd15s17-in-f5.1e:https ESTABLISHED
tcp        0      0 10.0.1.222:48194 2. ec - 3 - 3 - 5 us S Založena
TCP 0 0 10.0.1.2222:56075 103-10-125-164.VA:27024 Založeno
TCP 0 0 10.0.1.2222:46680 SYD15S20-IN-F10.1:HTTPS zavedený
tcp        0      0 10.0.1.222:52730        syd09s23-in-f3.1e:https ESTABLISHED

Chcete-li zobrazit pouze porty TCP, použijte --all a --tcp možnosti nebo -at ve zkratce:

$ netstat -at | head -n 5
Aktivní připojení k internetu (servery a navázáno)
Proto Recv-Q Send-Q Místní adresa   Zahraniční adresa  Stát      
tcp        0      0 *:27036         *:*     br /  LIST tcp        0      0 localhost:27060 *:*              POSLOUCHEJTE      
tcp        0      0 *:16001                                          POSLECHNUTÍ

Chcete-li zobrazit pouze porty UDP, použijte --all a --udp možnosti nebo -au ve zkratce:

$ netstat -au | head -n 5
Aktivní připojení k internetu (servery a navázáno)
Proto Recv-Q Send-Q Místní adresa     Zahraniční adresa    Stát      
udp        0      0 *:27036 <          0 *:27036 <          0 *:27036 <           0 *:27036 <           0 *:27036 <           0 *:27036 <          0 0      0 10.0.1.222:44741  224.0.0.56:46164   ESTABLISHED
udp        0      0 *:bootpc          

Možnosti pro netstat jsou často intuitivní. Chcete-li například zobrazit všechny naslouchající porty TCP a UDP s ID procesu (PID) a číselnou adresou:

$ sudo netstat --tcp --udp --listening --programs --numeric
Aktivní připojení k internetu (pouze servery)
Proto Recv-Q Send-Q Místní adresa      Zahraniční adresa  Stát   PID/ Název programu
TCP 0 0 0.0.0.0.0.0:111 0.0.0.0:* Poslech 1 / SystemD
TCP 0 0 0 192.168.122222:5:53 0.0.0.0:* Poslech 2500 / DNSMasq
TCP 0 0 0.0.0.0.0:22 0.0.0.0.0:* Poslech 1726 / sshd
TCP 0 0 127.0.0.1:631 0.0.0.0.0.1:631 0.0.0.0:* Poslech 1721 / Cupsd
TCP 0 0 127.0.0.1:6010 0.0. 0.0:* Poslouchejte 4023 / SSHD:TUSS @
TCP6 0 0 :::111 :::::Poslech 1 / Systemd
TCP6 0 0 :::22 ::::Poslech 1726 / sshd
> TCP6 0 0 ::1:631 :::* Poslouchejte 1721 / Cupsd
TCP6 0 0 ::1:6010 ::::Poslech 4023 / SSHD:Tux @
UDP 0 0 0 0.0.0.0,40514 0.0.0.0.0:* 1499 / avahi-daemon:
UDP 0 0 192.168.122.1:53 0.0.0.0.0:* 2500 / dnsmasq
UDP 0 0 0.0.0.0,67 0.0.0.0.0:* 2500 / DNSMASQ
UDP 0 0 0.0.0.0.0:111 0.0.0.0,61 / Systemd
UDP 0 0 0.0.0.0,5353 0.0.0.0:5353 0.0.0.0:51499 / avahi-démona :
UDP6 0 0 :::111 ::::1 / SYSTEMD
UDP6 0 0 :::44235 ::::1499 / avahi-démon:
UDP6 0 0 :::5353            :::*                  1499/avahi-daemon:

Krátká verze této běžné kombinace je -tulpn .

Chcete-li zobrazit informace o konkrétní službě, filtrujte pomocí grep :

$ sudo netstat -anlp | Poháry GREC 
TCP 0 0 127.0.0.1:631 0.0.0.0:* Poslech 1721 / Cupsd TCP6 0 0 ::1:631 :::* Poslouchejte 1721 / Cupsd
Unix 2 [ACC] proud poslechu 27251 1 / SYSTEMD / SYSTEMD /VAR/run/Cups.Sock
UNIX 2 [] DRGAM 59530 1721 / Cupsd
UNIX 3 [] PREAM Zapojen 55196 1721 / Cupsd / Var / Run / Cups / Cups / Cups. ponožka

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Další kroky

Jakmile spustíte netstat můžete podniknout kroky k zabezpečení svého systému tím, že zajistíte, aby ve vaší síti naslouchaly pouze služby, které aktivně používáte.

  1. Rozpoznat běžně využívané porty a služby. Obecným pravidlem je, že zavřete porty, které ve skutečnosti nepoužíváte.
  2. Dávejte si pozor na neobvyklá čísla portů a naučte se rozpoznávat legitimní porty používané ve vašem systému.
  3. Věnujte velkou pozornost chybám SELinux. Někdy vše, co musíte udělat, je aktualizovat kontexty, aby odpovídaly legitimní změně, kterou jste ve svém systému provedli, ale přečtěte si chyby, abyste se ujistili, že vás SELinux neupozorňuje na podezřelou nebo škodlivou aktivitu.

Pokud zjistíte, že na portu běží podezřelá služba nebo chcete jednoduše zavřít port, který již nepoužíváte, můžete ručně zakázat přístup k portu prostřednictvím pravidel brány firewall podle následujících kroků:

Pokud používáte firewall-cmd , spusťte tyto příkazy:

$ sudo firewall-cmd –remove-port=<číslo portu>/tcp
$ sudo firewall-cmd –runtime-to-permanent

Pokud používáte UFW, spusťte následující příkaz:

$ sudo ufw deny <port number> 

Dále zastavte samotnou službu pomocí systemctl :

$ systemctl stop <service> 

Naučte se netstat

Netstat je užitečný nástroj pro rychlé shromažďování informací o síťových připojeních vašeho serveru. Pravidelné monitorování sítě je důležitou součástí seznamování se s vaším systémem a pomáhá vám udržovat váš systém v bezpečí. Chcete-li tento krok začlenit do své administrativní rutiny, můžete použít nástroje pro monitorování sítě, jako je netstat nebo ss, a také skenery portů s otevřeným zdrojovým kódem, jako je Nmap nebo sniffery, jako je Wireshark, které umožňují plánované úlohy.

Protože servery obsahují větší množství osobních údajů, je stále důležitější zajistit bezpečnost osobních serverů. Pochopením toho, jak se váš server připojuje k internetu, můžete snížit zranitelnost svého počítače a přitom stále těžit z rostoucí konektivity digitálního věku.


Linux
  1. Vytvořte zlé dvojče své sítě pomocí Fluxion na Kali Linuxu

  2. Vytvořte si cloudové úložiště pomocí ownCloud 6 na Linux Mint 17

  3. Odstraňte problémy se sítí pomocí tcpdump

  1. Začněte s NetworkManagerem v systému Linux

  2. Zabezpečte svůj Linuxový server pomocí Fail2Ban [Příručka pro začátečníky]

  3. 6 nezbytných nástrojů s otevřeným zdrojovým kódem pro zabezpečení vašeho linuxového serveru

  1. Prohledejte své zabezpečení Linuxu pomocí Lynis

  2. Synchronizujte čas serveru Linux se serverem času sítě

  3. Jak nainstalovat Nextcloud s Dockerem na váš Linux Server