ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
Security event auditing ve FreeBSD 6.2Systém pro security event auditing je jednou z často zmiňovaných novinek
FreeBSD 6.2. V následujícím článku se s ním seznámíme blíže. BSD process accountingNežli se začneme zabývat security audit frameworkem, podívejme se do historie na jeho předchůdce - tradiční BSD process accounting, který byl poprvé implementován v BSD 3.0 z kterého se pak dostal do Version 7 AT&T UNIXu a velice rychle se stal se standardní součástí snad všech unixových systému, kde přetrval dodnes. Ačkoliv je dnes BSD process accounting považován za jedno z bezpečnostních opatření, tomu odpovídá i jeho zařazení do security sekce FreeBSD Handbooku, dříve tomu tak nebylo. Jak již jméno napovídá, primárním účelem BSD process accountingu je protokolovat informace o spuštěných procesech abychom pak mohli uživatelům vystavit fakturu za použitý CPU čas a paměť. Kromě CPU času a spotřebované paměti se protokoluje i jméno spuštěného programu, takže se dá v případě nutnosti zjistit, co uživatel spouštěl za aplikace. Sledování aktivit uživatele ovšem nebylo primárním účelem tohoto systému. Pro detaily o údajích zaznamenaných accountingem se podívejte do manuálové stránky V dřívějších dobách, řekněme před 20 lety, Unixové systémy nebyly tím, co může provozovat každý. Byly drahé. V USA bylo poměrně běžné místo provozování vlastního systému si Unixový systém pronajmout. Ušetřily se tak pořizovací a provozní náklady a nebyla k tomu potřeba žádná high-tech technologie, úplně postačoval terminálový program a 2400 BPS modem s V42bis kompresí. Využívalo se zejména faktu, že cena místních telefonních hovorů byla prakticky nulová. Placení pouze za spotřebované systémové zdroje bylo tak výhodné pro obě strany. S použitím BSD accountingu pro fakturování se lze setkat i dnes. Nejčastěji bývá použit na výpočetních clusterech a čas od času se s ním setkáte při provozování virtuálních serverů. Kromě již výše zmíněného využití pro sledování aktivit uživatelů se využívá dnes také pro statistiku a sledování zátěže serverů. Security Event AuditingNa rozdíl od dříve popisovaného systému, je primárním úkolem Security Event Auditingu sledování aktivit uživatelů. FreeBSD implementuje standard BSM (Basic Security Module). Aplikační rozhraní a souborový formát a je kompatibilní s BSM implementací jak v Sun Solarisu, tak v Apple Mac OS X, ačkoliv ne všechny volby ze Solarisu jsou implementovány ve FreeBSD. InstalaceInstalace je jednoduchá. Stačí překompilovat kernel s volbou options AUDIT (nelze přeložit jako modul) a v rc.conf pomocí auditd_enable="YES" povolit spuštění auditd. Po instalaci nově přeloženého kernelu a rebootu by se měl auditd bez problémů spustit. Feb 6 09:37:47 sanatana auditd[77072]: starting... Feb 6 09:37:47 sanatana auditd[77082]: dir = /var/audit Feb 6 09:37:47 sanatana auditd[77082]: New audit file is /var/audit/20070206083 747.not_terminated Feb 6 09:37:47 sanatana auditd[77082]: min free = 20 Feb 6 09:37:47 sanatana auditd[77082]: Registered 441 event to class mappings. Feb 6 09:37:47 sanatana auditd[77082]: Registered non-attributable event mask. Feb 6 09:37:47 sanatana auditd[77082]: Audit controls init successful Standardně se ukládají security logy do adresáře /var/audit, v reálném nasazení se doporučuje pro tento adresář použít vlastní diskový oddíl, aby případné zaplnění diskového prostoru neohrozilo ostatní aplikace. KonfiguraceKonfiguraci najdete stejně jako na Solarisu v adresáři /etc/security a tvoří ji následující soubory: audit_class - obsahuje seznam tříd událostí. Po specifikaci tříd se používá bitová maska, z čehož vyplývá díky použitému datovému typu maximální počet tříd 32, ve standardní konfiguraci je jich z toho použito 17. audit_event - obsahuje seznam událostí (povětšinou se jedná o syscally), jejich slovní popis a jejich zařazení do třídy. Jedna událost může být zařazena do více než jedné třídy. Ačkoliv jsou oba dva soubory uživatelem modifikovatelné, v praxi není jejich modifikace v naprosté většině případů nutná. Hlavní konfigurace se nachází v souboru audit_control, který je rozdíl od předchozích dvou krátký a jednoduchý: dir:/var/audit minfree:20 filesz:0 policy:cnt flags:lo naflags:lo Tato konfigurace obsahuje následující nastavení: Protokolační soubory jsou ukládány do adresáře /var/audit, pokud volné místo v tomto diskovém oddílu poklesne pod 20 procent systém vygeneruje varování, maximální velikost jednoho log souboru je neomezena (pokud ji omezíme auditd bude rotovat logy), protokolační politika je cnt (continue) - systém bude pokračovat v činnosti i když nebude možné provádět audit, flags je seznam auditovaných tříd pro všechny uživatele a naflags označuje seznam auditovaných tříd pro události ke kterým nelze přiřadit uživatele. V obou případech je v default konfiguraci uvedena třída lo neboli login/logout události. K jednotlivým třídám lze přiřadit prefix - (auditovat pouze neúspěšné pokusy) nebo + (auditovat pouze úspěšné pokusy), standardně se auditují obě skupiny. Více podrobností najdete v manuálové stránce. Posledním konfiguračním souborem je audit_user ve kterém se nastavuje auditování specifické pro jednotlivé uživatele. Formát souboru je jednoduchý - jedná se o tři položky (jméno uživatele, třídy co se mají auditovat, třídy co se nemají auditovat) oddělené dvojtečkou. Jako příklad uvedu záznam www:fc,+ex:no, který pro uživatele www zapne auditování vytvořených souborů (fc) a úspěšně spuštěných programů (+ex), nebude potlačena auditace žádných tříd ze standardní konfigurace (no). Pokud potřebujete poradit s konfigurací tak vhledem k tomu, že BSM se používá v Solarisu již dost dlouho, lze s úspěchem googlovat a vyhledat si články o BSM, které často obsahují doporučené konfigurace. Já osobně jsem po prostudování vzorových konfigurací začal s nastavením flags: pc,ad,ex,lo naflags: lo,na,ad. Administrace systémuAdministrace systému je jednoduchá. Pokud pomineme problematiku archivování či odmazávání starých logů, což si musí administrátor zajistit vlastními prostředky, jediným administrativním nástrojem je příkaz audit sloužící k ovládání auditd démona. Příkaz audit umí poslat 3 žádosti: přepnutí logu, znovu načtení konfigurace a shutdown. Za zmínku ještě stojí script audit_warn v adresáři /etc/security. Auditd jej volá s argumentem closefile a jménem souboru, pokud je uzavřen démonem protokolační soubor a s parametrem soft, pokud pokleslo volné místo na svazku pod nastavenou hranici. Auditd volá audit_warn i pro oznamování různých chybových stavů, které lze tak poměrně elegantně ošetřit. Prohlížení logůZákladním prostředkem pro prohlížení logů je program praudit, který vytiskne obsah zadaného logu.header,93,10,audit startup,0,Tue Feb 6 09:37:47 2007, + 352 msec subject,root,root,wheel,root,wheel,77082,77082,0,0.0.0.0 text,auditd::Audit startup return,success,0 trailer,93 header,87,10,login - local,0,Tue Feb 6 11:04:59 2007, + 490 msec subject,-1,root,wheel,-1,-1,43564,4294967295,0,0.0.0.0 text,Login incorrect return,failure : Operation not permitted,2 trailer,87 header,68,10,login - local,0,Tue Feb 6 11:05:01 2007, + 745 msec subject,hsn,root,wheel,hsn,users,43564,43564,0,0.0.0.0 return,success,0 trailer,68 Pokud jej spustíte na zařízení /dev/auditpipe můžete systémové události monitorovat online. Užitečným pomocníkem je filter auditreduce, který filtruje záznamy podle zadaných kritérií. FreeBSD na rozdíl od Solarisu neobsahuje GUI aplikaci pro prohlížení logů a na žádný open source ekvivalent jsem nenarazil. ZávěrOdhaduji, že vzhledem k jednoduché konfiguraci si BSM audit najde k uživatelům cestu mnohem snadněji nežli MAC framework. Pokud si BSM uživatelé dostateční oblíbí určitě se brzo dočkáme kvalitních programů pro zpracování logů a podpory v IDS systémech.
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |