Audit přístupu k linuxovým souborům. Nejlepší nástroje pro bezpečnostní audit Linuxu. Tato služba zahrnuje

Bezpečnost Linuxové servery je velmi důležité chránit vaše data, duševní vlastnictví a čas před hackerem. Za bezpečnost operačního systému Linux odpovídá správce systému. V tomto článku se podíváme na dvacet věcí, které musíte udělat s operačním systémem Linux, aby byl vždy v bezpečí. Pokud tohle domácí počítač, pak možná nemá smysl se tolik obávat o bezpečnost, budou stačit silná hesla a blokování přístupu k portům z internetu. V případě veřejného serveru se ale vyplatí věnovat pozornost zajištění jeho ochrany.

Tyto pokyny jsou vhodné pro jakoukoli distribuci, bez ohledu na to, zda používáte CentOS, Red Hat nebo Ubuntu, Debian.

1. Šifrování komunikace

Všechna data přenášená přes síť jsou otevřena pro monitorování. Proto je nutné přenášená data šifrovat, kde je to možné, pomocí hesel, klíčů nebo certifikátů.

K přenosu souborů použijte scp, ssh, rsync nebo sftp. Vzdálený souborový systém je také možné připojit do vašeho domovského adresáře pomocí nástrojů, jako je shhfs.

GnuPG vám umožňuje šifrovat a podepisovat vaše data pomocí speciálního soukromý klíč. Nechybí ani funkce pro správu klíčů a přístup k veřejným klíčům.

Fugu je grafický nástroj pro přenos souborů pomocí protokolu SFTP. SFTP je velmi podobný FTP, ale celá relace je šifrována. To znamená, že nejsou odesílána žádná hesla ani příkazy otevřený formulář. Proto jsou takové převody méně zranitelné vůči třetím stranám. Můžete také použít FileZilla, je multiplatformní FTP klient s podporou FTS přes SSH/TLS a SSH Přenos souboru Protokol (SFTP).

OpenVPN je efektivní a lehký klient VPN s podporou šifrování SSH.

2. Snažte se nepoužívat FTP, Telnet, Rlogin a RSH

Ve většině sítí mohou být uživatelská jména, hesla z FTP, Telnetu a příkazů RSH zachycena kýmkoli ve stejné síti pomocí snifferu paketů. Společné rozhodnutí Tento problém spočívá v použití OpenSSH, SFTP nebo SFTP, které k běžnému FTP přidává SSL nebo TLS. Spuštěním tohoto příkazu odeberete NIS, RSH a další starší služby:

yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve

3. Snižte množství softwaru

Opravdu potřebujete nainstalovat všechny webové služby? Neinstalujte zbytečné věci software abyste se vyhnuli zranitelnostem těchto programů. Pro zobrazení použijte správce balíčků nainstalované programy a odstraňte všechny nepotřebné:

yum seznam nainstalován
$yum seznamový balíček
$yum odstranit balíček

dpkg --seznam
$ dpkg --informační balíček
$ apt-get odebrat balíček

4. Jedno auto – jedna služba

Spouštět různé služby na samostatných serverech nebo virtuální stroje. To omezuje počet služeb, které mohou být ohroženy. Pokud se útočníkovi například podaří hacknout Apache, získá přístup k celému serveru. Včetně služeb, jako je MySQL, e-mailový server a tak dále. Pro virtualizaci můžete použít software jako XEN nebo OpenVZ.

5. Udržujte své linuxové jádro a software aktuální

Použití bezpečnostních záplat je velmi důležitou součástí zabezpečení vašeho linuxového serveru. Operační systém poskytuje všechny nástroje pro udržení systému v aktuálním stavu a aktualizaci na nové verze. Všechny aktualizace zabezpečení by měly být použity co nejdříve. I zde musíte použít správce balíčků. Například:

Nebo pro systémy založené na Debianu:

aktualizace sudo apt && upgrade sudo apt

Red Hat nebo Fedoru můžete nakonfigurovat tak, aby vás informovaly e-mailem, když jsou k dispozici nové aktualizace zabezpečení. Můžete také konfigurovat automatická aktualizace přes cron, nebo můžete použít aptcron Debianu, který vás upozorní, když je třeba systém aktualizovat.

6. Používejte bezpečnostní rozšíření v systému Linux

Operační systém Linux je dodáván s různými bezpečnostními záplatami, které lze použít k ochraně před nesprávnou konfigurací nebo malwarem. Ale můžete také použít další systémy řízení přístupu aplikací, jako je SELinux nebo AppArrmor.

SELinux poskytuje různé bezpečnostní zásady pro linuxové jádro. Zde můžete řídit přístup k jakýmkoli systémovým prostředkům pomocí rolí. Ke konkrétnímu zdroji může přistupovat pouze program, jehož role to umožňuje, a dokonce ani na právech superuživatele nezáleží. SELinux výrazně zvyšuje bezpečnost linuxového systému, protože se bere v úvahu i root běžný uživatel. Více podrobností je popsáno v samostatném článku.

7. Uživatelské účty a silná hesla

K vytvoření a správě uživatelských účtů použijte příkazy useradd a usermod. Ujistěte se, že máte dobré a silné heslo, mělo by obsahovat alespoň osm znaků, nejlépe v různých velikostech písmen, mezi kterými by mělo být Speciální symboly nebo čísla. Například 8 znaků, z toho sedm písmen a jeden symbol nebo číslo. Použijte nástroje jako John the ripper k nalezení slabých uživatelských hesel na serveru a nakonfigurujte pam_cracklib.so tak, aby prosazoval politiku hesel.

8. Čas od času změňte hesla

Příkaz change vám umožňuje zadat počet dní před datem vynucené změny hesla. Tyto informace systém používá k určení, kdy by je měl uživatel změnit. Tato nastavení jsou umístěna v /etc/login.defs. Chcete-li zakázat stárnutí hesla, zadejte následující příkaz:

změnit -l uživatelské jméno

Chcete-li získat informace o řetězci vypršení platnosti hesla, zadejte příkaz:

Vše můžete také nakonfigurovat ručně v souboru /etc/shadow:

(uživatelské heslo): (poslední změna):(maximum_days): (minimum_days): (Varování):(deaktivovat):(řádek vypršení platnosti):

  • Minimální dny- minimální interval mezi změnami hesla, tedy jak často může uživatel heslo měnit.
  • Maximální počet dní- kolik dní bude heslo platné, po uplynutí této doby bude uživatel nucen heslo změnit.
  • Varování- počet dní, po kterých bude uživatel upozorněn, že si musí změnit heslo.
  • Řádek vypršení platnosti- počet dní od 1. ledna 1970, kdy bude účet zcela deaktivován.

změna -M 60 -m 7 -W 7 uživatelské jméno

Je také vhodné zabránit uživatelům v používání starých hesel, jinak budou všechny snahy donutit je ke změně hesla anulovány.

9. Zablokujte účty po neúspěšných pokusech o přihlášení

V operačním systému Linux můžete pomocí příkazu faillog zobrazit neúspěšné pokusy uživatelů o přihlášení. Pomocí něj můžete také nastavit limit neúspěšné pokusy vchod. Všechny informace o neúspěšných pokusech o přihlášení jsou uloženy v souboru /var/log/faillog. Chcete-li jej zobrazit, zadejte:

Chcete-li nastavit limit na pokusy o přihlášení pro konkrétní účet, použijte:

faillog -r -u uživatel

Účty můžete také ručně zablokovat nebo odblokovat pomocí příkazu passwd. Chcete-li zablokovat použití:

passwd -l uživatel

A k odemknutí:

uživatel passwd -u

Je také vhodné zkontrolovat, zda jsou v systému účty s prázdnými hesly. Chcete-li to provést, spusťte:

awk -F: "($2 == "") (tisk)" /etc/shadow

Zkontrolujte také, zda existují nějací uživatelé se skupinou nebo ID 0. Takový uživatel by měl být pouze jeden, a to je root. Můžete zkontrolovat pomocí tohoto příkazu:

awk -F: "($3 == "0") (tisk)" /etc/passwd

Měl by být pouze jeden řádek:

root:x:0:0:root:/root:/bin/bash

Pokud existují další, odstraňte je. Uživatelé a zejména jejich slabá hesla jsou jednou z nejzranitelnějších věcí, které mohou narušit zabezpečení v Linuxu.

10. Zakažte přihlášení uživatele root

Chcete-li zachovat zabezpečení svého systému Linux, nikdy se nepřihlašujte jako uživatel root. K získání potřebných oprávnění a spuštění můžete použít sudo správný příkaz jménem superuživatele. Tento příkaz vám umožňuje neprozradit heslo superuživatele ostatním správcům a obsahuje také nástroje pro sledování, omezování a sledování aktivit.

11. Fyzické zabezpečení serveru

Zabezpečení serveru Linux musí zahrnovat fyzické zabezpečení. Musíte omezit fyzický přístup ke konzole serveru. Nakonfigurujte BIOS tak, aby spouštění z externích médií, jako je DVD, CD, USB, nebylo podporováno. Také nastavte heslo na zavaděči systému BIOS a GRUB, abyste chránili jejich nastavení.

12. Vypněte nepotřebné služby

Zakažte všechny nepoužívané služby a démony. Nezapomeňte také odebrat tyto služby ze spuštění. Seznam všech aktivních služeb v systémech Red Hat můžete zobrazit příkazem:

chkconfig --list | grep "3:on"

Chcete-li zakázat používání služby:

servisní zastávka
$ chkconfig služba vypnuta

Najděte všechny porty otevřené programy:

Totéž lze provést pomocí skeneru nmap:

nmap -sT -O localhost

Pomocí iptables zavřete všechny porty, které by neměly být přístupné ze sítě. Nebo zastavte nepotřebné služby, jak je popsáno výše.

13. Odeberte X server

X server na serverovém počítači je zcela volitelný. Grafické prostředí nemusíte spouštět na vyhrazeném Apache nebo emailovém serveru. Odeberte tento software, abyste zlepšili zabezpečení a výkon.

14. Nakonfigurujte iptables

iptables je program pro uživatelský prostor pro konfiguraci brány firewall Netfilter zabudovaný do jádra. Umožňuje filtrovat veškerý provoz a povolit pouze určité typy provozu. Používejte také TCPWrappers – systém ACL pro filtrování přístupu k internetu. Pomocí iptables můžete zabránit mnoha typům útoků DOS. Zabezpečení sítě v Linuxu je velmi důležitým aspektem celkové bezpečnosti systému.

15. Nakonfigurujte jádro

V souboru /etc/sysctl.conf jsou uložena nastavení jádra, která se načítají a používají během spouštění systému.

Povolit execshield ochrany proti přetečení vyrovnávací paměti:

kernel.exec-shield=1
kernel.randomize_va_space=1

Povolit ochranu IP spoofingu:

net.ipv4.conf.all.rp_filter=1

Zakázat přesměrování IP adresy:

net.ipv4.conf.all.accept_source_route=0

Ignorovat požadavky na vysílání:

net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1

Zaznamenat všechny padělané balíčky:

net.ipv4.conf.all.log_marťané = 1

16. Rozdělte pevný disk na oddíly

Rozdělení pevného disku do oddílů podle účelu souborů zlepšuje zabezpečení operačních systémů Linux. Doporučuje se vytvořit samostatné sekce pro následující adresáře:

  • /Domov
  • /var a /var/tmp

Vytvořte samostatné oddíly pro kořenové adresáře Apache a FTP servery. Otevřete soubor /etc/fstab a nastavte speciální možnosti pro požadované oddíly:

  • noexec- na tomto oddílu nespouštějte žádné programy ani spustitelné soubory, jsou povoleny pouze skripty
  • nodev- nepovolovat symbolická nebo speciální zařízení na tomto oddílu.
  • nosuid- nepovolovat přístup SUID/SGID programům z této části.

17. Použijte omezení místa na disku

Omezte dostupné místo na disku pro uživatele. Chcete-li to provést, vytvořte diskovou kvótu v /etc/fstab, znovu připojte systémy souborů a vytvořte databázi diskových kvót. To zlepší zabezpečení na Linuxu.

18. Zakažte IPv6

Internetový protokol nové generace IPv6 v budoucnu nahradí již používaný IPv4. Ale dál tento moment Neexistují žádné nástroje pro kontrolu zabezpečení sítě založené na protokolu IPv6. Mnoho Linuxové distribuce Ve výchozím nastavení povolit použití IPv6. Hackeři mohou odesílat nechtěný provoz, aniž by jej správci mohli sledovat. Pokud tedy tuto službu nepotřebujete, deaktivujte ji.

19. Zakažte nepoužívané binární soubory SUID a SGID

Všechny spustitelné soubory, pro které je povolen příznak SUID nebo SGID, jsou potenciálně nebezpečné. Tento příznak znamená, že program bude spuštěn s právy superuživatele. To znamená, že pokud je v programu nějaká zranitelnost nebo chyba, pak místní resp vzdálený uživatel bude moci tento soubor používat. Najděte všechny takové soubory pomocí následujícího příkazu:

najít / -perm +4000

Najít soubory s nastaveným příznakem SGID:

najít / -perm +2000

Nebo to vše spojíme do jednoho příkazu:

najít / \(-perm -4000 -o -perm -2000 \) -tisk
$ najít / -cesta -prune -o -type f -perm +6000 -ls

Budete muset podrobně prostudovat každý nalezený soubor, abyste pochopili, jak potřebný je konkrétní soubor.

20. Veřejné soubory

Je také vhodné najít soubory, které mohou upravovat všichni uživatelé v systému. Chcete-li to provést, použijte následující příkaz:

najít /dir -xdev -type d \(-perm -0002 -a ! -perm -1000 \) -print

Nyní je potřeba zkontrolovat, zda jsou správně nastavena práva pro skupinu a vlastníka každého souboru a zda to nepředstavuje bezpečnostní riziko.

Je také vhodné najít všechny soubory, které nikomu nepatří:

najít /dir -xdev \(-nouser -o -nogroup \) -tisk

21. Použijte centralizovaný autentizační systém

Bez centralizovaného ověřovacího systému se uživatelská data stanou nekonzistentní, což může vést k tomu, že přihlašovací údaje budou zastaralé a účty, které měly být již dávno smazány, budou zapomenuty. Centralizovaná služba vám umožní udržovat kontrolu nad uživatelskými účty a autentizačními daty napříč různými Linuxové systémy a Unix. Ověřovací data můžete synchronizovat mezi servery. Ale nepoužívejte službu NIS, raději se podívejte na Open DAP.

Jednou ze zajímavých implementací takového systému je Kerberos. Umožňuje autentizaci uživatelů pomocí soukromého klíče v sítích, kde lze pakety zachytit a upravit. Kerberos používá k šifrování dat symetrický klíč a ke svému provozu vyžaduje centrum správy klíčů. Můžete nakonfigurovat vzdálené přihlášení, vzdálené kopírování, zabezpečené kopírování souborů mezi systémy a další úlohy s vysokou úrovní zabezpečení.

22. Logování a auditování

Nastavte protokolování a auditování pro shromažďování a ukládání všech neúspěšných přihlášení a pokusů o hackování. Ve výchozím nastavení jsou všechny protokoly nebo alespoň většina z nich umístěny ve složce /var/log/. O tom, za co jsou určití lidé zodpovědní, jsme si podrobněji povídali v samostatném článku.

Záznamy můžete sledovat pomocí utilit, jako je logwatch nebo logcheck. Velmi usnadňují čtení protokolů. Můžete si prohlédnout ne celý soubor, ale pouze události, které vás zajímají, a také si poslat upozornění e-mailem.

Monitorujte systém pomocí auditované služby. Program zapisuje na disk všechny auditní události, které vás zajímají. Všechna nastavení auditu jsou uložena v souboru /etc/audit.rules.Po spuštění systému služba načte všechna pravidla z tohoto souboru. Můžete jej otevřít a vše nakonfigurovat podle potřeby, nebo použít samostatný nástroj- auditctl. Můžete nakonfigurovat následující:

  • Události spouštění a vypínání systému
  • Datum a čas události
  • Uživatelské události (například přístup ke konkrétnímu souboru)
  • Typ události (úpravy, přístup, smazání, zápis, aktualizace atd.)
  • Úspěch nebo neúspěch při provádění události
  • Záznam změn nastavení sítě
  • Zaznamenávejte změny uživatelů a skupin
  • Sledování změn souborů

23. Zabezpečte svůj OpenSSH server

Povolit pouze použití protokolu 2:

Zakázat přihlášení jako superuživatel:

24. Nainstalujte IDS

IDS nebo systém detekce narušení se pokouší odhalit podezřelou, škodlivou aktivitu, jako je např DOS útok, skenování portů nebo dokonce pokus o hacknutí počítače sledováním síťového provozu.

Je dobrou praxí nasadit takový software předtím, než je systém vystaven internetu. Můžete nainstalovat AIDE, což je HIDS (Host based IDS), které dokáže monitorovat všechny aspekty vnitřních částí vašeho systému.

Snort je software pro detekci pokusů o narušení sítě. Je schopen analyzovat a protokolovat pakety a analyzovat síťový provoz v reálném čase.

25. Chraňte své soubory a adresáře

Linux má vynikající ochranu proti neoprávněnému přístupu k souborům. Oprávnění nastavená Linuxem a souborovým systémem však nic neznamenají, když má útočník fyzický přístup k počítači a může se jednoduše připojit HDD počítače do jiného systému, abyste zkopírovali svá data. Své soubory však můžete snadno chránit šifrováním:

  • Chcete-li zašifrovat a dešifrovat soubor pomocí hesla, použijte GPG
  • Soubory můžete také chránit pomocí OpenSSL
  • Šifrování adresáře se provádí pomocí ecryptfs
  • TrueCrypt je bezplatný nástroj pro šifrování disku pro Windows a Linux

závěry

Nyní se výrazně zvýší zabezpečení operačního systému Linux na vašem počítači. Nezapomeňte si čas od času nastavit složitá hesla. Napište svůj oblíbený nástroj pro zabezpečení systému do komentářů.

Ochrana informací je prioritou každého podniku působícího na internetu. Virové infekce a vnější útoky, stejně jako neoprávněný přístup k informacím – to vše s sebou nese velká finanční a reputační rizika. Majitelé firem se proto při výběru serverové platformy vždy zajímají o stupeň zabezpečení zdrojů.
A aby bylo možné zkontrolovat, jak dobře bezpečnostní systém funguje a zda v něm nejsou nějaké slabiny nebo díry, doporučuje se alespoň jednou měsíčně provést audit zabezpečení serveru.

Co je součástí auditu zabezpečení serveru

I zdánlivě nepodstatný faktor, jako je nesprávné nastavení samotného serveru nebo zastaralý software, se může stát bezpečnostní hrozbou. Audit pomáhá identifikovat slabá místa zabezpečení a přijmout včasná opatření k jejich odstranění dříve, než dojde k infekci nebo krádeži dat.
Správce serveru kontroluje nainstalovaný software a jeho shodu poslední aktualizace, vyhodnocuje nastavení zabezpečení serveru a odstraňuje případné chyby a také analyzuje soulad nastavení přístupových práv zaměstnanců k určitým zdrojům.

Jak sami auditovat virtuální dedikovaný server

Bezpečnost serverů na platformách Windows nebo Linux si může ověřit každý uživatel, k tomu není potřeba mít speciální programátorské znalosti.
Bezpečnostní kontrolu lze rozdělit do několika fází:

Fyzický přístup

V případě dedikovaného serveru je fyzický přístup k serveru třetích stran standardně omezen, zajišťuje jej datové centrum. Uživatel však může dodatečně nastavit heslo pro přístup do systému BIOS.

Firewall

Pro nepřetržité monitorování softwaru a portů musí být správně nakonfigurováno a povoleno. Windows firewall. Pro Linux můžete pro řízení přístupu použít systém SELinux. Můžete si u nás také pronajmout hardwarový firewall Cisco ASA nebo Fortinet FortiGate 60D.

Souborový systém

Kontrola aktualizací

Nakonfigurujte server tak, aby automaticky přijímal a instaloval aktualizace.

Zásady hesel

Nainstalujte pomocí místní politiky Zabezpečení Windows Povinná je vyžadování složitých hesel, doby jejich platnosti a také zablokování účtu po několika neúspěšných autorizacích nebo zadání prázdného hesla.

Kontrola protokolu

Povolte protokolování pro kritické segmenty infrastruktury a pravidelně je kontrolujte.

Zabezpečení sítě

Pro segmentaci hostitele a zabezpečení linky se doporučuje používat VPN a VLAN.
Měli byste také změnit výchozí nastavení a předat servisní porty síťového zařízení.
K šifrování provozu můžete použít službu IPsec. A k zobrazení otevřených portů použijte nástroj Netstat.

Řízení přístupu

Omezte uživatelská přístupová práva ke kritickým souborům, zakažte přístup hostů a uživatelům s prázdnými hesly. Zakažte nepoužívané role a aplikace na serveru.

Záloha

Použijte službu zálohování souborů, je zisková a spolehlivá. Neukládejte zálohy nešifrované. Pokud si od nás pronajmete server, můžete si vybrat umístění pro zálohování.

Přístup k databázi

Kritické databáze by měly být uloženy na různých SQL serverech. Spuštění musíte nakonfigurovat jako uživatel s minimálními právy nebo z předem nakonfigurovaného bílého seznamu IP adres.

Antivirová ochrana

Pro spuštění serveru Instalace Windows Při práci se síťovým úložištěm se doporučuje automaticky aktualizovaný antivirový software. Pro Instalace Linuxu není nutný žádný antivirus za předpokladu, že je pravidelně monitorována bezpečnost serveru a kontrolován neoprávněný přístup. K tomu může být užitečná utilita Tiger.

Takový audit jednou měsíčně pomůže zkontrolovat správný chod serveru, odstranit zranitelnosti a monitorovat bezpečnost síťové infrastruktury.

Většina podnikových a vícesložkových systémů jako např MÍZA , Oracle DB používané na jejich platformě operační systém na základě Linux . Vzhledem k tomu se jim ze strany IT auditorů věnuje tak velká pozornost. Dnes vám v tomto článku představíme několik bezplatných nástrojů prezentovaných ve formě skriptů a pomocí standardních mechanismů operačního systému k poskytnutí expresního auditu konfigurace zabezpečení.

Níže popsané systémové příkazy a skripty, které se používají pro expresní auditování možností zabezpečení systémů Linux OS, jsou založeny na doporučeních pro ověřování zabezpečení publikovaných komunitou ISACA v příručce UNIX/LINUX Operating System Security Audit/Assurance Program.

1.Ověření účtu

1.1 Seznam všech uživatelů
Seznam uživatelů je uložen v souboru /etc/passwdfile. Chcete-li získat seznam uživatelů, můžete použít následující skript:

  1. bin/bash
  2. # userslistinthesystem.sh
  3. # count a Vypíše existující „skutečné“ uživatele v systému.
  4. echo „[*] Stávající uživatelé (řazeno abecedně):“
  5. grep '/bin/bash' /etc/passwd | grep -v 'kořen' | řez -f1
  6. -d':' | seřadit
  7. echo -n “[*] Počet nalezených skutečných uživatelů: “
  8. grep '/bin/bash' /etc/passwd | grep -v 'kořen' | wc -l
1.2 Seznam blokovaných účtů
Při auditu je nutné zkontrolovat seznam blokovaných a odblokovaných uživatelů ( jméno účtu ). K tomu bude fungovat následující příkaz:
  1. #!/bin/bash
  2. # passwd –s název účtu

1.3 Zobrazení statistik pro všechny uživatele

  • Auditor musí zajistit, aby tým ac součástí systému pro kontrolu uživatelských aktivit:
    1. #!/bin/bash
    Chcete-li zobrazit aktivitu relace připojení uživatele s celkovými součty za každý den, použijte příkaz:
    1. #!/bin/bash
    2. # ac -d
    Zobrazení informací o aktivitě relace (v hodinách) připojení uživatele "uživatel" :
    1. #!/bin/bash
    2. # uživatel ac
    1.4 Zobrazení aktivity uživatele
    Spustí se systémové aplikace psacct nebo acct Pozadí a sledovat aktivitu každého uživatele v systému a také zdroje, které spotřebovává. Chcete-li zkontrolovat aktivitu uživatele v systému, spusťte následující skript:
    1. #!/usr/bin/envksh
    2. poslední -Fa|awk ‘
    3. /wtmp začíná/ ( další; )
    4. /stále přihlášen/ (další; )
    5. $0 == restartovat (další; )
    6. NF > 0 (
    7. if(NR > 1)
    8. printf("
      ”);
    9. printf("Uživatel:t%s
      “, $1); #uživatel
    10. printf („Start:t%s %s %s %s
      ”, $3, $4, $5, $6);
    11. if(9 $ == "dolů")
    12. printf("Konec:tshutdown
      ”);
    13. printf („Konec:t%s %s %s %s
      ”, $9, $10, $11, $12);
    14. if(substr ($NF, 1, 1) == “(“)
    15. t = $NF;
    16. h = „localhost“;
    17. t = $(NF-1);
    18. h = $NF;
    19. gsub(“[()]”, “”, t);
    20. printf("Čas zapnutý:t%s
      "", t);
    21. printf("Vzdálený hostitel:t%s
      “, h);
  • 2. Kontrola zásad hesel

    2.1 Účty s prázdným heslem
    Při auditu je nutné se ujistit, že v systému nejsou žádné nebo blokované účty, které umožňují přihlášení do systému bez zadání hesla. Toto pravidlo lze zkontrolovat příkazem:

    # cat /etc/shadow | awk -F: ($2==””)(tisk $1)’

    2.2 Kontrola složitosti hesla
    Při auditu je nutné zkontrolovat nastavení složitosti hesla, aby se snížilo riziko útoků hrubou silou (brute force) nebo slovníkovými útoky na heslo. Chcete-li nastavit toto pravidlo na vašem systému, musíte použít moduly PAM (Plug-in Authentication Modules).
    Auditor může zkontrolovat odpovídající nastavení v konfiguračním souboru:

    # vi /etc/pam.d/system-auth

    2.3 Kontrola data vypršení platnosti hesla

    Během auditu je třeba zkontrolovat nastavení doby platnosti hesla. Chcete-li zkontrolovat datum vypršení platnosti hesla, musíte použít příkaz změna. Tento příkaz zobrazí podrobné informace o datu vypršení platnosti hesla a také o datu jeho poslední změny.
    Následující příkaz se používá k zobrazení informací o „stáří“ hesel:

    #chage -l uživatelské jméno

    Chcete-li změnit dobu platnosti hesla pro konkrétního uživatele, můžete použít následující příkazy:

    #chage -M 60 uživatelské jméno
    #chage -M 60 -m 7 -W 7 uživatelskéJméno

    Možnosti (pro nastavení data vypršení platnosti hesla):
    -M – maximální doba platnosti ve dnech.
    -m – minimální doba platnosti ve dnech.
    -W – nastavení varování ve dnech.

    2.4 Používání duplicitních hesel
    Nastavení autorizace systému musí odpovídat zásadám hesel. Soubor obsahující historii hesel je umístěn v /etc/security/opaswd. Chcete-li zkontrolovat, musíte provést následující kroky:

    pro RHEL: otevřete soubor ‚/etc/pam.d/system-auth‘:

    # vi /etc/pam.d/system-auth

    pro Ubuntu/Debian/Linux Mint: otevřete soubor ‚/etc/pam.d/common-password‘:

    # vi /etc/pam.d/common-password

    Přidejte následující řádek do sekce 'auth':

    auth dostačující pam_unix.so likeauthnullok

    Chcete-li zabránit použití posledních šesti hesel, přidejte následující řádek:

    Dostatečné heslo pam_unix.so nullokuse_authtok md5 shadow zapamatování=6

    Po provedení příkazu si systém uloží historii předchozích šesti hesel a pokud se některý uživatel pokusí heslo aktualizovat pomocí některého z posledních šesti, zobrazí se mu chybová zpráva.

    3. Nastavení zabezpečeného připojení
    Protokoly vzdálené připojení do systému Telnet a Rlogin jsou velmi staré a zranitelné kvůli přenosu hesla po síti v nešifrované podobě. Pro vzdálené a zabezpečené připojení je nutné použít zabezpečený protokol Secure Shell (SSH). Auditor se také musí ujistit, že možnost root přihlášení zakázáno, výchozí port SSH změněn, vzdálený přístup omezeno pouze na konkrétní oprávněné uživatele. Kontrolovaná nastavení jsou v konfiguračním souboru SSH:

    1. # vi /etc/ssh/sshd_config

    3.1 Přihlaste se jako superuživatel (přihlášení root)

    Při auditu musí auditor zákaz kontrolovat vzdálené přihlášení do systému s právy superuživatele root.

    # PermitRootLogin = ano
    3.2 Kontrola účtu služby přihlášení SSH

    Během auditu musí auditor zkontrolovat servisní účet pomocí přihlašovací hodnoty SSH bez hesla. Obvykle, správci systému použijte tuto funkci pro naprogramování záložní kopie, přenos souborů a spouštění skriptů v režimu vzdáleného ovládání.

    Naposledy zkontrolujte, zda jsou vaše nastavení sshd_config (/etc/ssh/sshd_config) správná.

    # PermitRootLogin bez hesla

    # RSAAuthentication = ano

    # PubkeyAuthentication = ano

    3.3 Kontrola přístupových seznamů v DenyHosts a Fail2ban
    Během auditu je třeba zkontrolovat nastavení přístupového seznamu DenyHosts A Fail2ban . Jedná se o skripty používané ke sledování a analýze protokolů přístupu SSH a ochraně před útoky hrubou silou pomocí hesla.

    Vlastnosti DenyHosts:

    • ukládá a sleduje protokoly ze souboru /var/log/secure , zaznamenává všechny úspěšné a neúspěšné pokusy o přihlášení a filtruje je.
    • sleduje neúspěšné pokusy o přihlášení
    • posílá podle e-mailem upozornění na blokované hostitele a podezřelé pokusy vchod
    Vlastnosti Fail2ban:
    • Ukládá a sleduje protokoly ze souborů /var/log/secure A /var/log/auth.log , /var/log/pwdfail
    • vysoce přizpůsobitelné a vícevláknové
    • pravidelně monitoruje soubory protokolu

    4. Kontrola systémových protokolů
    Během auditu se musíte ujistit, že je spuštěn démon SysLog a že všechny významné události, ke kterým dojde v systému, jsou zaznamenány v protokolech událostí. Při auditu je také nutné zajistit, aby politika pro ukládání protokolů událostí zohledňovala požadavky aktuální legislativy a bezpečnostní politiky

    4.1 Protokoly událostí v Linuxu:

    /var/log/auth.log – protokol autorizačního systému (přihlášení a autentizační mechanismus).
    /var/log/dpkg.log – protokol instalace/odstranění balíčků pomocí dpkg.
    /var/log/yum.log – protokol instalace/odstranění balíčků pomocí yum.
    /var/log/faillog – protokol neúspěšných pokusů o přihlášení a jejich maximální počet pro každý účet.
    /var/log/kern.log – protokol jádra (podrobný protokol zpráv z jádra Linuxu).
    /var/log/maillog nebo /var/log/mail.log – protokol poštovního serveru.
    /var/log/wtmp – log přihlášení (doba registrace a délka práce všech uživatelů systému).
    /var/run/utmp – informace o uživatelích aktuálně registrovaných v systému.
    /var/log/lastlog – záznamy o předchozích přihlášeních.
    /var/log/boot – informace, které jsou protokolovány během spouštění systému

    5. Chraňte systémové soubory

    5.1 Ochrana bootloaderu GRUB

    Pro ochranu zavaděče GRUB musí správce použít šifrování hesla v formátu MD5 :

    # grub-md5-crypt

    Po provedení příkazu musí správce soubor otevřít /boot/grub/menu.lst nebo /boot/grub/grub.conf a přidejte heslo MD5:

    # vi /boot/grub/menu.lst

    # vi /boot/grub/grub.conf

    Nově vytvořené heslo MD5 lze přidat konfigurační soubor GRUB.

    5.2 Ochrana spouštěcího adresáře /BOOT

    Při auditu je nutné zkontrolovat stav adresáře /boot protože systémové jádro a související soubory jsou umístěny v adresáři /boot. Musíte zajistit, aby tento adresář měl přístup pouze pro čtení, abyste zabránili neoprávněným úpravám. důležité soubory v systému. Chcete-li to zkontrolovat, otevřete soubor /etc/fstab a zkontrolujte konfiguraci:

    Soubor musí obsahovat řádek:

    LABEL=/boot /boot ext2 výchozí, ro 1 2

    5.3 Kontrola otevřených portů a aktivních připojení

    Následující skript lze použít ke kontrole služeb spuštěných v systému:

    #!/bin/bash
    if (($(ps -ef | grep -v grep | grep $service | wc -l) > 0))
    pak
    echo "$service běží!!!"
    jiný
    /etc/init.d/$service start
    Fi

    Pohled síťová připojení

    # netstat -anop
    nebo
    # lsof -i(lsof -ni)
    nebo
    # iptraf

    Poslechové porty
    Pomocí příkazu Netstat můžete zobrazit všechny otevřené porty a jejich přidružené příkazy. Příklad skriptu:

    #netstat–tulpn
    Skript pro skenování portů je:
    skenovat() (
    jestliže [[ -z $1 || -z $2 ]]; pak
    echo „Využití: $0
    vrátit se
    fi
    místní hostitel = $ 1
    místní porty=()
    pouzdro 2 dolary
    *-*)
    IFS=- čtení začátku konce<<< “$2”
    for ((port=start; port<= end; port++)); do
    porty+=($port)
    Hotovo
    ;;
    *,*)
    IFS=, čtení portů -ra<<< “$2”
    ;; *)
    porty+=($2) ;;
    esac
    pro port v “$(ports[@])”; dělat
    alarm 1 „echo >/dev/tcp/$host/$port“ &&
    echo “port $port je otevřený” ||
    echo „port $port je uzavřen“
    Hotovo
    }

    Firewall iptables

    Během auditu musíte zkontrolovat konfiguraci linuxového firewallu, abyste zabránili neoprávněnému přístupu. Pro řízení provozu musí být vytvořena pravidla v iptables, která budou filtrovat příchozí, odchozí a předávané pakety na základě IP adresy a čísla portu TCP/UDP.

    # iptables -n -L -v --čísla-řádků

    Požadavky ICMP/vysílání

    Během auditu je nutné ověřit, zda jsou systémy nakonfigurovány tak, aby ignorovaly požadavky ping a broadcast. Chcete-li to provést, ujistěte se, že v souboru "/etc/sysctl.conf" byly přidány následující řádky:

    # ignorovat požadavky ICMP:
    net.ipv4.icmp_echo_ignore_all = 1
    # ignorovat požadavky na vysílání:
    net.ipv4.icmp_echo_ignore_broadcasts = 1

    5.4 Kontrola nainstalovaných aktualizací

    V systému musí být nainstalovány nejnovější aktualizace:

    # mňam aktualizací
    #yum kontrolní aktualizace

    6. Kontrola automaticky prováděných úloh CRON

    Auditor musí zkontrolovat, kdo smí a kdo nesmí provádět úlohy cron. Přístup ke cronu je řízen pomocí souborů /etc/cron.allow A /etc/cron.deny.

    # echo ALL >>/etc/cron.deny

    7. Testování režimu nuceného zabezpečení SELINUX

    Během auditu je důležité kontrolovat stav SELinux . Tento mechanismus musí být v systému povolen.
    K dispozici jsou tři režimy SELinux :

    • Vynucování: Zásady SELinuxu jsou vynucené. SELinux zakazuje přístup na základě pravidel SELinux politiky.
    • Permisivní: Zásady SELinuxu nejsou vynucovány. SELinux neodmítá přístup, ale zamítnutí jsou zaprotokolována jako akce, které by byly odepřeny, kdyby byla politika přepnuta do režimu vynucení.
    • Disabled: SELinux je zakázán. Používají se pouze diskrétní pravidla DAC.

    Během auditu můžete pomocí následujícího skriptu zkontrolovat stav SELinuxu nebo použít příkazy system-configselinux, getenforce nebo sestatus:

    ENABLED=`cat /selinux/enforce`
    if [ “$POVOLENO” == 1 ]; pak
    echo “SELinux je povolen, zakázat? (Ano ne):"
    zakázat čtení
    if [ $zakázat == “ano” ]; pak
    echo „vypnutí selinuxu“
    setforce 0
    fi
    fi

    Skript LBSA pro kontrolu základních možností zabezpečení

    LBSA (Linux Basic Security Audit skript) je základní skript pro auditování konfigurace zabezpečení systémů Linux. Skript musí být spuštěn z příkazového řádku s oprávněními vykořenit nebo ideálně běžet podle pravidelného plánu pomocí plánovače cron pro systematickou kontrolu změn konfigurace.

    Účelem tohoto skriptu je výslovně auditovat nastavení zabezpečení a nahrát zprávu s popisem možných parametrů, které lze změnit pro zajištění vyššího stupně zabezpečení. Pokud pro žádnou možnost neexistuje doporučení, skript jednoduše zobrazí jeden řádek se zpracováním kontroly a konečné rozhodnutí zůstává vždy na správci. Před spuštěním skenování vývojáři důrazně doporučují, abyste si přečetli příručku a prostudovali doporučené části, kde najdete další informace.

    V aktuální verzi (verze 1.0.49) skript kontroluje následující možnosti:

    • zranitelnosti v nastavení účtu
    • zranitelnosti v nastavení SSH
    • zranitelnosti v dočasných adresářích a adresářích souborového systému načteného do RAM (například v /tmp, /var/tmp /dev/)
    • oprávnění k souborům, stav systémových adresářů
    • rkonfigurace služeb DRBD a Hearbeat

    Skript je poměrně velký, takže jsme ho na stránku nedávali.

    V tomto materiálu se seznámíme s hlavními utilitami pro zpevnění Linuxu. V ruštině se tomu říká něco jako „kontrola úrovně zabezpečení linuxových systémů a posouzení správnosti konfigurací z hlediska bezpečnosti informací“. Programy si samozřejmě nejen prohlédneme, ale uvedeme i příklady jejich použití.

    Vlastního auditora, nebo vlastní ochranku

    Administrátoři, a tím spíše auditoři informační bezpečnosti, jsou často postaveni před úkol prověřit bezpečnost velkého počtu hostitelů ve velmi krátkém čase. A samozřejmě, k řešení těchto problémů v segmentu Enterprise existují specializované nástroje, jako jsou například síťové bezpečnostní skenery. Jsem si jistý, že všechny z nich – od open source OpenVAS enginu až po komerční produkty jako Nessus nebo Neexpose – naši čtenáři znají. Tento software se však obvykle používá k vyhledání zastaralého a tedy zranitelného softwaru a následnému spuštění správy oprav. Navíc ne všechny skenery berou v úvahu některé specifické vlastnosti vestavěných ochranných mechanismů Linuxu a dalších open source produktů. A v neposlední řadě je důležitá cena emise, protože komerční produkty si mohou dovolit pouze firmy, které na tento byznys alokují rozpočty.

    Proto dnes budeme hovořit o specializované sadě volně distribuovaných utilit, které dokážou diagnostikovat aktuální úroveň zabezpečení systému, vyhodnocovat potenciální rizika, například „služby navíc“ trčící na internetu nebo nezabezpečenou výchozí konfiguraci a dokonce i nabídnout možnosti nápravy nalezených nedostatků. Další výhodou použití těchto nástrojů je možnost replikace standardních testovacích scénářů farmy z libovolného počtu linuxových systémů a vytvoření zdokumentované testovací základny ve formě protokolů a jednotlivých reportů.

    Praktické aspekty bezpečnostního auditu

    Pokud se podíváte očima auditora, lze testovací přístup rozdělit na dva typy.

    První- jedná se o soulad s tzv. compliance požadavky, zde se kontroluje přítomnost povinných bezpečnostních prvků předepsaných jakoukoliv mezinárodní normou nebo „best practice“. Klasickým příkladem jsou požadavky PCI DSS pro platební IT systémy, SOX404, série NIST-800,.

    Druhý- Jedná se o čistě racionální přístup založený na otázce „Co jiného lze udělat pro posílení bezpečnosti?“ Nejsou zde žádné povinné požadavky – pouze vaše znalosti, čistá hlava a šikovné ruce. Jedná se například o aktualizaci verze jádra a/nebo aplikačních balíčků, povolení, vynucení a nastavení firewallu.

    Vše, co souvisí s druhým přístupem, se obvykle nazývá speciální termín Kalení, které lze také definovat jako „akce zaměřené na zvýšení úrovně počáteční bezpečnosti operačního systému (nebo programu) primárně pomocí standardních prostředků“.

    Splnění požadavků na shodu se obvykle kontroluje při přípravě na podstoupení povinného auditu, jako je PCI DSS nebo jiný certifikační audit. Více se budeme věnovat složce Kalení. Všichni hlavní vývojáři nabízejí za své produkty Pokyny pro kalení- příručky obsahující tipy a doporučení, jak posílit zabezpečení s ohledem na standardní bezpečnostní mechanismy a specifika softwaru. Takže Red Hat, Debian, Oracle, Cisco mají podobné průvodce.

    INFO

    Hardening je pojem ze světa informační bezpečnosti, který označuje proces zajištění bezpečnosti systému (programu) snížením jeho zranitelnosti a zpravidla pouze za použití standardních utilit nebo ochranných mechanismů.

    Aktualizace sudo apt-get sudo apt-get install lynis

    A pro distribuce orientované na RPM (po přidání příslušných úložišť):

    Yum install linus -y

    Instalace na macOS:

    $ brew hledat lynis $ brew nainstalovat lynis

    Chcete-li spustit Lynis, stačí zadat alespoň jeden klíč. Chcete-li například spustit všechny dostupné testy, měli byste zadat přepínač -c (zkontrolovat vše):

    # Typická sada testů sudo lynis audit system # Kompletní sada testů sudo lynis audit system -c # Vzdálené skenování vzdáleného hostitelského auditního systému







    Před auditem je vždy dobré zkontrolovat, zda je k dispozici nová verze Lynis:

    Informace o aktualizaci Lynis && Kontrola aktualizace lynis

    Nástroj Lynis má kromě standardního ještě jeden režim - neprivilegované spuštění:

    Lynis audit --pentest

    Pokud chcete zadat jméno auditora, který zahájil testování, stačí přidat parametr -auditor :

    Sudo lynis audit system -c -auditor Tati

    V jakékoli fázi auditu lze v procesu ověřování pokračovat (Enter) nebo jej násilně ukončit (Ctrl+C). Výsledky provedených testů budou zapsány do protokolu Lynis v /var/log/lynis.log . Upozorňujeme, že protokol bude přepsán při každém spuštění nástroje.

    Chcete-li systematicky testovat v automatickém režimu, můžete přiřadit příslušnou úlohu plánovači Cron pomocí přepínače -cronjob. V tomto případě bude nástroj spuštěn podle zadané šablony (config) a nebude zobrazovat žádné interaktivní zprávy, dotazy ani varování. Všechny výsledky se uloží do protokolu. Zde je například skript pro spuštění nástroje s výchozí konfigurací jednou za měsíc:

    #!/bin/sh AUDITOR="automated" DATE=$(datum +%Y%m%d) HOST=$(název hostitele) LOG_DIR="/var/log/lynis" REPORT="$LOG_DIR/report-$( HOST).$(DATE)" DATA="$LOG_DIR/report-data-$(HOST).$(DATE.txt" cd /usr/local/lynis ./lynis -c –auditor "$(AUDITOR)" –cronjob > $(REPORT) mv /var/log/lynis-report.dat $(DATA) # Konec

    Uložte tento skript do adresáře /etc/cron.monthly/lynis. A nezapomeňte přidat cesty pro ukládání protokolů (/usr/local/lynis a /var/log/lynis), jinak nemusí fungovat správně.

    Můžete vidět seznam všech příkazů dostupných pro volání:

    Lynis ukazuje příkazy

    Ti, kteří jsou obzvláště zvědaví, se mohou podívat na nastavení z výchozí konfigurace:

    Nastavení Lynis show

    Stručný návod, jak nástroj používat:

    Muž lynis

    Možnosti možných stavů na základě výsledků kontroly jsou omezeny na následující seznam: NONE, WEAK, HOTOVO, FOUND, NOT_FOUND, OK, WARNING.


    Provádění individuálních testů v Lynis

    V praxi může být nutné provést pouze několik testů. Například pokud váš server provádí pouze funkce poštovního serveru nebo Apache. K tomu můžeme použít parametr -tests. Syntaxe příkazu je následující:

    Lynis -testuje "Test-ID"

    Pokud je pro vás obtížné porozumět kvůli velkému počtu testovacích identifikátorů, můžete použít parametr skupiny -test-category . S touto možností Lynis spouští pouze testovací ID, která spadají do konkrétní kategorie. Například plánujeme spustit testy firewallu a jádra:

    ./lynis -tests-category "kernel firewallu"

    Funkcionalitu Lynis navíc rozšiřují různé pluginy, které si můžete sami přidávat, případně můžete do stávajícího adresáře přidávat nové.

    Návrhy na opravu

    Všechna varování budou uvedena po výsledcích. Každý z nich začíná varovným textem, poté je vedle něj v závorkách uveden test, který jej vygeneroval. Další řádek navrhuje řešení problému, pokud nějaké existuje. Ve skutečnosti je poslední řádek URL, kde si můžete prohlédnout podrobnosti a najít další doporučení, jak problém vyřešit.

    Profily

    Profily, které spravují audit, jsou definovány v souborech s příponou .prf, který se nachází v adresáři /etc/lynis. Výchozí profil se jmenuje předvídatelně: default.prf . Vývojáři nedoporučují jej přímo upravovat: je lepší přidat jakékoli změny, které chcete v auditu provést, do souboru custom.prf, který se nachází ve stejném adresáři.

    Pokračování je dostupné pouze pro členy

    Možnost 1. Připojte se ke komunitě „stránky“ a přečtěte si všechny materiály na stránce

    Členství v komunitě ve stanoveném období vám umožní přístup ke VŠEM hackerským materiálům, zvýší vaši osobní kumulativní slevu a umožní vám nashromáždit profesionální hodnocení Xakep Score!