De eerste laag van beveiliging waar je rekening mee moet houden is de fysieke beveiliging van je computersystemen. Wie heeft directe fysieke toegang tot je machine? Zouden ze dat ook moeten hebben? Kun je je machine beschermen tegen hun geknoei? Zou je dat ook moeten doen?
Hoeveel fysieke beveiliging je nodig hebt op je systeem is erg afhankelijk van je situatie en/of budget.
Als je een thuisgebruiker bent, zul je waarschijnlijk niet veel nodig hebben (alhoewel je misschien je machine wilt beschermen tegen het geknoei van kinderen of hinderlijke familieleden). Als je in een laboratorium bent, zul je aanzienlijk meer nodig hebben, maar gebruikers moeten wel hun werk kunnen doen op hun machines. Veel van de volgende paragrafen bieden uitkomst. Als je in een kantoor bent, kun je wel of niet je machine beveiligen na kantoortijd of als je weg bent. Bij sommige bedrijven leidt het onbeveiligd achterlaten van je computer tot ontslag.
Voor de hand liggende fysieke beveiligingsmethoden als sloten op deuren, kabels, afgesloten kasten en videobewaking zijn allemaal goede ideeën, maar vallen buiten de strekking van dit document. :)
Veel moderne PC-kasten bieden een voorziening om ze "op slot te doen". Gewoonlijk zal dit een socket aan de voorkant van de kast zijn, waarmee je met een bijgeleverd sleuteltje de computer op slot kunt zetten of van het slot kunt halen. Kastsloten kunnen helpen voorkomen dat iemand je PC steelt of de kast opent en je hardware rechtstreeks manipuleert/steelt. Soms kunnen ze ook voorkomen dat iemand je computer opnieuw opstart vanaf z'n eigen floppy of andere hardware.
Deze kastsloten doen verschillende dingen al naar gelang de ondersteuning in het moederbord en de wijze waarop de kast is gemaakt. Op veel PC's is het zo gemaakt dat je de kast moet openbreken om hem open te krijgen. Op enkele andere laten ze je geen nieuwe toetsenborden of muizen aansluiten. Raadpleeg de voorschriften van je moederbord of kast voor meer informatie. Dit kan soms een erg bruikbare voorziening zijn, ondanks dat de sloten gewoonlijk van erg lage kwaliteit zijn en makkelijk kunnen worden gesloopt door aanvallers met slotenmakersgereedschap.
Sommige machines (voornamelijk SPARC's en Mac's) hebben een oog aan de achterkant waar je een kabel door kunt halen, zodat aanvallers de kabel moeten doorknippen of de kast moeten slopen om erin te kunnen komen. Een hangslot of een combinatieslot erdoor is een afschrikwekkend middel voor iemand die je machine wil stelen.
De BIOS is het laagste niveau van software dat je x86-gebaseerde hardware configureert of manipuleert. LILO en andere Linux bootmethodes benaderen de BIOS om vast te stellen hoe je Linux machine opgestart moet worden. Andere hardware waar Linux op draait heeft vergelijkbare software (OpenFirmware op Mac's en nieuwe Sun's, Sun boot PROM, enz...). Je kunt je BIOS gebruiken om te voorkomen dat aanvallers je machine opnieuw opstarten en je Linux systeem manipuleren.
In de BIOS van veel PC's kun je een boot wachtwoord instellen. Dit verschaft niet zo heel veel beveiliging (de BIOS kan worden gereset of verwijderd als iemand in de kast kan komen), maar het kan een goed afschrikwekkend middel zijn (d.w.z. het kost tijd en laat sporen van geknoei na). Op dezelfde wijze kan op S/Linux (Linux voor SPARC(tm) processor machines) je EEPROM worden ingesteld om een boot-wachtwoord te vereisen. Dit kan vertragend werken voor aanvallers.
Veel x86 BIOS'sen staan je ook toe om diverse andere goede beveiligingsinstellingen te specificeren. Raadpleeg je BIOS handleiding of bekijk het de volgende keer als je opstart. Sommige BIOS'sen staan bijvoorbeeld het opstarten vanaf floppy drives niet toe en sommigen vereisen wachtwoorden om toegang te krijgen tot enkele BIOS voorzieningen.
Let op: Als je een server machine hebt en je stelt een boot wachtwoord in, zal je machine niet onbeheerd opstarten. Houd in gedachten dat je in geval van een stroomstoring moet komen opdagen om het wachtwoord in te toetsen. ;(
In de verschillende Linux boot loaders kan ook een wachtwoord
ingesteld worden. LILO heeft bijvoorbeeld password
en
restricted
instellingen; password
vereist een
wachtwoord bij het opstarten, terwijl restricted
alleen een
wachtwoord bij het opstarten vereist als je opties specificeert
(zoals single
) bij de LILO
prompt.
Uit de lilo.conf man pagina:
password=password
The per-image option `password=...' (see below) applies to all images.
restricted
The per-image option `restricted' (see below) applies to all images.
password=password
Protect the image by a password.
restricted
A password is only required to boot the image if
parameters are specified on the command line
(e.g. single).
Houd in gedachten dat wanneer je al deze wachtwoorden instelt, je ze ook moet onthouden. :) Onthoud ook dat deze wachtwoorden de vastbesloten aanvaller louter zullen vertragen. Ze kunnen niet voorkomen dat iemand opstart vanaf een floppy en je root partitie mount. Als je beveiliging samen met een boot loader gebruikt, kun je net zo goed het opstarten vanaf een floppy uitschakelen in de BIOS van je computer en de BIOS met een wachtwoord beschermen.
Als iemand beveiligingsgerelateerde informatie van een andere boot
loader heeft, zouden we dat graag willen horen. (grub
,
silo
, milo
, linload
, enz.)
Let op: Als je een server machine hebt en je stelt een boot wachtwoord in, zal je machine niet onbeheerd opstarten. Houd in gedachten dat je in geval van een stroomstoring moet komen opdagen om het wachtwoord in te toetsen. ;(
Als je af en toe van je machine afdwaalt, is het wel aardig dat je de
mogelijkheid hebt om je console te "vergrendelen" zodat niemand je werk kan
verknoeien of bekijken. Twee programma's die dat doen zijn xlock
en vlock
.
xlock
is een X beeldschermvergrendeling. Het zou bij elke Linux
distributie moeten zitten die X ondersteunt. Bekijk hiervoor de man pagina voor
meer opties, maar in het algemeen kun je xlock
draaien vanaf elke
xterm op je console en het zal het beeldscherm vergrendelen en om een
wachtwoord vragen om te ontgrendelen.
vlock
is een simpel klein programma waarmee je enkele of alle
virtuele consoles op je Linux box kunt vergrendelen. Je kunt alleen
degene waarop je aan het werk bent vergrendelen, of allemaal. Als je er maar
één afsluit, kunnen anderen binnenkomen en de console
gebruiken; ze kunnen alleen niet jouw virtuele console gebruiken totdat je
hem ontgrendelt. vlock
wordt geleverd bij Redhat Linux, maar de
weg die jij moet bewandelen om zover te komen kan anders zijn.
Natuurlijk zal het vergrendelen van je console iemand ervan weerhouden om met je werk te knoeien, maar het zal ze niet beletten om je machine opnieuw op te starten of anderszins je werk te verstoren. Het weerhoudt ze ook niet om je machine te benaderen vanaf een andere machine op het netwerk en problemen te veroorzaken.
Maar belangrijker, het weerhoudt iemand niet om het X Window systeem geheel te verlaten en naar een normale virtuele login prompt te gaan of naar de virtuele console waarvan X11 is opgestart en het op non-actief te zetten om zodoende jouw privileges te verkrijgen. Om deze reden zou je moeten overwegen om het alleen in combinatie met xdm te gebruiken.
Het eerste waar je altijd op moet letten is of je machine opnieuw is opgestart. Omdat Linux een robuust en stabiel besturingssysteem is, zijn de enige keren dat het opnieuw opgestart moet worden, de keren dat jij het buiten gebruik stelt voor upgrades van het besturingssysteem, wisseling van hardware of iets dergelijks. Als je machine opnieuw is opgestart buiten jouw medeweten, kan dat een teken zijn dat een indringer je systeem in gevaar brengt. Veel van de manieren waarop je machine in gevaar kan worden gebracht, vereisen dat de indringer je machine opnieuw opstart of hem uitschakelt.
Controleer op tekenen van geknoei met de kast of de omgeving van de computer. Hoewel veel indringers hun sporen in de logbestanden verwijderen, is het een goed idee om ze te controleren en enige discrepantie op te merken.
Het is ook een goed idee om loggegevens op een veilige plaats op te slaan, bijvoorbeeld op een toegewijde log server op je goed beschermde netwerk. Als een machine eenmaal te maken heeft gehad met een aanval, zijn loggegevens van weinig nut meer, omdat ze hoogstwaarschijnlijk ook zijn aangepast door de indringer.
De syslog daemon kan zo worden ingesteld dat hij loggegevens automatisch naar een centrale syslog server stuurt, maar dit wordt kenmerkend ongecodeerd gedaan, zodat een indringer de mogelijkheid heeft om de gegevens te bekijken terwijl ze worden verzonden. Dit kan informatie over je netwerk blootgeven, waarvan het niet de bedoeling is dat het openbaar wordt. Er zijn syslog daemons beschikbaar die de gegevens coderen terwijl ze worden verzonden.
Wees je ook bewust dat het namaken van syslogberichten gemakkelijk is -- met een speciaal programma dat reeds gepubliceerd is. Syslog accepteert zelfs net log entries die het doen voorkomen alsof ze van de lokale host afkomstig zijn, zonder enige aanwijzing over hun ware herkomst.
Enkele dingen die je moet controleren in je logs:
su
entries of logins vanaf vreemde plaatsen We zullen systeemloggegevens later in deze HOWTO bespreken.