GNU/Linux >> Znalost Linux >  >> Linux

Přežití bezpečnostního auditu s podnikovým Linuxem

Jako správce systému jste možná již zažili radost (?) z auditu vašich systémů odborníkem na zabezpečení nebo řízení rizik. Bezpečnostní nástroje používané auditory obecně skenují systémy a vytvářejí zprávu pro auditora se zdůrazněním zranitelností nalezených v naskenovaném systému, kterou pak auditor předloží týmu, který systémy spravuje. Očekává se, že administrační a řídící tým nahlášená zranitelnost vyřeší. U podnikových distribucí Linuxu však nemusí být nápravná opatření doporučená auditorem tou nejlepší volbou pro organizaci.

Získání informací

Počínaje příkladem, mnoho z těchto auditovacích nástrojů začíná skenováním portů cílového systému a připojením k otevřeným portům za účelem shromažďování dat o službách nabízených strojem. Zde je příklad skenování portů z mého vlastního systému, generovaného nmap příkaz:

[root@somebox ~]# nmap 10.200.157.174

Starting Nmap 6.40 ( http://nmap.org ) at 2020-01-29 13:40 CET
Nmap scan report for 10.200.157.174
Host is up (0.000010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind

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

Z tohoto výstupu můžete vidět, že porty 22, 80 a 111 jsou dostupné pro služby připojující se k tomuto systému. Ke každému z těchto portů se pak pravděpodobně připojí nástroj pro audit zabezpečení, aby zjistil, co na nich běží, nebo může ke shromáždění a analýze těchto dat použít nástroj pro profilování. Budu používat telnet příkaz pro připojení k portu 80 tohoto stroje, abyste zjistili, co tam běží:

[root@somebox ~]# telnet 10.200.157.174 80
Trying 10.200.157.174...
Connected to 10.200.157.174.
Escape character is '^]'.
help
HTTP/1.1 400 Bad Request
Date: Wed, 29 Jan 2020 12:46:39 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux)
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
Connection closed by foreign host.

Po navázání spojení jsem musel službu požádat. V tomto případě jsem napsal slovo „help“, což v závislosti na službě může být příkaz. Pro službu běžící na portu 80 tohoto systému však není help srozumitelným příkazem. Výsledkem je chyba. V záhlaví vidíte spoustu informací o systému a službě. Konkrétně služba na tomto portu je Apache verze 2.4.6.

Jistě, pokud si tuto informaci ověřím pohledem na yum list , Apache verze 2.4.6 je verze nainstalovaná a spuštěná na počítači:

[root@somebox ~]# yum list httpd
… output truncated…
Installed Packages
httpd.x86_64 2.4.6-89.el7_6.1      @rhel-x86_64-workstation-7.6

Zpracování zprávy auditora

Tady to začíná být zajímavé. Podle mých zkušeností se stane, že revizní zpráva přistane na stole a bude tam napsáno něco jako:

Zjištěna stará verze Apache (2.4.6), která má několik zranitelností, které byly v novějších verzích Apache uzavřeny.

Doporučení:Nainstalujte aktualizovanou verzi Apache, 2.4.41, nejnovější.

V tomto okamžiku byste jako podnikové nasazení Linuxu měli přestat. Uvědomte si, že zpráva auditora zdůrazňuje, že podle informací o skenování systému může mít tento systém otevřená zranitelnost. Zpráva auditora je správná, že instalace nejnovější verze Apache z apache.org by tento problém vyřešila. Vzhledem k tomu, že jde o podnikový systém Linux, jsou tyto potenciální zranitelnosti pravděpodobně již uzavřeny ve verzi Apache aktuálně nasazené v systému.

Všimněte si, že verze v systému je 2.4.6-89.el7_6.1, kde 2.4.6 je skutečné číslo verze a číslo další verze pro tento balíček je 89.el7_6.1. Podnikové distribuce Linuxu často přijímají opravy problémů z novějších verzí a tyto opravy zálohují do starší kódové základny a poté zkompilují aktualizovanou verzi tohoto staršího softwarového balíčku. Pro Red Hat Enterprise Linux, operační systém na mém vzorovém systému, inženýři spravující balíček Apache sledují tyto aplikované změny prostřednictvím tohoto zvláštního čísla verze na balíčku rpm.

Někteří auditoři o tom již vědí a některé nástroje s tímto typem správy softwaru také počítají. Někdy však budete pracovat s někým, kdo používá méně sofistikovaný skenovací nástroj. Nejen to, tato osoba si také nemusí být vědoma toho, že starší verze Apache v tomto systému je správná verze, která má být nainstalována na tomto počítači, a že zranitelnosti zabezpečení, kterými by se lidé z oblasti zabezpečení nebo řízení rizik zabývali, jsou již uzavřeny. A jako správce systému je často na vás, abyste vysvětlili, proč by vaše organizace neměla instalovat nejaktuálnější verzi tohoto balíčku v rozporu s doporučením auditora.

Podle mých zkušeností je jedním z nejlepších způsobů, jak tento bod ilustrovat, podívat se na další data, která jsou součástí podnikové verze tohoto softwarového balíčku pro Linux. Mnoho podnikových distribucí Linuxu bude ke zvýraznění těchto dat používat funkce, jako je RPM changelog. Zde jsou informace z mého vzorového systému:

[root@somebox ~]# rpm -q httpd --changelog
* Tue Jun 25 2019 Lubos Uhliarik <> - 2.4.6-89.1
- Resolves: #1719722 - CVE-2018-1312 httpd: Weak Digest auth
nonce generation in mod_auth_digest

… output truncated …

Podle výše uvedeného upozornění CVE byla tato chyba zabezpečení v Apache opravena až po 2.4.29. Ve výstupu protokolu změn tohoto balíčku však můžete vidět, že oprava pro CVE-2018-1312 byla zpětně portována a aplikována na aktuálně nainstalovanou kódovou základnu, která je založena na Apache 2.4.6. Tato skutečnost znamená, že můj vzorový systém není zranitelný k tomuto exploitu, přestože jde o starší verzi softwaru Apache.

Proč je to všechno důležité? Pokud používáte podnikovou distribuci Linuxu, pravděpodobně to děláte proto, že chcete omezit změny, potenciální konflikty a další problémy s nesouladem softwaru na minimu. Aktualizace Apache, jak naznačuje doporučení auditu, by byla v rozporu s cílem udržet změny na minimu. Pokud jste komerčně podporovaným zákazníkem, váš prodejce by pravděpodobně přestal podporovat problémy související s Apache na tomto počítači, pokud byste přešli na verzi, která není součástí jejich distribuce.

Zabalení

Abyste přežili zprávu o auditu, jako je výše uvedený příklad, musíte spolupracovat s auditorem, abyste se ujistili, že rozumí tomu, jak jsou spravovány podnikové balíčky Linuxu (že verze zobrazená na portu nemusí být stejná jako verze nainstalovaná v systému) a že podnikový balíkovač Linuxu obecně spravuje starší verze těchto balíčků, aby zohlednil zranitelnosti, které může objevit auditor, odborník na počítačovou bezpečnost nebo pracovník řízení rizik. Použití dat, jako jsou informace o changelogu, může pomoci demonstrovat tento koncept backportingu a správy podnikových linuxových balíčků.

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


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

  2. Pochopení systémových volání na Linuxu pomocí strace

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

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

  2. Plánování systémových úloh pomocí Cronu na Linuxu

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

  1. Linux Shutdown Command (s příklady)

  2. Vyvažování bezpečnosti Linuxu a použitelnosti

  3. Jak zkontrolovat verzi jádra v Linuxu