MFp4:
Add the translated audit chapter. Obtained from: The FreeBSD Dutch Documentation Project (Remko Lodder) Facilitated by: Snow B.V.
This commit is contained in:
parent
bd03117751
commit
684bf6cdc1
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=32005
1 changed files with 723 additions and 37 deletions
|
@ -1,20 +1,10 @@
|
|||
<!--
|
||||
The FreeBSD Dutch Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
$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
|
||||
Gebaseerd op: 1.33
|
||||
-->
|
||||
|
||||
<!--
|
||||
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 +19,775 @@ requirements. -->
|
|||
<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
|
||||
beveiligingsauditing van evenementen. 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 &sun;'s gepubliceerde
|
||||
<acronym>BSM</acronym> API en bestandsformaat en is uitwisselbaar
|
||||
met zowel &sun;'s &solaris; als &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 geeft
|
||||
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 bekend
|
||||
zijn:</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 mag alleen
|
||||
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 login sessies
|
||||
van gebruikers.</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, trail bestands data kan erg groot worden
|
||||
wanneer er erg precieze details worden gevraagd, wat enkele
|
||||
gigabytes per week kan behalen in sommige configuraties.
|
||||
Beheerders moeten rekening houden met voldoende schijfruimte
|
||||
voor grote audit configuraties. Bijvoorbeeld het kan gewenst
|
||||
zijn om eigen bestandsysteem aan <filename>/var/audit</filename>
|
||||
toe te wijzen zo dat andere bestandssystemen geen hinder
|
||||
ondervinden als het audit bestandssysteem onverhoopt vol
|
||||
raakt.</para>
|
||||
</warning>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="audit-inline-glossary">
|
||||
<title>* Sleutelbegrippen - Woordenlijst</title>
|
||||
<title>Sleutelwoorden in dit hoofdstuk</title>
|
||||
|
||||
<para>Wordt vertaald</para>
|
||||
<para>Voordat dit hoofdstuk gelezen kan worden, moeten er een
|
||||
aantal audit gerelateerde termen uitgelegd worden:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><emphasis>evenement</emphasis>: Een auditbaar evenement is
|
||||
elk evenement dat gelogged kan worden door het audit
|
||||
subsysteem. Voorbeelden van beveiligings gerelateerde
|
||||
evenementen zijn het creëeren van een bestand, het
|
||||
opzetten van een netwerk verbinding, of van een gebruiker die
|
||||
aanlogt. Evenementen zijn ofwel <quote>attributable</quote>
|
||||
wat betekend dat ze getraceerd kunnen worden naar een
|
||||
geauthoriseerde gebruiker, of <quote>non-attributable</quote>
|
||||
voor situaties waarin dat niet mogelijk is. Voorbeelden van
|
||||
non-attributable evenementen zijn elk evenement dat gebeurd
|
||||
voordat authorisatie plaatsvind in het login proces, zoals bij
|
||||
foutieve inlog 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 (de gebruiker) welke de actie uitvoerd, de datum en
|
||||
de tijd, informatie over de objecten of argumenten, en een
|
||||
conditie die aangeeft of de actie geslaagd of mislukt is.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>trail</emphasis>: Een audit trail, of log
|
||||
bestand bestaat uit een serie van audit records welke
|
||||
beveiligings evenementen beschrijft. Meestal lopen deze
|
||||
trails in chronologische orde, gebaseerd op de tijd dat
|
||||
het evenement optrad. Alleen geauthoriseerde processen
|
||||
mogen records toevoegen aan de audit trail.</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 die overeenkomen met
|
||||
evenementen.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>preselection</emphasis>: Het proces waarbij het
|
||||
systeem bepaald welke evenementen interessant zijn voor de
|
||||
beheerder, 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>
|
||||
|
||||
<listitem>
|
||||
<para><emphasis>reduction</emphasis>: Het proces waarbij records
|
||||
van bestaande audit trails worden geselecteerd voor bewaring,
|
||||
uitprinten of analyse. Ook is dit het proces waarbij ongewenste
|
||||
audit records worden verwijderd uit het audit trail. Door
|
||||
gebruik te maken van reduction kunnen beheerders 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 archiverings
|
||||
redenen.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="audit-install">
|
||||
<title>* Auditondersteuning installeren</title>
|
||||
<title>Installeren van audit ondersteuning.</title>
|
||||
|
||||
<para>Wordt vertaald</para>
|
||||
<para>Ondersteuning in de gebruikersomgeving 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 compilatie.
|
||||
In &os; 6.<replaceable>X</replaceable>, moet ondersteuning
|
||||
expliciet in de kernel gecompileerd worden door de volgende regel
|
||||
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 deze is opgestart kan de audit daemon
|
||||
aangezet worden door de volgende regel aan &man.rc.conf.5; toe te
|
||||
voegen:</para>
|
||||
|
||||
<programlisting>auditd_enable="YES"</programlisting>
|
||||
|
||||
<para>Audit ondersteuning moet daarna aangezet worden door een
|
||||
herstart van het systeem of door het handmatig starten van de audit
|
||||
daemon:</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 gecombineerd 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>
|
||||
applicatie welke waarschuwings berichten genereert in
|
||||
bijzondere situaties zoals wanneer de ruimte voor audit
|
||||
records te laagis 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 verkeerd loggen van evenementen.</para>
|
||||
</warning>
|
||||
|
||||
<sect2>
|
||||
<title>* Auditen bestandssyntaxis</title>
|
||||
<title>Evenement selectie expressies</title>
|
||||
|
||||
<para>Wordt vertaald</para>
|
||||
<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 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 geevalueerd 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
|
||||
toevoeging 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 gecreëerd 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
|
||||
evenementen waarbij bestandsattribuut 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 enkel
|
||||
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 informatie
|
||||
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>
|
||||
|
||||
<programlisting>lo,+ex</programlisting>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>* Instellingenbestanden</title>
|
||||
<title>Configuratie bestanden</title>
|
||||
|
||||
<para>In de meeste gevallen moet een beheerder 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>Wordt vertaald</para>
|
||||
<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
|
||||
&eactute;&eactute;n of meerdere directories te specificeren die
|
||||
gebruikt worden voor de opslag van audit logs. Als er meer
|
||||
dan &eactute;&eactute;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>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, 0, schakelt automatische log rotatie uit. Als de
|
||||
gevraagde bestands grootte niet nul is en onder de minimale
|
||||
512k zit, 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
|
||||
beheerder 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
|
||||
in combinatie 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>
|
||||
|
||||
<para>Wordt vertaald</para>
|
||||
<title>Het audit subsysteem beheren.</title>
|
||||
|
||||
<sect2>
|
||||
<title>* Audit logboekbestanden roteren</title>
|
||||
<title>Audit trails inzien</title>
|
||||
|
||||
<para>Wordt vertaald</para>
|
||||
<para>Audit trails worden opgeslagen in het BSM binaire formaat,
|
||||
dus ondersteunende 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 uitprinten van de data.
|
||||
<command>auditreduce</command> ondersteund een variateit aan
|
||||
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 ingelezen moet worden.</para>
|
||||
|
||||
<para>Audit trails bestaan uit een serie van audit records die
|
||||
gevormd worden door tokens, welke <command>praudit</command>
|
||||
sequentieel print &eactute;&eactute;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 commando's gerepresenteerd door de shell aan
|
||||
de kernel. Het <literal>path</literal> token bevat het pad
|
||||
naar het uitvoerbare 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>
|
||||
veranderd is naar de <username>root</username> gebruiker voordat
|
||||
het commando werd uitgevoerd, maar welke 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 worden, zal de beheerder
|
||||
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 geproduceert 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. Gebruikers 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 eerst goed overdacht
|
||||
wordt.</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 beheerder 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 creëeren, 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 beheerd worden door de audit daemon,
|
||||
<application>auditd</application>. Beheerders mogen geen
|
||||
gebruik maken van &man.newsyslog.conf.5; of soortgelijke
|
||||
programma's om de audit files te roteren. In plaats daarvan kan
|
||||
het <command>audit</command> 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 vervolgens
|
||||
de kernel een signaal stuurt om het nieuwe logbestand te gaan
|
||||
gebruiken. Het oude logbestand wordt getermineerd en hernoemd,
|
||||
waarna het bestand gemanipuleerd kan worden door de beheerder.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
|
||||
|
||||
<warning>
|
||||
<para>Als de <application>auditd</application> daemon op dit
|
||||
moment niet actief is, 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>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 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 nette 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>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, wat betekend
|
||||
dat het script niet uitgevoerd wordt op trails die niet netjes
|
||||
afgesloten zijn, waardoor bestanden corrupt kunnen raken.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
|
Loading…
Reference in a new issue