Date: Mon, 19 May 2008 12:09:37 GMT From: Remko Lodder <remko@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 141854 for review Message-ID: <200805191209.m4JC9bPF054803@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=141854 Change 141854 by remko@remko_macosx on 2008/05/19 12:09:13 Audit chapter WIP, Translated in the plane from BSDCan Facilitated by: Snow B.V Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml#3 (text+ko) ==== @@ -1,20 +1,9 @@ <!-- - The FreeBSD Dutch Documentation Project - - $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml,v 1.1 2005/08/22 21:11:57 remko Exp $ - $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml,v 1.2 2005/08/15 20:23:13 siebrand Exp $ - Gebaseerd op: 1.5 + The FreeBSD Documentation Project + $FreeBSD: doc/en_US.ISO8859-1/books/handbook/audit/chapter.sgml,v 1.33 2008/01/22 11:07:11 brueffer Exp $ --> -<!-- -This version of the document assumes that the Audit system needs to be -installed as part of the trustedbsd/audit project. When/if audit becomes -part of FreeBSD proper, then these sections should be removed, or at least -reworded. The sections in question are marked with 'PROTOTYPE' labels in -commentary. ---> - -<!-- Need more documenation on praudit, audtreduce, etc. Plus more info +<!-- Need more documentation on praudit, auditreduce, etc. Plus more info on the triggers from the kernel (log rotation, out of space, etc). And the /dev/audit special file if we choose to support that. Could use some coverage of integrating MAC with Event auditing and perhaps discussion @@ -29,79 +18,743 @@ <surname>Rhodes</surname> <contrib>Written by </contrib> </author> + <author> + <firstname>Robert</firstname> + <surname>Watson</surname> + </author> </authorgroup> <authorgroup> <author> - <firstname>Siebrand</firstname> - <surname>Mazeland</surname> + <firstname>Remko</firstname> + <surname>Lodder</surname> <contrib>Vertaald door </contrib> </author> </authorgroup> </chapterinfo> - <title>Kernelgebeurtenissen auditen</title> + <title>Security Event Auditing</title> <sect1 id="audit-synopsis"> - <title>* Overzicht</title> + <title>Overzicht</title> <indexterm><primary>AUDIT</primary></indexterm> - <indexterm> - <primary>kernelgebeurtenissen auditen</primary> - + <primary>Security Event Auditing</primary> <see>MAC</see> </indexterm> - <para>Wordt vertaald</para> + <para>&os; 6.2 en later heeft ondersteuning voor diepgaande + beveiligings evenementen auditing. Evenement auditing maakt + het mogelijk dat er diepgaande en configureerbare logging van + een variateit aan beveiligings-gerelateerde systeem evenementen, + waaronder logins, configuratie wijzigingen, bestands- en + netwerk toegang. Deze log regels kunnen erg belangrijk + zijn voor live systeem monitoring, intrusion detection en + postmortem analyse. &os; implementeert ∑'s gepubliceerde + <acronym>BSM</acronym> API en bestandsformaat en uitwisselbaar + met zowel &sun;'s &solaris; en &apple;'s &macos; X audit + implementaties.</para> + + <para>Dit hoofdstuk richt zich op de installatie en configuratie van + evenement auditing. Het legt audit policies uit en levert + voorbeelden van audit configuraties.</para> + + <para>Na het lezen van dit hoofdstuk weet de lezer:</para> + + <itemizedlist> + <listitem> + <para>Wat evenement auditing is en hoe het werkt.</para> + </listitem> + + <listitem> + <para>Hoe evenement auditing geconfigureerd kan worden voor + &os; voor gebruikers en processen.</para> + </listitem> + + <listitem> + <para>Hoe de audittrail bekeken kan worden door gebruik te maken + van de audit reduction en onderzoek programma's.</para> + </listitem> + </itemizedlist> + + <para>Voordat verder gegaan wordt moet het volgende gedaan worden:</para> + + <itemizedlist> + <listitem> + <para>&unix; en &os; basishandelingen begrijpen + (<xref linkend="basics">).</para> + </listitem> + + <listitem> + <para>Bekend zijn met de basishandelingen van kernel + configuratie/compilatie + (<xref linkend="kernelconfig">).</para> + </listitem> + + <listitem> + <para>Bekend zijn met beveiliging en hoe dat relateert aan + &os; (<xref linkend="security">).</para> + </listitem> + </itemizedlist> + + <warning> + <para>De audit faciliteiten in &os; 6.<replaceable>X</replaceable> + zijn experimenteel en het gebruik in productie zou alleen moeten + gebeuren na zorgvuldig onderzoek van de risico's van het in + gebruik nemen van experimentele software. Bekende limitaties + zijn dat niet alle beveiligings-relevante systeem evenementen + geaudit kunnen worden en dat sommige login mechanismes, zoals + X11 gebaseerde display managers en derde partij programma's + geen goede ondersteuning bieden voor het auditen van gebruiker + login sessies.</para> + </warning> + + <warning> + <para>De beveiligings evenement auditing faciliteit is in staat om + erg gedetailleerde logs van systeem activiteiten op een druk + systeem te genereren, trial bestand data kan erg groot worden + wanneer er erg precieze details worden gevraagd, wat enkele + gigabytes per week kan overschrijden in sommige configuraties. + Administrators moeten goed overwegen genoeg diskruimte te alloceren + aan grote audit configuraties. Bijvoorbeeld het kan gewenst zijn + om een volledig bestandsysteem aan <filename>/var/audit</filename> + toe te wijzen zo dat andere bestandssystemen niet geraakt worden + als het audit bestandssysteem vol raakt.</para> + </warning> + </sect1> <sect1 id="audit-inline-glossary"> - <title>* Sleutelbegrippen - Woordenlijst</title> + <title>Sleutelwoorden in dit hoofdstuk</title> + + <para>Voordat dit hoofdstuk gelezen kan worden, moeten er een + aantal audit gerelateerde termenen uitgelegd worden:</para> + + <itemizedlist> + <listitem> + <para><emphasis>evenement</emphasis>: Een auditbaar evenement is + elk evenement dat geloogged kan worden door het audit subsysteem. + Voorbeelden van beveiligings gerelateerde evenementen zijn het + creeëren van een bestand, het opzetten van een netwerk + verbinding, of van een gebruiker die inlogged. Evenementen + zijn ofwel <quote>attributable</quote> wat betekend dat ze + getraceerd kunnen worden naar een geauthoriseerde gebruiker, of + <quote>non-attributable</quote> als dat niet mogelijk is. + Voorbeelden van non-attributable evenementen zijn elk evenement + dat gebeurd voordat authorisatie plaatsvind in het login proces, + zoals verkeerde paswoord pogingen.</para> + </listitem> + + <listitem> + <para><emphasis>class</emphasis>: Evenement klassen zijn benoemde + sets van gerelateerde evenementen en worden gebruikt in + selectie expressies. Veel gebruikte klassen van evenementen zijn + <quote>bestands creatie</quote> (fc), <quote>exec</quote> (ex) en + <quote>login_logout</quote> (lo).</para> + </listitem> + + <listitem> + <para><emphasis>record</emphasis>: Een record is een audit log + regel die het beveiligings evenement beschrijft. Records + bevatten een record evenement type, informatie over het onderwerp + (gebruiker) welke de actie uitvoerd, de datum en de tijd, + informatie over elke objecten of argumenten, en een succes of + faal conditie.</para> + </listitem> + + <listitem> + <para><emphasis>trail</emphasis>: Een audit trial, of log + bestand bestaat uit een serie van audit records welke + beveiligings evenementen beschrijven. Meestal lopen deze + trials in chronologische orde, gebaseerd op de tijd dat + het evenement optrad. Alleen geauthoriseerde processen + mogen records toevoegen aan de audit trial.</para> + </listitem> + + <listitem> + <para><emphasis>selection expression</emphasis>: Een selectie + expressie is een string welke een lijst bevat van prefixes + en audit evenement klasse namen overeenkomen met evenementen.</para> + </listitem> + + <listitem> + <para><emphasis>preselection</emphasis>: Het proces waarbij het + systeem bepaald welke evenementen interessant zijn voor de + administrator, zodat wordt voorkomen dat er audit records worden + gegenereerd voor evenementen die niet interessant zijn. De + <quote>preselection</quote> configuratie gebruikt een serie van + selectie expressies om te identificeren welke klassen van + evenementen van toepassing zijn op gebruikers en globale + instellingen voor zowel geauthoriseerde als ongeauthoriseerde + processen.</para> + </listitem> - <para>Wordt vertaald</para> + <listitem> + <para><emphasis>reduction</emphasis>: Het proces waarbij records + van bestaande audit trials worden geselecteerd voor bewaring, + printen of analyse. Ook is dit het proces waarbij ongewenste + audit records worden verwijderd uit het audit trail. Door gebruik + te maken van reduction kunnen administrators policies implementeren + die het bewaren van audit data verzorgen. Bijvoorbeeld gedetailleerde + audit trails kunnen ëën maand bewaard worden maar erna + worden trails gereduceerd zodat alleen login informatie bewaard + worden voor archief redenen.</para> + </listitem> + </itemizedlist> </sect1> <sect1 id="audit-install"> - <title>* Auditondersteuning installeren</title> + <title>Installeren van audit ondersteuning.</title> + + <para>Gebruikers ruimte ondersteuning voor evenement auditing wordt + geïnstalleerd als onderdeel van het basis &os; besturings systeem. + In &os; 7.0 en later wordt kernel ondersteuning voor evenement + auditing standaard meegenomen tijdens compliatie. In &os; 6.<replaceable>X</replaceable>, + moet ondersteuning expliciet in de kernel gecompileerd worden door + de volgende regels toe te voegen aan het kernel configuratie bestand:</para> + + <programlisting>options AUDIT</programlisting> + + <para>Bouw en herinstalleer de kernel volgens het normale + proces zoals beschreven in <xref linkend="kernelconfig">.</para> + + <para>Zodra een audit ondersteunende kernel is gebouwd en geïnstalleerd, + en opgestart kan de audit daemon aangezet worden door de volgende regel + an &man.rc.conf.5; toe te voegen:</para>. + + <programlisting>auditd_enable="YES"</programlisting> + + <para>Audit ondersteuning moet daarna aangezet worden door een herstart + of door het handmatig starten van de audit daemon:</para> - <para>Wordt vertaald</para> + <programlisting>/etc/rc.d/auditd start</programlisting> </sect1> <sect1 id="audit-config"> - <title>* Auditen instellen</title> + <title>Audit Configuratie</title> + + <para>Alle configuratie bestanden voor beveiligings audit kunnen + worden gevonden in + <filename class="directory">/etc/security</filename>. De volgende + bestanden moeten aanwezig zijn voor de audit daemon wordt gestart:</para> + + <itemizedlist> + <listitem> + <para><filename>audit_class</filename> - Bevat de definities + van de audit klasses.</para> + </listitem> + + <listitem> + <para><filename>audit_control</filename> - Controleert aspecten + van het audit subsysteem, zoals de standaard audit klassen, + minimale hoeveelheid diskruimte die moet overblijven op de + audit log schijf, de maximale audit trail grootte, etc.</para> + </listitem> + + <listitem> + <para><filename>audit_event</filename> - Tekst namen en + beschrijvingen van systeem audit evenementen, evenals een + lijst van klassen waarin elk evenement zich bevind.</para> + </listitem> + + <listitem> + <para><filename>audit_user</filename> - Gebruiker specifieke + audit benodigdheden welke gecombieerd worden met de globale + standaarden tijdens het inloggen.</para> + </listitem> + + <listitem> + <para><filename>audit_warn</filename> - Een bewerkbaar shell + script gebruikt door de <application>auditd</application> welke + waarschuwings berichten genereert in bijzondere situaties zoals + wanneer de ruimte voor audit records weinig is of wanneer het + audit trail bestand is geroteerd.</para> + </listitem> + </itemizedlist> + + <warning> + <para>Audit configuratie bestanden moeten voorzichtig worden + bewerkt en onderhouden, omdat fouten in de configuratie kunnen + resulteren in het foutief loggen van evenementen.</para> + </warning> <sect2> - <title>* Auditen bestandssyntaxis</title> + <title>Evenement selectie expressies</title> + + <para>Selectie expressies worden gebruikt op een aantal plaatsen + in de audit configuratie om te bepalen welke evenementen er + geaudit moeten worden. Expressies bevatten een lijst van + evenement klassen welke gelijk zijn aan een prefix welke aangeeft + of het gelijke records geaccepteerd moeten worden of genegeerd + en optioneel om aan te geven of de regel is bedoeld om succesvolle + of mislukte operaties te matchen. Selectie expressies worden + gevalueerd van links naar rechts en twee expressies worden + gecombineerd door de ëën aan de ander toe te voegen.</para> + + <para>De volgende lijst bevat de standaard audit evenement klassen + welke aanwezig zijn in het <filename>audit_class</filename> + bestand:</para> + + <itemizedlist> + <listitem> + <para><literal>all</literal> - <emphasis>all</emphasis> - Matched alle + evenement klasses.</para> + </listitem> + + <listitem> + <para><literal>ad</literal> - <emphasis>administrative</emphasis> + - Administratieve acties welke uitgevoerd worden op het gehele + systeem.</para> + </listitem> + + <listitem> + <para><literal>ap</literal> - <emphasis>application</emphasis> - + Applicatie gedefinieerde acties.</para> + </listitem> + + <listitem> + <para><literal>cl</literal> - <emphasis>file close</emphasis> - + Audit aanroepen naar de <function>close</function> systeem + aanroep.</para> + </listitem> + + <listitem> + <para><literal>ex</literal> - <emphasis>exec</emphasis> - Audit + programma uitvoer. Het auditen van command line argumenten en + omgevings variabelen wordt gecontroleerd via + &man.audit.control.5; door gebruik te maken van de + <literal>argv</literal> en <literal>envv</literal> parameters + in de <literal>policy</literal> setting.</para> + </listitem> + + <listitem> + <para><literal>fa</literal> - <emphasis>file attribute access</emphasis> + - Audit de toeging van object attributen zoals &man.stat.1;, + &man.pathconf.2; en gelijkwaardige evenementen.</para> + </listitem> + + <listitem> + <para><literal>fc</literal> - <emphasis>file create</emphasis> + - Audit evenementen waar een bestand wordt gecreeerd als + resultaat.</para> + </listitem> + + <listitem> + <para><literal>fd</literal> - <emphasis>file delete</emphasis> + - Audit evenementen waarbij bestanden verwijderd worden.</para> + </listitem> + + <listitem> + <para><literal>fm</literal> - <emphasis>file attribute modify</emphasis> + - Audit evententen waarbij bestands attributen wijzigingen + plaatsvinden zoals bij &man.chown.8;, &man.chflags.1;, &man.flock.2;, + etc.</para> + </listitem> + + <listitem> + <para><literal>fr</literal> - <emphasis>file read</emphasis> + - Audit evenementen waarbij data wordt gelezen, bestanden + worden geopend voor lezen etc.</para> + </listitem> + + <listitem> + <para><literal>fw</literal> - <emphasis>file write</emphasis> - + Audit evenementen waarbij data wordt geschreven, bestanden + worden geschreven of gewijzigd, etc.</para> + </listitem> + + <listitem> + <para><literal>io</literal> - <emphasis>ioctl</emphasis> - Audit + het gebruik van de &man.ioctl.2; systeem aanroep.</para> + </listitem> + + <listitem> + <para><literal>ip</literal> - <emphasis>ipc</emphasis> - Audit + verschillende vormen van Inter-Process Communication, zoals + POSIX pipes en System V <acronym>IPC</acronym> operaties.</para> + </listitem> + + <listitem> + <para><literal>lo</literal> - <emphasis>login_logout</emphasis> - + Audit &man.login.1; en &man.logout.1; evenementen die plaatsvinden + op het systeem.</para> + </listitem> + + <listitem> + <para><literal>na</literal> - <emphasis>non attributable</emphasis> - + Audit non-attributable evenementen.</para> + </listitem> + + <listitem> + <para><literal>no</literal> - <emphasis>invalid class</emphasis> - + Matched geen audit evenement.</para> + </listitem> + + <listitem> + <para><literal>nt</literal> - <emphasis>network</emphasis> - + Audit evenementen die gerelateerd zijn aan netwerk acties + zoals &man.connect.2; en &man.accept.2;.</para> + </listitem> + + <listitem> + <para><literal>ot</literal> - <emphasis>other</emphasis> - + Audit diverse evenementen.</para> + </listitem> + + <listitem> + <para><literal>pc</literal> - <emphasis>process</emphasis> - + Audit process operaties zoals &man.exec.3; en &man.exit.3;</para> + </listitem> + + </itemizedlist> + + <para>Deze audit evenement klassen kunnen veranderd worden door het + wijzigingen van de <filename>audit_class</filename> en + <filename>audit_event</filename> configuratie bestanden.</para> + + <para>Elke audit klasse in de lijst wordt gecombineerd met een + voorzetsel welke aangeeft of er succesvolle of mislukte operaties + hebben plaatsgevonden en of de regel wordt toegevoegd of verwijderd + van het matchen van de klasse en het type.</para> + + <itemizedlist> + <listitem> + <para>(none) Audit zowel succesvolle als mislukte infomratie van + het evenement.</para> + </listitem> + + <listitem> + <para><literal>+</literal> Audit succesvolle evenementen in deze klasse.</para> + </listitem> + + <listitem> + <para><literal>-</literal> Audit mislukte evenementen in deze klasse.</para> + </listitem> + + <listitem> + <para><literal>^</literal> Audit geen enkele succesvolle of mislukte evenementen + in deze klasse.</para> + </listitem> + + <listitem> + <para><literal>^+</literal> Audit geen succesvolle evenementen in deze klasse.</para> + </listitem> + + <listitem> + <para><literal>^-</literal> Audit geen mislukte evenementen in deze klasse.</para> + </listitem> + + </itemizedlist> + + <para> de volgende voorbeeld selectie strings selecteren zowel succesvolle als + mislukte login/logout evenementen, maar alleen succesvolle uitvoer evenementen:</para> - <para>Wordt vertaald</para> + <programlisting>lo,+ex</programlisting> </sect2> <sect2> - <title>* Instellingenbestanden</title> + <title>Configuratie bestanden</title> + + <para>In de meeste gevallen moet een administrator twee bestanden wijzigingen + wanneer het audit systeem wordt geconfigureerd: + <filename>audit_control</filename> en <filename>audit_user</filename>. + Het eerste controleert systeem brede audit eigenschappen en policies, het + tweede kan gebruikt worden om diepgaande auditing per gebruiker uit te + voeren.</para> <sect3 id="audit-auditcontrol"> - <title>* Bestand <filename>audit_control</filename></title> + <title>Het <filename>audit_control</filename> bestand</title> + + <para>Het <filename>audit_control</filename> bestand specificeert + een aantal standaarden van het audit subsysteem. Als de inhoud + bekeken wordt van dit bestand is het volgende te zien:</para> + + <programlisting>dir:/var/audit +flags:lo +minfree:20 +naflags:lo +policy:cnt +filesz:0</programlisting> + + <para>De <option>dir</option> optie wordt gebruikt om ëën + of meerdere directories te specificeren die gebruikt worden voor + de opslag van audit logs. Als er meer dan ëën directory + wordt gespecificeerd, worden ze op volgorde gebruikt naarmate ze + gevuld worden. Het is standaard dat audit geconfigureerd wordt + dat audit logs worden bewaard op een eigen bestandssysteem, om te + voorkomen dat het audit subsysteem en andere subsystemen met elkaar + botsen als het bestandssysteem volraakt.</para> + + <para>Het <option>flags</option> veld stelt de systeem brede standaard + preselection maskers voor attributable evenementen in. In het + voorbeeld boven worden succesvolle en mislukte login en logout + evenementen geaudit voor alle gebruikers.</para> + + <para>De <option>minfree</option> optie definieerd het minimale + percentage aan vrije ruimte voor dit bestandssysteem waar de + audit trails worden opgeslagen. Wanneer deze limiet wordt + overschreven wordt er een waarschuwing gegenereerd. In het + bovenstaande voorbeeld wordt de minimale vrije ruimte ingesteld + op 20 procent.</para> + + <para>De<option>naflags</option> optie specificeerd audit klasses + welke geaudit moeten worden voor non-attributed evenementen zoals + het login proces en voor systeem daemons.</para> + + <para>De<option>policy</option> optie specificeert een komma + gescheiden lijst van policy vlaggen welke diverse aspecten + van het audit proces beheren. De standaard <literal>cnt</literal> + vlag geeft aan dat het systeem moet blijven draaien ook al treden + er audit fouten op (Deze vlag wordt sterk aangeraden). Een andere veel + gebruikte vlag is <literal>argv</literal>, wat het mogelijk maakt om + command line argumenten aan de &man.execve.2; systeem aanroep te auditen + als onderdeel van het uitvoeren van commando's.</para> - <para>Wordt vertaald</para> + <para>De <option>filesz</option> optie specificeert de maximale + grootte in bytes hoeveel een audit trail bestand mag groeien + voordat het automatisch getermineerd en geroteerd wordt. De + standaard, 9, schakelt automatische log rotatie uit. Als de + gevraagde bestands grootte niet nul is en onder de minimale + 512k, wordt de optie genegeerd en wordt er een log bericht + gegenereerd.</para> </sect3> <sect3 id="audit-audituser"> - <title>* Bestand <filename>audit_user</filename></title> + <title>Het <filename>audit_user</filename> bestand</title> + + <para>Het <filename>audit_user</filename> bestand staat de + administrator toe om verdere audit benodigdheden te + specificeren voor gebruikers. Elke regel configureert + auditing voor een gebruiker via twee velden, het eerste is het + <literal>alwaysaudit</literal> veld, welke een set van + evenementen specificeert welke altijd moet worden geaudit voor de + gebruiker, en de tweede is het <literal>neveraudit</literal> veld, + welke een set van evenementen specificeerd die nooit geaudit moeten + worden voor de gebruiker.</para> + + <para>Het volgende voorbeeld <filename>audit_user</filename> bestand + audit login/logout evenementen en succesvolle commando uitvoer voor + de <username>root</username> gebruiker, en audit bestands creatie + en succesvolle commando uitvoer voor de <username>www</username> + gebruiker. Als dit gebruikt wordt met het voorbeeld + <filename>audit_control</filename> bestand hierboven, is de + <username>root</username> regel dubbelop en zullen login/logout + evenementen ook worden geaudit voor de <username>www</username> + gebruiker.</para> + + <programlisting>root:lo,+ex:no +www:fc,+ex:no</programlisting> - <para>Wordt vertaald</para> </sect3> </sect2> </sect1> <sect1 id="audit-administration"> - <title>* Gebeurtenisaudit beheer</title> + <title>Het audit subsysteem beheren.</title> + + <sect2> + <title>Audit trails inzien</title> + + <para>Audit trails worden opgeslagen in het BSM binaire formaat, dus + ondersteuning programma's moeten worden gebruikt om de informatie + te wijzigen of converteren naar tekst. Het &man.praudit.1; commando + converteert trail bestanden naar een simpel tekst formaat; het + &man.auditreduce.1; commando kan gebruikt worden om de audit trail + te reduceren voor analyse, archivering of voor het printen. + <command>auditreduce</command> ondersteund een variateit van + selectie parameters, zoals evenement type, evenement klasse, + gebruiker, datum of tijd van het evenement en het bestandspad + of object dat gebruikt wordt.</para> + + <para>Bijvoorbeeld, het <command>praudit</command> programma zal een + dump maken van de volledige inhoud van een gespecificeerd audit + log bestand in normale tekst:</para> + + <screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen> + + <para>Waar <filename><replaceable>AUDITFILE</replaceable></filename> het audit bestand + is dat gedumpt moet worden.</para> + + <para>Audit trails bestaan uit een serie van audit records die gevormd + worden door tokens, welke <command>praudit</command> sequentieel print + ëën per regel. Elke token is van een specifiek type, zoals + een <literal>header</literal> welke de audit record header bevat, of + <literal>path</literal> welke het bestandspad bevat van een lookup. + Het volgende is een voorbeeld van een <literal>execve</literal> + evenement:</para> + + <programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec +exec arg,finger,doug +path,/usr/bin/finger +attribute,555,root,wheel,90,24918,104944 +subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100 +return,success,0 +trailer,133</programlisting> + + <para>Deze audit representeert een succesvolle + <literal>execve</literal> aanroep, waarbij het commando + <literal>finger doug</literal> is aangeroepen. Het argument token + bevat beide behandelde command line gepresendeerd door de shell + aan de kernel. Het <literal>path</literal> token bevat het + pad naar het uitvoere bestand zoals opgezocht door de kernel. + Het <literal>attribute<literal> token beschrijft de binary en om + precies te zijn bevat het de bestands mode welke gebruikt kan worden + om te zien of het bestand setuid was. Het <literal>subject</literal> + token beschrijft het onderwerp proces en bevat sequentieel het + audit gebruikers ID, effectieve gebruikers ID en groep ID, echte + gebruikers ID, groep ID, proces ID, sessie ID, port ID en login + adres. Let op dat het audit gebruikers ID en het echte gebruikers + ID van elkaar verschillen omdat de gebruiker <username>robert</username> + gewisseld is naar de <username>root</username> gebruiker voordat het + commando werd uitgevoerd, maar dat het geaudit wordt als de originele + geauthoriseerde gebruiker. Als laatste wordt de <literal>return</literal> + token gebruikt om aan te geven dat er een succesvolle uitvoer is geweest + en <literal>trailer</literal> geeft het einde aan van het record.</para> + + <para>In &os; 6.3 en later ondersteund <command>praudit</command> ook + een XML output formaat, welke geselecteerd kan worden door gebruik te + maken van het <option>x</option> argument.</para> + </sect2> + + <sect2> + <title>Het reduceren van audit trails</title> + + <para>Omdat audit logs erg groot kunnen zijn, zal de administrator + waarschijnlijk een subset van records willen selecteren om te + gebruiken, zoals records die gekoppeld zijn aan een specifieke + gebruiker:</para> + + <screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen> + + <para>Dit selecteert alle audit records die geprduceert zijn + voor de gebruiker <username>trhodes</username> die opgeslagen + is in het <filename><replaceable>AUDITFILE</replaceable></filename> + bestand.</para> + </sect2> + + <sect2> + <title>Delegeren van audit onderzoek rechten</title> + + <para>Leden van de <groupname>audit</groupname> groep krijgen + permissie om de audit trails te lezen in + <filename>/var/audit</filename>; standaard is deze groep leeg en + kan alleen de <username>root</username> gebruiker deze + audit trails lezen. Gebrukers kunnen toegevoegd worden aan de + <groupname>audit</groupname> groep zodat onderzoek rechten kunnen + worden gedelegeerd aan de geruiker. Omdat de mogelijkheid van het + inzien van audit log inhoud significante inzicht kan geven in het + gedrag van gebruikers en processen, wordt het aangeraden dat de + delagatie van onderzoek rechten wordt uitgevoerd met zorg.</para> + </sect2> + + <sect2> + <title>Live monitoren door gebruik van audit pipes</title> + + <para>Audit pipes zijn gecloonde pseudo-devices in het device + bestands systeem, welke applicaties toestaat om een tap te plaatsen + in de live audit record stream. Dit is primair interessant voor + schrijvers van intrusion detection en systeem monitoring applicaties. + Echter, voor een administrator is het audit pipe device een makkelijke + manier om live monitoring toe te staan zonder dat er problemen kunnen + ontstaan met het eigenaarschap van het audit trail bestand, of dat + een log rotatie de evenementen stroom in de weg zit. Om de live + audit evenementen stroom te kunnen inzien is het volgende commando + benodigd:</para> + + <screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen> + + <para>Standaard zijn de audit pipe device nodes alleen toegankelijk voor + de <username>root</username> gebruiker. Om deze toegankelijk te maken + voor leden van de <groupname>audit</groupname> groep, moet een + <literal<devfs</literal> regel toegevoegd worden aan het + <filename>devfs.rules</filename> bestand:</para> + + <programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting> + + <para>Zie &man.devfs.rules.5; voor meer informatie over het configureren + van het devfs bestands systeem.</para> + + <warning> + <para>Het is makkelijk om audit evenement terugkoppeling cyclussen + te creeëren, waarbij het tonen van elk audit evenement + resulteert in het genereren van nog meer audit evenementen. + Bijvoorbeeld, als alle netwerk I/O wordt geaudit en + &man.praudit.1; wordt gestart vanuit een SSH sessie, wordt er + een grote continue stroom aan audit evenementen gegenereert doordat + elk getoond evenement een nieuw evenement genereert. Het is + verstandig om <command>praudit</command> te draaien op een + audit pipe device voor sessies zonder diepgaande I/O auditing + om te voorkomen dat dit gebeurd.</para> + </warning> + </sect2> + + <sect2> + <title>Het roteren van audit trail bestanden</title> + + <para>Audit trails worden alleen beschreven door de kernel en alleen + gemanaged door de audit daemon, <application>auditd</application>. + Administrators moeten &man.newsyslog.conf.5; of andere programma's + niet gebruiken om direct audit logs te roteren. In plaats daarvan + kan het <command>audit</comman> management programma gebruikt worden + om auditing te stoppen, het audit systeem te herconfigureren en + log rotatie uit te voeren. Het volgende commando zorgt ervoor dat de + audit daemon een nieuwe audit log maakt, en de kernel een signaal + stuurt om het nieuwe logbestand te gebruiken. Het oude logbestand + wordt getermineerd en hernoemd, en vanaf dan kan het gemanipuleerd + worden door de administrator.</para> + + <screen>&prompt.root; <userinput>audit -n</userinput></screen> + + <warning> + <para>Als de <application>auditd</application> daemon op dit moment + niet draait op dit moment, zal het commando falen en zal er een + error bericht worden geproduceerd.</para> + </warning> + + <para>Als de volgende regel wordt toegevoegd aan het + <filename>/etc/crontab</filename> bestand, zal er + elke twaalf uur een rotatie plaatsvinden door middel + van &man.cron.8;:</para> + + <programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting> + + <para>Deze wijziging wordt van kracht op het moment dat het + nieuwe <filename>/etc/crontab</filename> bestand wordt + opgeslagen.</para> - <para>Wordt vertaald</para> + <para>Automatische rotatie van het audit trail bestand gebaseerd + op de bestand grootte is mogelijk via de <option>filesz</option> + optie in &man.audit.control.5; en wordt beschreven in de + configuratie bestanden sectie van dit hoofdstuk.</para>. + </sect2> <sect2> - <title>* Audit logboekbestanden roteren</title> + <title>Audit trails comprimeren</title> + + <para>Omdat audit trail bestanden erg groot kunnen worden, is het meestal + gewenst om de trails te comprimeren of op een andere manier te archiveren + zodra ze afgesloten zijn door de audit daemon. Het + <filename>audit_warn</filename> script kan gebruikt worden om bewerkte + operaties te doen voor een variateit aan audit gerelateerde evenementen + inclusief een schone terminatie van audit trails wanneer deze + geroteerd worden. Bijvoorbeeld het volgende kan worden toegevoegd + aan het <filename>audit_warn</filename> script, dat de audit trails + comprimeert zodra ze afgesloten worden:</para> + + <programlisting># +# Compress audit trail files on close. +# +if [ "$1" = closefile ]; then + gzip -9 $2 +fi</programlisting> - <para>Wordt vertaald</para> + <para>Andere archiverings activiteiten kunnen zijn het kopieren van + trail bestanden naar een gecentraliseerde server, het verwijderen + van oude trail bestanden of het reduceren van de audit trail om + onnodige records te verwijderen. Het script zal alleen draaien + als audit trail bestanden netjes worden afgesloten, dus het zal niet + gedraaid worden op trails die niet netjes afgesloten zijn waardoor + een foutieve afsluiting plaatsvind.</para> </sect2> </sect1> </chapter>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805191209.m4JC9bPF054803>