GNU/Linux >> Znalost Linux >  >> Linux

Prohledejte své zabezpečení Linuxu pomocí Lynis

Přemýšleli jste někdy o tom, jak bezpečný je váš počítač se systémem Linux? Existuje mnoho linuxových distribucí, z nichž každá má svá vlastní výchozí nastavení, na kterých spouštíte desítky softwarových balíčků s různými čísly verzí a na pozadí běží četné služby, které téměř neznáme a ani je nezajímáme.

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

Chcete-li zjistit stav zabezpečení – celkový stav zabezpečení softwaru, sítě a služeb spuštěných na vašem počítači se systémem Linux – můžete spustit několik příkazů a získat kousky relevantních informací, ale množství dat, které potřebujete analyzovat, je obrovské. .

Bylo by mnohem lepší, kdybyste mohli spustit nástroj, který generuje zprávu o bezpečnostní pozici stroje. A naštěstí je tu jedna:Lynis. Je to extrémně populární open source nástroj pro bezpečnostní audit, který pomáhá s posilováním systémů založených na Linuxu a Unixu. Podle projektu:

"Provádí hloubkovou bezpečnostní kontrolu a běží na samotném systému. Primárním cílem je otestovat bezpečnostní obranu a poskytnout tipy pro další posílení systému. Prohledá také obecné systémové informace, zranitelné softwarové balíčky a možné problémy s konfigurací." Lynis [je] běžně používán systémovými administrátory a auditory k posouzení bezpečnostní ochrany jejich systémů."

Instalovat Lynis

Lynis může být k dispozici ve vašem úložišti softwaru pro Linux. Pokud ano, můžete jej nainstalovat pomocí:

dnf install lynis 

nebo

apt install lynis 

Pokud však verze ve vašem repozitáři není nejnovější, je lepší ji nainstalovat z GitHubu. (Používám systém Red Hat Linux, ale můžete jej spustit na jakékoli distribuci Linuxu.) Jako u všech nástrojů má smysl nejprve vyzkoušet na virtuálním počítači. Chcete-li jej nainstalovat z GitHubu:

$ cat /etc/redhat-release 
Red Hat Enterprise Linux Server verze 7.8 (Maipo)
$
$ uname  -r
3.10.0-1127.el7. x86_64
$
$ klon git https://github.com/CISOfy/lynis.git
Klonování do 'lynis'...
vzdálené:Výčet objektů:30, hotovo .
dálkové ovládání:Počítání objektů:100 % (30/30), hotovo.
dálkové ovládání:Komprese objektů:100 % (30/30), hotovo.
dálkové ovládání:Celkem 12566 (delta 15 ), reused 8 (delta 0), pack-reused 12536
Příjem objektů:100 % (12566/12566), 6,36 MiB | 911,00 kiB/s, hotovo.
Rozlišení rozdílů:100 % (9264/9264), hotovo.
$

Jakmile úložiště naklonujete, přejděte do něj a podívejte se, co je k dispozici. Hlavní nástroj je v souboru s názvem lynis . Je to vlastně skript shellu, takže jej můžete otevřít a přečíst si, co dělá. Ve skutečnosti je Lynis implementován hlavně pomocí shellových skriptů:

$ cd lynis/
$ ls
CHANGELOG.md        CONTRIBUTING.md  db           developer.prf  FAQ            zahrnout  LICENCE  lynis. d. d. CONTRICTOR m. DU CONTRICTOR m. d. d. CONTRICTOR  lynis.8  README . doplňky         HAPPY_USERS.md  INSTALOVAT  lynis    pluginy  README.md
$
$ soubor lynis
lynis:skript shellu POSIX, spustitelný text ASCII, s velmi dlouhými řádky
$

Spustit Lynis

Zatočte Lynis tak, že mu dáte -h možnost zobrazení části nápovědy:

$ ./lynis -h 

Uvidíte krátkou informační obrazovku následovanou všemi příkazy, které Lynis podporuje.

Dále vyzkoušejte několik testovacích příkazů, abyste získali cit pro věci a získali pohodlí. Chcete-li zjistit, se kterou verzí Lynis pracujete, spusťte:

$ ./lynis zobrazit verzi
3.0.0
$

Chcete-li zobrazit všechny příkazy dostupné v Lynis:

$ ./lynis show příkazy

Příkazy:
lynis audit
lynis configure
lynis generovat
lynis show
lynis update
lynis upload-only

$

Audit systému Linux

Chcete-li zkontrolovat stav zabezpečení vašeho systému, spusťte následující příkaz:

$ ./lynis audit system 

To běží rychle a vrací podrobnou zprávu – výstup se může na první pohled zdát děsivý, ale níže vás jím provedu. Výstup příkazu se také uloží do souboru protokolu, takže se můžete kdykoli vrátit a zkontrolovat vše, co by vás mohlo zajímat.

Lynis uloží protokoly zde:

  Soubory:
  – Testovací a ladící informace      :/var/log/lynis.log
  – Hlášení dat                     :/var/log/lynis-report.dat

Můžete ověřit, zda byly soubory protokolu vytvořeny a skutečně byly:

$ ls -l /var/log/lynis.log
-rw-r-----. 1 kořenový kořenový adresář 341489 30. dubna 05:52 /var/log/lynis.log
$
$ ls -l /var/log/lynis-report.dat
-rw-r-- ---. 1 kořenový kořenový adresář 638 30. dubna 05:55 /var/log/lynis-report.dat
$

Prozkoumejte přehledy

Lynis poskytuje poměrně komplexní zprávy, takže se budu věnovat některým důležitým sekcím. Úplně první věc, kterou Lynis v rámci inicializace udělá, je zjištění kompletních informací o operačním systému běžícím na stroji. Poté následuje kontrola, zda jsou nainstalovány systémové nástroje a pluginy:

[+] Inicializační program
------------------------------------
  - Detekce OS...                                           [ HOTOVO ]
  - Kontrola profilů...                                                                 [ HOTOVO ]
  - Kontrola profilů...                                                      ---      - ---- ---------------------------------
  Verze programu:          3.0.0
  Operační systém:Linux
  Název operačního systému:    Red Hat Enterprise Linux Server 7.8 (Maipo)
  Verze operačního systému: 7.8
  Verze jádra:           3.10.0
  Hardwarová platforma:        x86_64
 :                 příklad
  --------------------------------------------- -------
< >

[+] Systémové nástroje
----------------- -------------------
  - Skenování dostupných nástrojů...
  - Kontrola binárních souborů systému...

[ +] Pluginy (fáze 1)
-------------------------------------
 Poznámka:Pluginy mají rozsáhlejší testy a jejich dokončení může trvat několik minut
 
  - Plugin:pam
    [..]
  - Plugin:systemd
    [................]

Dále je přehled rozdělen do různých částí a každá část začíná znakem [+] symbol. Některé sekce jsou k vidění níže. (Páni, existuje tolik oblastí k auditu a Lynis je ten správný nástroj pro tuto práci!)

[+] Boot a služby
[+] Jádro
[+] Paměť a procesy
[+] Uživatelé, skupiny a ověřování
[+] Shelly
[+] Systémy souborů
[+] Zařízení USB
[+] Úložiště
[+] NFS
[+] Služby jmen
[+] Porty a balíčky
[+] Síť
[+] Tiskárny a spooly
[+] Software:e-mail a zprávy
[+] Software:brány firewall
[+] Software :webový server
[+] Podpora SSH
[+] Podpora SNMP
[+] Databáze
[+] Služby LDAP
[+] PHP
[ +] Podpora Squid
[+] Protokolování a soubory
[+] Nezabezpečené služby
[+] Bannery a identifikace
[+] Naplánované úkoly
[+] Účetnictví
[+] Čas a synchronizace
[+] Kryptografie
[+] Virtualizace
[+] Kontejnery
[+] Rámce zabezpečení
[+] Software:integrita souborů
[+] Software:Systémové nástroje
[+] Software:Malware
[+] Oprávnění k souborům
[+] Domovské adresáře
[+] Kernel Hardening
[+] Hardening
[+] Vlastní testy

Lynis používá barevné kódování, aby se přehled snáze analyzoval:

  • Zelená:Vše v pořádku
  • Žlutá:Přeskočeno, nenalezeno nebo může obsahovat návrh
  • Červená:Možná se na to budete muset podívat blíže

V mém případě byla většina červených značek nalezena v sekci Kernel Hardening. Jádro má různá laditelná nastavení, která definují, jak jádro funguje, a některé z těchto laditelných nastavení mohou mít bezpečnostní kontext. Distribuce je možná z různých důvodů nenastavuje ve výchozím nastavení, ale měli byste je prozkoumat a zjistit, zda nepotřebujete změnit jejich hodnotu na základě vašeho bezpečnostního postoje:

[+] Kernel Hardening
-------------------------------------
  - Porovnání párů klíčů sysctl s profilem skenování
    - fs.protected_hardlinks (exp:1)                         [ OK ]
    - fs.protected_symlinks (fs.protected_symlinks (exp:1)   d symlinks (exp:1)   d s                                                          (Exp:0) [OK]
- jerd.core_des_pid (exp:1) [OK]
- Jernel.ctrl-Alt-del (EXP:0) [OK]
- jádro .dmesg_Restrict (exp:1) [rozdíl]
- jerd.kptr_Restrect (exp:2) [liší]
- jerd.randomize_va_space (exp:2) [OK]
- jerd.sysrq (Exp:0) [Jiný]
- jerd.yama.ptrace_scope (exp:1 2 3) [rozdíl]
- net.ipv4.conf.all.Accept_redirects (exp:0) [odlišný]
    – net.ipv4.conf.all. accept_source_route (exp:0)          [ OK ]
    - net.ipv4.conf.all.bootp_relay (exp:0)                  [ OK ]
    - net.ipv4.conf. [ OK ]
    – net.ipv4.conf.all.log_martians (exp:1)                 [ JINÉ ]
    - net.ipv4.conf.all.mc_forwarding (exp:0)     br / [     OK]>    - net.ipv4.conf.all.proxy_arp (exp:0)                    [ OK ]
    - net.ipv4.conf.all.rp_filter (exp:1)     ] <      4 . . .  OK / . conf.all.send_redirects (exp:0)               [ RŮZNÉ ]
    - net.ipv4.conf.default.accept_redirects (exp:0)         [ ODLIŠNÉ ]
  _rou conf.ipv.4 exp:0)      [ OK ]
    - net.ipv4.conf.default.log_martians (exp:1)             [ RŮZNÉ ]
    - net.ipv4.icmp_echo_ignore_1 [ ] br:    OK>    - net.ipv4.icmp_ignore_bogus_error_responses (exp:1)     [ OK ]
    - net.ipv4.tcp_syncookies (exp :1)                        [ OK ]
    - net.ipv4.tcp_timestamps (exp:0 1)                                [ OK ] 6.  –>    - net.ipv6.conf.all.accept_source_route (exp:0)          [ OK ]
    - net.ipv6.conf.default.accept_redirects (exp:0)         [ DIFFERENT ]
.  v 6 conf.default.accept_source_route (exp:0)      [ OK ]

Podívejte se na příklad SSH, protože je to klíčová oblast a musí být zabezpečena. Není zde nic červeného, ​​ale Lynis má spoustu návrhů na posílení služby SSH v mém nastavení:

[+] Podpora SSH
------------------------------------
- Kontrola běžícího démona SSH [nalezeno]
- Vyhledávání SSH Configuration [nalezeno]
- OpenSSH volba:AllowtCpforwarding [návrh]
- OpenSSH možnost:ClientALiveCountMax [návrh]
- OpenSSH možnost:ClientALiveInterval [OK]
- OpenSSH volba:komprese [návrh]
- OpenSSH volba:Fingerprinthash [OK]
- OpenSSH možnost:GatewayPorts [OK]
- OpenSH možnost :IgnorerHosts [OK]
- OpenSSH volba:LogingRacetime [OK]
- OpenSSH volba:Loglevel [návrh]
- OpenSSH volba:Maxauttries [návrh] - OpenSSH možnost:MaxSessions [návrh]
- OpenSSH možnost:Permitrootlogin [návrh]
- OpenSSH volba:Permituserenvironment [OK]
- OpenSSH možnost:Permittunnel [OK]
- OPENSHSSH Možnost:port [návrh]
- OpenSSH volba:PrintLastlog [OK]
- OpenSSH Možnost:StrictModes [OK]
- OpenSSH možnost:TCPKEKEKSALIVE [Návrh]
- OpenSSH Možnost:Použité [Návrh]
- OpenSSH volba:X11Forwarding [návrh]
- OpenSSH volba:ElementagentForwarding [návrh]
- OpenSSH volba:OutderPivileGeSeparation [OK]
- OpenSH možnost:AllowUsers                             [ NOT FOUND ]
    - Možnost OpenSSH:AllowGroups                             [ NOT FOUND ]

V mém systému neběží virtuální počítače ani kontejnery, takže zobrazují prázdné výsledky:

[+] Virtualizace
------------------------------------

[+] Kontejnery
------------------------------------

Lynis kontroluje oprávnění k některým souborům, které jsou důležité z bezpečnostního hlediska:

[+] Oprávnění k souboru
------------------------------------
- Zkontrolujte oprávnění spuštění souboru
Soubor:/boot/grub2/grub.cfg [návrh]
Soubor:/etc/cron.deny [OK]
Soubor:/ atd. / Crontab [ Návrh]
Soubor:/ atd. / Skupina [OK]
Soubor:/ atd. / Skupina- [OK]
Soubor:/etc/hosts.allow [OK]
Soubor:\ t /etc/hosts.deny [OK]
Soubor:/ atd. / Problém [OK]
Soubor:/etc/issue.net [OK]
Soubor:/ atd. / MOTD [OK]
    Soubor:/etc/passwd                                         [OK ]
    Soubor:/etc/passwd-                                [OK]
Soubor:/ etc / ssh / sshd_config [ok]
adresář:/root/.ssh [návrh]
adresář:/etc/cron.d [návrh]
Directory:/etc/cron.Daily.Daily [návrh]
Directory:/etc/cron.Hourly [návrh]
adresář:/etc/cron.weekly [návrh]
adresář:/ atd /cron.monthly                              [ NÁVRH ]

Ke konci zprávy nabízí Lynis návrhy založené na zjištěních zprávy. Za každým návrhem následuje TEST-ID (nechte si to po ruce pro další část):

 Návrhy (47):
  ----------------------------
  * Pokud není vyžadováno, zvažte explicitní zakázání výpisu jádra v souboru /etc/security/limits.conf [KRNL-5820]
      https://cisofy.com/lynis/controls/KRNL-5820/

  * Zkontrolujte Konfigurace PAM, případně přidání kol a vypršení platnosti hesel pro šifrování s novými hodnotami [AUTH-9229]
      https://cisofy.com/lynis/controls/AUTH-9229/

Lynis nabízí možnost najít další informace o každém návrhu, ke kterému máte přístup pomocí zobrazit podrobnosti příkaz následovaný testovacím ID číslem:

./lynis show details TEST-ID 

Zobrazí se další informace o tomto testu. Zkontroloval jsem například podrobnosti o SSH-7408:

$ ./lynis zobrazit podrobnosti SSH-7408
2020-04-30 05:52:23 Probíhá test ID SSH-7408 (Zkontrolujte definované možnosti specifické pro SSH)
2020-04-30 05:52:23 Test:Kontrola specifických definovaných možností v /tmp/lynis.k8JwazmKc6
2020-04-30 05:52:23 Výsledek:přidány další možnosti pro OpenSSH <7.5
2020-04-30 05:52:23 Test:Kontrola AllowTcpForwarding v /tmp/lynis.k8JwazmKc6
2020-04-30 05:52:23 Výsledek:Option AllowTcpForwarding nalezen
2020-04-30 05:52:23 Výsledek Hodnota AllowTcpForwarding je ANO
2020-04-30 05:52:23 Výsledek:Možnost OpenSSH AllowTcpForwarding je ve slabém stavu konfigurace a měla by být opravena
2020-04-30 05:52:23 Návrh:Zvažte konfigurace SSH kalení [test:SSH-7408] [podrobnosti:AllowTcpForwarding (nastavte ANO na NE)] [řešení:-]

Vyzkoušejte to

Pokud se chcete dozvědět více o zabezpečení vašeho Linuxového počítače, podívejte se na Lynis. A pokud se chcete dozvědět, jak Lynis funguje, projděte si jeho skripty shellu, abyste viděli, jak shromažďuje všechny tyto informace.


Linux
  1. Monitorujte svůj systém Linux ve svém terminálu pomocí procps-ng

  2. Zabezpečení Linuxu:Chraňte své systémy pomocí fail2ban

  3. Jak skenovat váš server pomocí cPanel Security Advisor

  1. Poslouchejte svou oblíbenou hudbu na Linuxu s Juk

  2. Správa připojeného hardwaru v systému Linux pomocí systemd-udevd

  3. Monitorování zabezpečení v Linuxu pomocí Tripwire

  1. Monitorujte svou Javu na Linuxu pomocí jconsole

  2. Monitorujte svůj Linux server pomocí Checkmk

  3. Testování pera pomocí bezpečnostních nástrojů Linuxu