GNU/Linux >> Znalost Linux >  >> Linux

Zabezpečení zděděného systému Linux

Říkají, že koupě ojetého domu nebo auta je jen nákupem problémů někoho jiného. Jaké opravy lepicí pásky se skrývají uvnitř zdí nebo pod kapotou? Aniž byste znali historii údržby, musíte prozkoumat, abyste se vyhnuli neočekávanému.

Ať už se jedná o nepoctivý server, administrátoři odcházející ze společnosti nebo akvizice a fúze, v určitém bodě své cesty systémového administrátora zdědíte server, který jste nepostavili, ale jste za něj náhle zodpovědní. Tento článek se zaměří na několik oblastí, abyste mohli začít se zabezpečením a seznamováním se s novým systémem. Třídění je pouze výchozím bodem:Zabezpečení je součástí probíhajícího životního cyklu správy systému.

Pamatujte, že tento systém hostí aplikaci nebo službu, která musí zůstat dostupná. Použijte jakékoli požadované procesy řízení změn, které vaše společnost zavedla. Seznamte se také se zásadami zabezpečení vaší společnosti a seznamte se s tím, kde na ně můžete odkazovat pro vhodná nastavení.

Zálohy

Vždy mějte dobrý plán zálohování… a obnovitelné zálohy!

Začněte kontrolu tím, že zkontrolujete, zda je systém pravidelně zálohován a zálohy jsou obnovitelné. Nečekejte, až budete potřebovat obnovení, abyste zjistili, že je to špatné. Kontroly zálohování by měly zahrnovat potvrzení, že všechny vzdálené systémy souborů jsou také někde zálohovány.

Některé aplikace a databáze vyžadují k získání dobrých záloh speciální proces nebo agenta, takže je vhodný čas zkontrolovat, zda jsou tyto dodatečné zálohy prováděny správně. Provádění pravidelných testů obnovy, které zahrnují testování funkčnosti aplikace po obnově, identifikuje všechny mezery a problémy se zálohami.

Než budete pokračovat, můžete si také udělat rychlou jednorázovou zálohu. Úplné obnovení systému nemusí být nutné, ale pokud se úpravy velmi pokazí, tato záloha poskytuje funkční stav, na který se lze vrátit. Použijte kontrolu změn a zdokumentujte svou práci jako další metodu, která pomůže možnému zotavení.

Účty

Vaše další kroky zahrnují kontrolu toho, kdo má přístup do systému a jak se ověřuje. Jakákoli zvýšená oprávnění, například prostřednictvím sudo , také je třeba zkontrolovat. Seznamte se s bezpečnostními zásadami společnosti, jako je vypršení platnosti hesla a pravidla složitosti, abyste ověřili, že jsou vynucována. Tento článek znalostní báze vás provede podrobnostmi, jak nakonfigurovat zásady hesel.

Poznámka: Nezapomeňte zkontrolovat, zda systém používá zdroje identity, jako je IDM, AD nebo LDAP. Naopak, i když systém používá externí, místní účty by měly být stále kontrolovány.

Podívejme se na konkrétní příklady problémů, které je třeba zvážit, a na to, jak je řešit.

Účet předchozího správce

Protože byl tento systém zděděn, zvažte, zda předchozí správce stále potřebuje účet. Pokud ne, vyhněte se smazání jejich účtu. Místo toho to zamkněte. Pokud tak učiníte, zachováte informace o účtu a zabráníte neúmyslnému opětovnému použití UID. usermod příkaz lze použít k uzamčení účtu:

$ sudo user mod -L <username>

Účty s privilegovaným přístupem

Zkontrolujte sudoers, aby zahrnovaly oba sudoers soubor (/etc/sudoers ) a adresář include (/etc/sudoers.d). ). Zkontrolujte všechna přiřazení, která obsahují ALL . Toto přiřazení obvykle zahrnuje skupinu wheel . Chcete-li odebrat uživatele ze skupin, použijte groupmems příkaz takto:

$ sudo groupmems -g wheel -d <username>

Můžete také uvést libovolné příkazy povolené sudo pro libovolného uživatele, jako je tento:

$ sudo -l -U <username>

Jiné účty

Pokud existují účty, které sdílí více uživatelů, zvažte vynucení změny hesla jako součást tohoto předání. Lepším přístupem ke sdíleným účtům by bylo využití skupin a ACL pro oprávnění k souborům.

Servisní účty by neměly mít přihlašovací přístup jako osvědčený postup. Tyto účty jsou obvykle zamčené nebo nemají žádné heslo a mají shell jako /usr/sbin/nologin . Pokud servisní účet potřebuje interaktivní prostředí, zvažte udělení oprávnění administrátorovi sudo su <accountname> místo přímého přihlášení.

Další příkazy, které mohou pomoci při kontrole účtů, jsou chage a last . chage poskytuje možnosti pro zobrazení a úpravu nastavení vypršení platnosti účtu. last zobrazí informace o posledních přihlášeních.

Chcete-li zobrazit informace o vypršení platnosti účtu:

$ sudo chage -l <username>

Chcete-li zobrazit posledních pět přihlášení k účtu:

$ last <username>  -5

Porty a služby

Kontrola spuštěných služeb a portů vám pomůže identifikovat ty, které nejsou nutné a lze je zakázat. Zastavením těchto doplňkových služeb je také odstraníte jako vektory útoku.

Jedním rychlým způsobem, jak ukázat, co poslouchá, je ss příkaz. Tento příklad používá možnosti k zobrazení soketů naslouchající TCP a UDP a také obsahuje podrobnosti o procesu:

$ sudo ss -tulnp 

Spuštěním tohoto příkazu na ukázkovém webovém serveru získáte to, co vidíte zde:

Tento výstup ukazuje, že existují httpd procesy naslouchající portům 80 , 443 , 8080 a 8443 . Mezi další procesy naslouchání patří mariadb (mysqld ) na portu 3306 , xvnc na portu 5901 a vsftpd na portu21 . Tyto poslední tři procesy mohou vyvolávat určité obavy.

Vše, co není potřeba pro fungování aplikace nebo systému, by mělo být zakázáno. Pokud potřebujete vysledovat PID zpět do systemd službu, spusťte systemctl status :

$ systemctl status <PID>

Prozkoumejte konfigurace pro zbývající služby. Některé aplikace mohou podporovat seznamy ACL pro přidání další vrstvy ochrany. V systémech s více adresami zkontrolujte, zda je služba potřebná pouze v jednom segmentu sítě. Local Address:Port sloupec ukazuje, zda služba naslouchá na konkrétní IP nebo na všech sítích (* , 0.0.0.0 , nebo :: ).

Pojďme se podívat na další věci, které můžete udělat pro zabezpečení svých portů a služeb.

Porty

Skenování portů pomocí nástroje jako nmap ukazuje, jaké porty jsou dostupné z jiného systému. Tento nástroj lze také použít k ověření, že brány firewall fungují podle očekávání. S nmap máte několik možností , ale pro rychlé a jednoduché skenování stačí zadat název hostitele nebo IP adresu:

$ nmap <host-to-scan>

Služby

Přistupte ke svým službám a zjistěte, co běží a co je nutné, protože ne všechny služby mají aktivní síťový posluchač. Seznam spuštěných služeb můžete získat pomocí --state možnost pomocí systemctl , takto:

$ systemctl --state=running -t s

Zastavení a zakázání služeb je s systemctl jednoduché :

$ sudo systemctl stop <service name>
$ sudo systemctl disable <service name>

Zkontrolujte také všechny služby, které selhaly a vyžadují údržbu:

$ systemctl --state=failed

Nebo, pokud službu vůbec nepotřebujete, deaktivujte ji pomocí systemctl disable .

SELinux

SELinux by měl být povolen a nastaven na vynucení. Tento stav lze zkontrolovat pomocí sestatus :

$ sestatus -v

V případě potřeby můžete změnit SELinux na vynucení pomocí příkazu:

$ sudo setenforce Enforcing

Udržujte změny trvalé tím, že přejdete do /etc/selinux/config vyhledáním buď SELINUX=disable nebo SELINUX=permissive a poté změňte řádek na:

SELINUX=enforcing

Odstraňování problémů SELinux přesahuje rámec této příručky, ale dobrým výchozím odkazem je tento článek znalostní báze.

Oprava

Údržba a zabezpečení systému zahrnuje aktualizace. U zděděného serveru začněte kontrolou, zda je systém přihlášen k odběru a nakonfigurován pro příjem aktualizací. V systému Red Hat Enterprise Linux (RHEL) použijte tento příkaz k zobrazení informací o službě správy předplatného:

$ sudo subscription-manager config --list 

baseurl uvedené v [rhsm ] sekce poskytuje informace o tom, k čemu je tento systém přihlášen. Pokud cdn.redhat.com je uveden, je systém přihlášen přímo k odběru Red Hat Content Delivery Network.

Tento příklad ukazuje systémy přihlášené přímo k odběru Red Hat. Pokud baseurl je satelitní server, zkontrolujte tam synchronizovaná úložiště, abyste se ujistili, že synchronizovaný obsah je aktuální.

Pomocí tohoto příkazu potvrďte, jaká úložiště jsou pro systém povolena:

$ yum repolist --all

Tento výstup zobrazuje nakonfigurovaná úložiště a jejich stav. Pokud je úložiště deaktivováno, nebude při aktualizaci systému kontrolováno, zda neobsahuje opravy.

Poznámka: Počínaje RHEL 8, CentOS 8 a Fedora 22, yum bylo nahrazeno dnf . yum všechny možnosti jsou téměř stejné jako u dnf a yum sám o sobě je pouze symbolickým odkazem na dnf .

Spouštím yum check-update zobrazí seznam balíčků a verzí, které jsou k dispozici pro aktualizaci. Osvědčený postup používá všechny dostupné opravy, ale mohou nastat případy, kdy jsou požadovány pouze opravy související se zabezpečením. To je možné provést pomocí --security volba.

Tuto možnost lze kombinovat s check-update vrátit seznam oprav, které poskytují úlevu od bezpečnostní zranitelnosti, ale přeskočí cokoli jiného. Může být také součástí update příkaz.

$ yum check-update 

Přidejte --security možnost omezit tento výstup na aktualizace související se zabezpečením.

U systémů Red Hat Enterprise Linux můžete zkontrolovat kritičnost každé aktualizace buď z Red Hat Satellite, nebo ze zákaznického portálu. Každá chyba zabezpečení má hodnocení (kritické, důležité, střední nebo nízké) na základě potenciálního rizika. Hodnocení vám pomůže určit, jak brzy budete muset naplánovat aktualizace systému.

Až budete připraveni na opravu, spusťte yum update příkaz:

$ sudo yum update

Zkontrolujte výstup a stiskněte Y až budete vyzváni.

Poznámka: Aktualizace jádra vyžadují restart a tento článek uvádí, jaké další balíčky vyžadují restart pro systémy RHEL. yum-utils balíček také obsahuje needs-restarting nástroj, který kontroluje, zda je nutný restart.

Další kroky

Skenování zranitelnosti a kontroly souladu by měly být naplánovány a prováděny tak, jak to čas dovolí. Dva nástroje k prozkoumání tohoto tématu jsou OpenVAS a OpenSCAP. Tyto nástroje poskytují hlubší analýzu systému a informují o všech existujících zranitelnostech a nedostatcích v dodržování předpisů. Pokud jste tyto nástroje dosud nepoužívali, může nějakou dobu trvat, než se nastaví a zorientují se, ale měly by se stát vašimi oblíbenými nástroji pro zabezpečení všech systémů, které spravujete.

Zavření

Být pověřen správou systému, který vytvořil někdo jiný, může být jistě zastrašující. Během této kontroly vašeho zděděného systému byste s ním měli být lépe obeznámeni a zlepšili byste jeho zabezpečení. Pokračujte v pravidelných kontrolách zabezpečení všech vašich systémů v rámci životního cyklu systému.

Nezapomeňte se vracet do budoucích článků, když se ponoříme hlouběji do skenování zranitelnosti a procesů STIG.

[Chcete vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma.]


Linux
  1. Příklady příkazů localectl v Linuxu

  2. historie dostupnosti linuxu

  3. Alternativa k `memory.size()` v linuxu?

  1. Jak změnit název hostitele v systému Linux

  2. Příklady příkazů „shutdown“ v Linuxu

  3. Linuxový systém řazení front

  1. Úvod do souborového systému Linux

  2. Příklady příkazů resize2fs v Linuxu

  3. Zakázání vsyscalls v Linuxu