Linux máme nainstalován, co zabezpečení? | Kapitola 2
Seznam kapitol
Právě jsme nainstalovali nový Linux. Podíváme, co je po instalaci vhodné zkontrolovat a co a jak nastavit v oblasti bezpečnosti.
Necháme běžet jenom služby, které používáme
Tohle je velmi důležitá záležitost. Vždy si po instalaci ověřte, které služby naslouchají okolnímu provozu. Všechny nepoužívané služby určitě vypněte. Nejspolehlivější cestou je sken otevřených portů z jiného počítače. K tomu slouží nástroj nmap. Existuje i pro Windows, kde má automaticky grafickou uživatelskou nástavbu Zenmap. Na Linuxu se tato nástavba musí doinstalovat.
Linuxu můžeme použít i příkazový řádek. Příkaz, který proskenuje všechny otevřené porty TCP, porty potom vypadá takto:
nmap -p 1-65535 -T4 -A -v -Pn 192.168.0.118
Výstup je jednoduchý a přehledný.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-05 11:13 CEST
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 11:13
Completed NSE at 11:13, 0.00s elapsed
Initiating NSE at 11:13
Completed NSE at 11:13, 0.00s elapsed
Initiating NSE at 11:13
Completed NSE at 11:13, 0.00s elapsed
Initiating ARP Ping Scan at 11:13
Scanning 192.168.0.118 [1 port]
Completed ARP Ping Scan at 11:13, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 11:13
Completed Parallel DNS resolution of 1 host. at 11:13, 0.00s elapsed
Initiating SYN Stealth Scan at 11:13
Scanning 192.168.0.118 [65535 ports]
SYN Stealth Scan Timing: About 2.26% done; ETC: 11:36 (0:22:19 remaining)
SYN Stealth Scan Timing: About 5.23% done; ETC: 11:35 (0:21:08 remaining)
SYN Stealth Scan Timing: About 9.58% done; ETC: 11:35 (0:19:59 remaining)
SYN Stealth Scan Timing: About 14.37% done; ETC: 11:35 (0:18:52 remaining)
SYN Stealth Scan Timing: About 19.40% done; ETC: 11:35 (0:17:43 remaining)
SYN Stealth Scan Timing: About 24.43% done; ETC: 11:35 (0:16:36 remaining)
SYN Stealth Scan Timing: About 29.46% done; ETC: 11:35 (0:15:29 remaining)
SYN Stealth Scan Timing: About 34.49% done; ETC: 11:35 (0:14:22 remaining)
SYN Stealth Scan Timing: About 39.51% done; ETC: 11:35 (0:13:16 remaining)
SYN Stealth Scan Timing: About 44.54% done; ETC: 11:35 (0:12:10 remaining)
SYN Stealth Scan Timing: About 49.57% done; ETC: 11:35 (0:11:03 remaining)
SYN Stealth Scan Timing: About 54.60% done; ETC: 11:35 (0:09:57 remaining)
SYN Stealth Scan Timing: About 59.63% done; ETC: 11:35 (0:08:51 remaining)
SYN Stealth Scan Timing: About 64.65% done; ETC: 11:35 (0:07:45 remaining)
SYN Stealth Scan Timing: About 69.68% done; ETC: 11:35 (0:06:39 remaining)
SYN Stealth Scan Timing: About 74.71% done; ETC: 11:35 (0:05:32 remaining)
SYN Stealth Scan Timing: About 79.74% done; ETC: 11:35 (0:04:26 remaining)
SYN Stealth Scan Timing: About 84.77% done; ETC: 11:35 (0:03:20 remaining)
SYN Stealth Scan Timing: About 89.80% done; ETC: 11:35 (0:02:14 remaining)
SYN Stealth Scan Timing: About 94.83% done; ETC: 11:35 (0:01:08 remaining)
Completed SYN Stealth Scan at 11:35, 1313.68s elapsed (65535 total ports)
Initiating Service scan at 11:35
Initiating OS detection (try #1) against 192.168.0.118
Retrying OS detection (try #2) against 192.168.0.118
NSE: Script scanning 192.168.0.118.
Initiating NSE at 11:35
Completed NSE at 11:35, 5.00s elapsed
Initiating NSE at 11:35
Completed NSE at 11:35, 0.00s elapsed
Initiating NSE at 11:35
Completed NSE at 11:35, 0.00s elapsed
Nmap scan report for 192.168.0.118
Host is up (0.00020s latency).
All 65535 scanned ports on 192.168.0.118 are in ignored states.
Not shown: 65535 filtered tcp ports (no-response)
MAC Address: 08:00:27:5F:49:E7 (Oracle VirtualBox virtual NIC)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hop
Zde vidíme, že problém nemáme.
Ale co když nemůžeme kontrolovat otevřené porty z jiného počítače? Které služby naslouchají zjistíme nejlépe pomocí tohoto příkazu
ss -tulpn
Ovšem, zde vidíme i vnitřní služby. Stejně tak jsou zobrazeny i služby blokované firewallem. Proto nemůžeme výstup vzít jako seznam služeb naslouchajících zvenčí. Výstup příkazu vypadá takto:
|
Dostaneme spoustu údajů, jak se v nich orientovat. Prvním krokem k vytřídění je sloupec Netid a State. Zde se zajímáme pouze o procesy tcp a status LISTEN. V těchto položkách si začneme všímat local address. Zde nás zajímají položky, které mají ip adresu našeho používaného síťového rozhraní, nebo adresu 0.0.0.0, která značí všechna rozhraní. Potom projdeme u těchto položek jejich procesy. Hledáme síťové služby. Zde je vše v pořádku.
Jak vypadá nález? Podíváme se na nalez služby Openssh pro vzdálenou správu. Tohle je záležitost, kterou je po čerstvé instalaci potřeba nejčastěji řešit. Některé distribuce mají tuto službu povoleny v defaultu.
Nejdříve pro vyhledání přes nmap:
|
Potom pro nalezení služby pomocí příkazu ss:
|
Na službě s portem 25 běží poštovní server a port 22 hostí službu Openssh. Pokud nalezené služby nepoužíváme, je vhodné je minimálně deaktivovat. Pokud si nejsme jistí přesným názvem služby, můžeme použít příkaz pro zobrazení všech aktivních služeb a tam si název najít.
systemctl status
Ve výstupu si najdeme jméno služby a zadáme příkaz k zastavení služby. Potom budeme pokračovat příkazem k deaktivaci služby. Pro ukázku se podíváme na službu ssh.
systemctl stop ssh.service
systemctl disable ssh.service