Ok, dus je hebt je systeem gecontroleerd en bevonden dat het zo veilig mogelijk is en je bent klaar om het on-line te zetten. Er zijn een aantal dingen die je nu moet doen om je voor te bereiden op een aanval, zodat je de indringer snel kan uitschakelen, de zaak herstelt en weer draait.
Een discussie over backupmethodes en opslag valt buiten de strekking van dit document, maar hier zijn een paar woorden over backups en beveiliging:
Als je minder dan 650 mb aan gegevens op een partitie op te slaan hebt, is een kopie van je gegevens op een CD-R een goede manier (omdat het moeilijk is om er later mee te knoeien en het een hele tijd meegaat mits het juist wordt bewaard). Tapes en andere herschrijfbare media moeten gelijk tegen schrijven worden beveiligd zodra je backup klaar is en vervolgens worden geverifieerd om geknoei te voorkomen. Let erop dat je je backups bewaart op een veilige off-line lokatie. Een goede backup verzekert je ervan dat je je systeem kunt herstellen vanaf een bekend goed punt.
Een cyclus van zes tapes is makkelijk te onderhouden. Dit houdt in: vier tapes voor door de week, een tape voor de even vrijdagen en een tape voor de oneven vrijdagen. Voer elke dag een backup uit van alleen de gegevens die er op die dag bijgekomen zijn en zet op de desbetreffende vrijdagtape een volledige backup. Als je bepaalde belangrijke wijzigingen aanbrengt of enkele belangrijke gegevens aan je systeem toevoegt, zal een volledige backup op zijn plaats zijn.
In het geval dat je systeem binnengedrongen wordt, kun je je RPM database
gebruiken zoals je tripwire
zou gebruiken, maar alleen als je er
zeker van kan zijn dat het niet ook is aangepast. Je moet de RPM database
kopiëren naar een diskette en deze kopie ten alle tijden off-line
bewaren. De Debian distributie heeft waarschijnlijk iets dergelijks.
De bestanden /var/lib/rpm/fileindex.rpm
en
/var/lib/rpm/packages.rpm
zullen waarschijnlijk niet op een enkele
diskette passen. Maar gecomprimeerd zal elk wel op een enkele diskette
passen.
Nu, als je systeem in gevaar is gebracht, kun je het volgende commando gebruiken:
root# rpm -Va
om elk bestand op je systeem te verifiëren. Zie de rpm
man
pagina, want er zijn een paar andere opties die kunnen worden meegegeven om
het minder verbose (uitgebreid) te maken. Denk eraan dat je er ook
zeker van moet zijn dat je RPM binary niet in gevaar is gebracht.
Dit betekent dat elke keer dat een RPM wordt toegevoegd aan het systeem, de RPM database opnieuw moet worden gearchiveerd. Je moet de voordelen afwegen tegen de nadelen.
Het is erg belangrijk dat de informatie die afkomstig is van
syslog
niet gecompromitteerd is. De bestanden in /var/log
lees- en schrijfbaar maken voor slechts een beperkt aantal gebruikers is
een goed begin.
Houd een oogje op wat er daar weggeschreven wordt, speciaal onder de
auth
faciliteit. Veelvuldig mislukte logins bijvoorbeeld, kunnen
een indicatie zijn voor een poging tot inbraak.
Waar je je logbestand moet zoeken hangt af van je distributie. Onder een
Linux systeem dat in overeenstemming is met de "Linux Filesystem Standard",
zoals Red Hat, moet je kijken in /var/log
en messages
,
mail.log
en anderen controleren.
Je kunt uitzoeken waar je distributie de logs wegschrijft door te kijken
naar je /etc/syslog.conf
bestand. Dit is een bestand dat
syslogd
(de systeem logging daemon) vertelt waar de diverse
berichten moeten worden gelogd.
Misschien wil je ook je log-rotating script of daemon zo instellen dat ze
de logs langer bewaren, zodat je de tijd hebt om ze te onderzoeken. Bekijk
het logrotate
pakket op recente Red Hat distributies. Andere
distributies hebben waarschijnlijk een soortgelijk proces.
Als er met je logbestanden is geknoeid, kijk dan of je kan bepalen wanneer het geknoei is begonnen en met wat voor soort dingen geknoeid is. Zijn er grote periodes van tijd die niet gelogd zijn? Het zoeken op je backup tapes (als je die hebt) naar logbestanden waar niet mee geknoeid is, is een goed idee.
Indringers staan er bekend om dat ze logbestanden aanpassen om hun sporen uit te wissen, maar ze moeten toch worden gecontroleerd op vreemde gebeurtenissen. Je kunt de indringer in de gaten krijgen als hij probeert toegang te verkrijgen of een programma misbruikt om het root account te pakken te krijgen. Misschien zie je wel log entries voordat de indringer tijd heeft om ze aan te passen.
Je moet ook de auth
faciliteit scheiden van andere
loggegevens, evenals pogingen om van gebruiker te wisselen door gebruik te
maken van su
, login pogingen en andere loginformatie van
gebruikers.
Stel, indien mogelijk, syslog
zo in dat het een kopie van de
belangrijkste gegevens stuurt naar een veilig systeem. Dit voorkomt dat een
indringer zijn sporen uit kan wissen door het verwijderen van zijn login/su/ftp/etc
pogingen. Zie de syslog.conf
man pagina en ga naar de @
optie.
Er zijn diverse meer geavanceerde syslogd
programma's
beschikbaar. Neem een kijkje op
http://www.core-sdi.com/ssyslog/ voor Secure Syslog. Met Secure Syslog
kun je je syslog entries versleutelen om zeker te weten dat er niemand mee
heeft geknoeid.
Een andere syslogd
met meer mogelijkheden is
syslog-ng.
Hiermee heb je meer flexibiliteit in je logging en het kan ook voorkomen dat
er met je remote syslog stromen wordt geknoeid.
Tot slot, logbestanden zijn veel minder bruikbaar als niemand ze leest. Maak zo af en toe eens wat tijd vrij om je logbestanden te bekijken om een indruk te krijgen hoe ze er op een gewone dag uitzien. Dit kan helpen om alles wat ongebruikelijk is te onderscheiden.
De meeste Linux gebruikers installeren vanaf een CD-ROM. Doordat het tempo waarop beveiligingsfixes uitkomen hoog is, worden er altijd nieuwe (gecorrigeerde) programma's uitgegeven. Voordat je je machine verbindt met het netwerk, is het een goed idee om op de ftp site van je distributie te kijken en alle bijgewerkte pakketten, vanaf het moment dat je de CD-ROM van je distributie hebt ontvangen, te downloaden. Vaak bevatten deze pakketten belangrijke beveiligingsfixes, dus het is een goed idee om ze te installeren.