GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zobrazit/zkontrolovat otevřené porty na Ubuntu Linux

Některý software pro Linux funguje tak, že naslouchá příchozím připojením. Jednoduchým příkladem může být webový server, který zpracovává požadavky uživatelů, kdykoli někdo přejde na webovou stránku. Jako správce nebo uživatel Linuxu je důležité vždy vědět, které porty vašeho systému jsou otevřené pro internet. V opačném případě si nemusíte být vědomi externích připojení k vašemu počítači, která spotřebovávají šířku pásma a zdroje a představují potenciální bezpečnostní díru.

V této příručce uvidíme, jak zkontrolovat otevřené porty na Ubuntu Linux. To lze provést pomocí několika různých nástrojů příkazového řádku, které si podrobně projdeme. Uvidíme také, jak používat ufw firewall Ubuntu, abychom se ujistili, že porty jsou bezpečné. Takže víte, které porty vašeho systému jsou otevřené? Pojďme to zjistit.

V tomto tutoriálu se naučíte:

  • Jak zkontrolovat otevřené porty pomocí ss příkaz
  • Jak zkontrolovat otevřené porty pomocí nástroje Nmap
  • Jak zkontrolovat a přidat povolené porty v ufw firewallu

Kontrola otevřených portů na Ubuntu Linux pomocí příkazu ss

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Ubuntu Linux
Software ss, Nmap, ufw firewall
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Zkontrolujte otevřené porty pomocí příkazu ss

Příkaz ss lze použít k zobrazení, které porty naslouchají připojení. Také ukazuje, ze kterých sítí přijímá připojení.

Doporučujeme použít -ltn pomocí příkazu zobrazíte stručný a relevantní výstup. Podívejme se na příklad našeho testovacího systému.

$ sudo ss -ltn
State      Recv-Q     Send-Q         Local Address:Port            Peer Address:Port     Process     
LISTEN     0          4096           127.0.0.53%lo:53                   0.0.0.0:*                    
LISTEN     0          5                  127.0.0.1:631                  0.0.0.0:*                    
LISTEN     0          70                 127.0.0.1:33060                0.0.0.0:*                    
LISTEN     0          151                127.0.0.1:3306                 0.0.0.0:*                    
LISTEN     0          5                      [::1]:631                     [::]:*                    
LISTEN     0          511                        *:80                         *:* 

Vidíme, že náš server naslouchá připojení na portech 80, 3306 a 33060. Toto jsou dobře známé porty spojené s HTTP a MySQL.

Také uvidíte, že ss výstup ukazuje, že porty 53 a 631 jsou ve stavu naslouchání. Ty jsou pro DNS a Internet Printing Protocol, v tomto pořadí. Ty jsou ve výchozím nastavení povoleny, takže je pravděpodobně uvidíte naslouchat ve vašem vlastním systému. Port DNS není ve skutečnosti otevřený, ale poskytuje překlad názvů aplikacím nainstalovaným v našem systému.

Chcete-li zjistit, ke kterým procesům tyto naslouchací porty patří, zahrňte -p možnost ve vašem příkazu.

$ sudo ss -ltnp
State    Recv-Q   Send-Q      Local Address:Port        Peer Address:Port   Process                                      
LISTEN   0        4096        127.0.0.53%lo:53               0.0.0.0:*       users:(("systemd-resolve",pid=530,fd=13))   
LISTEN   0        5               127.0.0.1:631              0.0.0.0:*       users:(("cupsd",pid=572,fd=7))              
LISTEN   0        70              127.0.0.1:33060            0.0.0.0:*       users:(("mysqld",pid=2320,fd=32))           
LISTEN   0        151             127.0.0.1:3306             0.0.0.0:*       users:(("mysqld",pid=2320,fd=34))           
LISTEN   0        5                   [::1]:631                 [::]:*       users:(("cupsd",pid=572,fd=6))              
LISTEN   0        511                     *:80                     *:*       users:(("apache2",pid=2728,fd=4),("apache2",pid=2727,fd=4),("apache2",pid=2725,fd=4))

Nyní vidíme, že systemd-resolve, cupsd, mysqld a apache2 jsou služby, které využívají porty k naslouchání příchozím připojením.

Zkontrolujte otevřené porty pomocí nmap

Nmap je nástroj pro průzkum sítě, který lze použít ke kontrole otevřených portů na vzdálených hostitelích. Můžeme jej však také použít ke kontrole našeho vlastního systému a získat rychlý seznam otevřených portů.

Normálně bychom specifikovali vzdálenou IP adresu, kterou má Nmap skenovat. Místo toho můžeme skenovat náš vlastní systém zadáním localhost v příkazu.

$ sudo nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2021-03-12 20:43 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
80/tcp   open  http
631/tcp  open  ipp
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds

Zkontrolujte, jaké porty jsou otevřené v ufw firewallu

Existuje velké upozornění, které byste měli mít na paměti. Při použití ss nebo nmap localhost příkazy v našem místním systému, obcházíme firewall. Tyto příkazy skutečně zobrazují porty, které jsou ve stavu naslouchání, ale to nutně neznamená, že jsou porty otevřené pro internet, protože náš firewall může odmítat připojení.

Zkontrolujte stav ufw firewall pomocí následujícího příkazu.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Z výstupu můžeme vidět, že ufw odmítá příchozí spojení. Vzhledem k tomu, že porty 80 a 3306 nebyly přidány jako výjimky, HTTP a MySQL nemohou přijímat příchozí připojení, přestože ss a nmap hlásí, že jsou ve stavu naslouchání.

Přidejte výjimky pro tyto porty pomocí následujících příkazů.

$ sudo ufw allow 80/tcp
Rule added
Rule added (v6)
$ sudo ufw allow 3306/tcp
Rule added
Rule added (v6)

Můžeme znovu zkontrolovat stav ufw, abychom viděli, že porty jsou nyní otevřené.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere                  
3306/tcp                   ALLOW IN    Anywhere                  
80/tcp (v6)                ALLOW IN    Anywhere (v6)             
3306/tcp (v6)              ALLOW IN    Anywhere (v6)

Nyní jsou naše dva porty otevřené ve firewallu a ve stavu naslouchání. Chcete-li se dozvědět více o ufw firewallu, včetně příkladů příkazů, podívejte se do našeho průvodce instalací a používáním ufw firewallu v Linuxu.

Úvahy na závěr

V této příručce jsme viděli, jak používat ss a také nmap nástroj pro kontrolu naslouchacích portů na Ubuntu Linux. Také jsme se naučili, jak zkontrolovat ufw firewall, abychom viděli, jaké porty jsou otevřené, a v případě potřeby přidat výjimky.

Pokud je port ve stavu naslouchání a je povolen přes bránu firewall, měl by být otevřen pro příchozí připojení. Ale to také závisí na vašem routeru nebo jiných síťových zařízeních umístěných mezi vaším počítačem a internetem, protože mohou mít svá vlastní pravidla, která blokují příchozí připojení.


Ubuntu
  1. Jak zkontrolovat otevřené porty v Linuxu pomocí netstat, lsof a nmap

  2. Jak zkontrolovat verzi jádra Linuxu v Ubuntu?

  3. Zkontrolujte dostupnost na Ubuntu Linux Server - Jak na to?

  1. Jak otevřít porty v Ubuntu / Debian

  2. Ubuntu – Jak otevřít soubor .bak na Linuxu?

  3. Jak zkontrolovat poslech / otevřené porty pomocí Netstat v systému Linux

  1. Jak zkontrolovat otevřené porty na RHEL 8 / CentOS 8 Linux

  2. Jak zkontrolovat svou IP adresu na Ubuntu 20.04 Focal Fossa Linux

  3. Jak otevřít soubory ISO na Ubuntu Linux