Bastille-Linux

ArticleCategory:

System Administration

AuthorImage:

[Foto van de Auteur]

TranslationInfo:

original in en Frédéric Raynal

fr to en Georges Tarbouriech

en to nl Tom Uijldert

AboutTheAuthor:

Frédéric Raynal is bezig aan een scriptie over het tatoeëren met computerplaatjes bij het INRIA (Institut National de Recherche en Informatique et Automatique). Hij werkt ook mee aan de ontwikkeling van Bastille-Linux.

Abstract:

Bastille-Linux versie 1.1, begin Juni uitgebracht, is geen nieuwe Linux distributie maar een verzameling scripts die erop is gericht je systeem beter te beveiligen. De benadering van de auteur is zeer leerzaam en we kunnen dan ook een hoop te weten komen door deze scripts te installeren.

ArticleIllustration:

[Illustratie]

ArticleBody:

Inleiding

Op het gebied van beveiliging is Linux beter dan andere operating systemen. Desalniettemin verschilt iedere distributie van Linux op dit punt. Bastille-Linux geeft je de mogelijkheid je systeem te beveiligen. Het is van origine gemaakt voor RedHat maar de nieuwste versie werkt ook met andere distributies.

Het project wordt geleid door Jon Lasser (coördinator) en Jay Beale (ontwikkelaar). Een heel scala aan verdere ontwikkelaars, software ontwerpers en bèta-testers is bij dit project betrokken.

Laat om te beginnen één ding duidelijk zijn: Bastille-Linux is geen nieuwe Linux distributie! Het is een verzameling scripts, geschreven in Perl, met het doel Linux beter te beveiligen.

Met beveiliging bedoelen we hier computer beveiliging: hoe voorkom ik dat allerlei sujetten inbreken op mijn machine? Bastille-Linux geeft je een deel van het antwoord door middel van het wijzigen van de installatie van je Linux distributie.

Een primaire taak van de systeembeheerder is om de behoeften van je gebruikers te kennen. Niet alleen om ze die faciliteiten te kunnen bieden maar ook om de ongebruikte faciliteiten af te kunnen sluiten, om zo bijvoorbeeld netwerk beveiligingslekken te voorkomen. Een mentor van mij had de volgende filosofie: hoe minder je doet, des te beter :-] Uiteraard had hij het over de complexiteit van algoritmen maar dit geldt ook voor netwerkbeheer. Een overvloed aan faciliteiten maakt een systeem kwetsbaar doordat er meer mogelijkheden zijn voor inbraak. Om de kwetsbaarheid te verminderen moet je alleen datgene installeren wat je nodig hebt.

Bastille-Linux probeert het inbraakrisico te verkleinen. Hiertoe hebben de ontwerpers een zeer leerzame benadering bedacht: ze leggen stap voor stap uit wat je hiervoor moet doen.

Presentatie

Ten tijde van het schrijven van dit artikel is Bastille-Linux versie 1.1.0 uitgekomen (eerste helft van Juni).

Nog afgezien van de bruikbaarheid van dit pakket is het ook nog eens erg leerzaam. De scripts stellen gedetailleerde en relevante vragen. De ontwikkelaars proberen hier de gebruiker "op te voeden". Ze geven uitleg bij het waarom van de vragen en de mogelijke antwoorden. Hierdoor wordt Bastille-Linux een zeer gebruiksvriendelijk hulpmiddel.

Voor de wat meer ervaren gebruiker is de broncode, in Perl geschreven, een voorbeeld van duidelijkheid (Jazeker, dat is mogelijk ;-) : het commentaar geeft precies aan hoe alles in zijn werk gaat.

Hieronder een aantal kenmerken van versie 1.1.0:

Bastille-Linux heeft verschillende modules. Laten we zeggen 4 algemene modules en verder nog modules voor speciale doeleinden (voor programma's als sendmail, FTP... of zoals boot en andere ongebruikte achtergrondprogramma's).

De algemene modules worden gebruikt voor:

  1. Installatie van firewalls
  2. Bijwerken van systeemprogramma's
  3. Audit programma's en SUID
  4. Uitschakelen en beperken van ongebruikte faciliteiten.
De andere modules werken op zeer bepaalde onderdelen. Sommige zijn speciaal bedoeld voor het afdichten van slecht geconfigureerde pakketten die beveiligingslekken hebben (sendmail of FTP bijvoorbeeld). Anderen veranderen de configuratie van een aantal faciliteiten zodanig dat ze wat restrictiever zijn (PAM, syslog...).

Sommige beveiligingsfuncties heeft men uitgebreid en bieden nu meerdere beveiligingsniveaus (da's tegen de principes van mijn mentor maar je moet toch een keer emanciperen :-) Je moet iedere faciliteit en ieder potentieel beveiligingslek zo veel mogelijk afdichten. Als een beveiliging dan faalt dan is er wellicht nog een andere die het systeem blijft beveiligen.


Installatie

Eerdere versies van Bastille-Linux werkten alleen op nieuwe installaties. Dat is niet meer zo. Hier moeten we echter aan toevoegen dat de dingen die Bastille doet op een reeds gebruikt systeem bijna waardeloos zijn. Het is dus aan te raden, vanwege de beveiliging, om Bastille-Linux op een net geïnstalleerd systeem te gebruiken. Je bent gewaarschuwd. Laten we dan nu serieus aan de slag gaan: de installatie!

Bastille-Linux is verpakt in .tgz formaat, te verkrijgen bij bastille-linux.sourceforge.net. Dit archief is slechts 134 Kb. Zodra je het hebt opgehaald kun je het uitpakken ($ tar xzf Bastille-1.1.0.tgz).

Vier scripts besturen Bastille-Linux:

Om te installeren moet je gebruiker root zijn omdat de scripts configuratiebestanden wijzigen. Voer allereerst het script InteractiveBastille.pl uit. Beantwoord vervolgens de vragen die je krijgt voorgeschoteld (zie verderop voor meer informatie). Voer als laatste BackEnd.pl uit en klaar is kees! In root/Bastille/undo kun je de veranderingen bekijken.

Nog wat opmerkingen voor je begint.

  1. Je moet de scripts vanuit de directory /root/Bastille uitvoeren ... dit zal in latere versies worden veranderd, waarna je het vanuit elke directory uit kunt voeren (wellicht is dat al zo tegen de tijd dat je dit leest).
  2. Twee modules geven je de gelegenheid nieuwe gebruikers aan te maken ... zodra je shadow passwords op je systeem hebt geïnstalleerd. Dit is de standaard installatie. Maar controleer voor de zekerheid of het bestand /etc/passwd inderdaad geen wachtwoorden bevat, dat het bestand /etc/shadow alleen toegankelijk is voor gebruiker root en dat hierin inderdaad alle wachtwoorden staan!
  3. Bastille-Linux kan nog niet goed omgaan met verbanden tussen modules, zoals de kernel configuratie dit wel kan (hieraan wordt gewerkt voor een latere versie). Kijk dus uit met de antwoorden die je geeft en denk na over de gevolgen. Je kunt bijvoorbeeld de module IPChains poort 2049 laten sluiten en NFS actief laten in de configuratie van MiscellaneousDaemons. NFS maakt echter gebruik van diezelfde poort.

Stap voor stap

Laten we de vragen die Bastille-Linux stelt eens onder de loep nemen om wat meer begrip te kweken. De letter tussen spekhaken ([]) geeft aan wat het standaard antwoord is als geen antwoord wordt gegeven (N->No, Y->Yes).

IPChains

Deze module configureert een firewall. Ook al is deze module niet absoluut noodzakelijk voor de beveiliging, je kunt er dan altijd nog het IP-verkeer van en naar de machine mee in de gaten houden. Dit is niet voldoende. Je moet ook nog de daemons herconfigureren (de verschillende beveiligingsniveaus hebben hun nut).

Het script zit doordacht in elkaar. Het houdt rekening met 2 netwerkkoppelingen: één die met de buitenwereld praat en een ander die contact onderhoud met het lokale netwerk. Het doel hier is om vast te stellen welke netwerkfaciliteiten beschikbaar moeten zijn en de rest af te sluiten. Standaard wordt alle toegang vanuit de buitenwereld afgesloten. Vervolgens maakt het script regels aan om bepaalde faciliteiten wel beschikbaar te stellen. Maar alleen expliciet aangegeven faciliteiten.

Het script doet de instellingen voor de protocollen TCP, UDP en ICMP. Het geeft een overzicht van faciliteiten die je in de gaten moet houden of af moet sluiten voor ieder protocol. Het gaat te ver om hier de benadering van Bastille-Linux met betrekking tot het installeren van een firewall te bespreken maar je kunt een hoop opsteken uit het lezen van het script en bijbehorend commentaar. Om dit script te kunnen gebruiken is een minimale hoeveelheid kennis vereist.

PatchDownload

Updates (verbeteringen of aanpassingen) zijn belangrijk om de integriteit van je systeem te blijven waarborgen. De laatste maanden is het bijvoorbeeld duidelijk geworden dat programma's als bind en piranha problemen geven met de beveiliging. Ze waren snel verholpen: door de vrij te verkrijgen broncode hebben sommigen meteen verbeteringen aangebracht.

Helaas werkt dit script niet zo goed. Het is nogal complex omdat je vast moet stellen welke pakketten er geïnstalleerd zijn en welke daarvan aangepast moeten worden. Vervolgens moet je de aanpassing van het Net halen en controleren of het niet is veranderd (hetzij door hackers, hetzij door het versturen zelf) voordat je het gaat installeren. Dit alles hangt af van de distributie die je hebt.

Momenteel beveelt Jay Beale aan deze stap handmatig uit te voeren en zeker niet te negeren. Een wat bruikbaarder versie van deze module wordt nu ontwikkeld en zou binnenkort uit moeten komen.

FilePermissions

Deze module is gebaseerd op een artikel van de SANS-groep. Doel is om vast te stellen welke programma's alleen door gebruiker root gebruikt mogen worden (of door een lid van de groep root), welke een SUID-bit nodig hebben, enz.

AccountSecurity

Inbraakpogingen beginnen meestal met het kraken van een account van een systeemgebruiker. Een paar eenvoudige aanpassingen maakt dit moeilijker en geven de mogelijkheid inbraken te detecteren.

BootSecurity

Het gaat hier om de fysieke beveiliging van de machine. Dit om beveiligingslekken van eerdere versies tegen te gaan. Eenieder met fysieke toegang tot de console van de machine kon alle toegangsrechten verkrijgen (als root dus). Door LILO in single mode uit te voeren (LILO: linux single) kon men een gloednieuwe shell verkrijgen als gebruiker root ;-P

Dit is uiteraard niet voldoende. Voor fysieke beveiliging moet ook de BIOS met een wachtwoord beveiligd zijn, de harde schijf mag het enige apparaat zijn waarvan je op kunt starten en de doos moet worden afgesloten om te voorkomen dat iemand er zijn eigen schijf bij kan zetten... Dit is natuurlijk licht paranoïde en dit hoef je niet te doen zonder zeer gegronde redenen.
Er zijn software-matige alternatieven die een goed compromis vormen vergeleken met het bovenstaande:

SecureInetd

Doel van deze module is om overbodige faciliteiten af te sluiten of te beperken. Hackers zijn tamelijk bedreven in het vinden van beveiligingslekken in ieder geautoriseerd programma dus je moet zowel het programma als zijn rechten beperken.

Een foutje in de DNS van RedHat 6.0 bijvoorbeeld zorgt ervoor dat je root kunt worden vanaf een andere machine. De faciliteit afsluiten of beperken in zijn rechten vrijwaart je van dit soort ongemakken.

Een aantal protocollen, zoals de hiervoor genoemde r-protocols, maar ook ftp of telnet zijn behoorlijk gevoelig voor dit soort dingen. Andere faciliteiten staan het toe informatie op te vragen (finger en inetd bijvoorbeeld) over de machine, de gebruikers erop enz... Veel van deze faciliteiten staan onder besturing van tcp_wrapper, die bepaalt wie er wel en geen toegang heeft tot deze faciliteiten (via de bestanden /etc/hosts.{allow deny}). Pas wanneer deze heeft bepaald dat iemand toegang heeft tot de faciliteit, wordt het verzoek doorgespeeld aan het betreffende programma.

Dit gedeelte is nog wat rechttoe rechtaan maar zal verbeteren in volgende versies.

Voordat we verder gaan nog even de opmerking dat het netwerk uitgaat van een client- server model. Je moet dus weten of je de client of de server bent voor iedere faciliteit. Het stoppen van de web server bijvoorbeeld betekent niet dat je het web niet meer op kan. Je bladerprogramma is een client.

DisableUserTools

Deze kleine module is van primair belang voor een server. Meestal zal een hacker verbinding leggen met een systeem als een normale gebruiker. Vervolgens zal hij een aantal programma's opnieuw compileren om van zwakke plekken in het systeem te kunnen profiteren. Deze module sluit de C-compiler af voor gebruik, behalve voor root.

Nog een schepje erbovenop is om de compiler in zijn geheel te verwijderen. Dit kan je doen als de machine niet wordt gebruikt voor compilaties.

ConfigureMiscPAM

Doel van deze module is het risico van DOS-aanvallen (Denial Of Service) te verminderen. Dergelijke aanvallen maken de machine onbruikbaar door hem te overbelasten (door bijvoorbeeld de schijf vol te schrijven met core bestanden, "ping of death" enz.).

PAM is de afkorting voor "Pluggable Authentication Module". Dit is een bibliotheek die de systeembeheerder in staat stelt groepen gebruikers te selecteren voor het gebruik van iedere faciliteit met daarbij behorende toegangsrechten, de hulpmiddelen die ze daarbij mogen gebruiken, enzovoorts.

Logging

syslog is het belangrijkste hulpmiddel om uit te vinden of er wordt ingebroken. Dit achtergrondproces houdt bij wat er gebeurd op het systeem en legt dit vast. Je kunt hier instellen hoeveel informatie hij vastlegt.

Het is opvallend hoe snel je een probleem detecteert via de /var/log-bestanden als je weinig faciliteiten hebt draaien. Als je daarentegen veel -nutteloze- faciliteiten hebt draaien worden de bestanden in /var/log heel snel heel groot en dus navenant moeilijker te overzien (je hebt dan scripts-op-maat nodig om één en ander te bekijken).

Deze module voegt additionele controles toe aan het bestand /etc/syslog.conf.

MiscellaneousDaemons

Met nog steeds de minimalisering in gedachte zal deze module alleen dié faciliteiten opstarten die je echt nodig hebt. Standaard is bijna iedere faciliteit nutteloos en dus gedeactiveerd. Je kunt een faciliteit weer activeren middels het chkconfig commando.
Faciliteit Beschrijving
apmd Voor het beheer van batterijen van laptops
NFS en Samba Voor het delen van schijfruimte ... Hoewel zeer nuttig in heterogene netwerken vormen ze ook een groot beveiligingsrisico
atd Alles wat atd kan kan cron ook
PCMCIA faciliteiten Voor als je PCMCIA apparaten hebt. Normaal op laptops maar zeldzaam op werkstations
dhcpd Server voor het verstrekken van tijdelijke IP-adressen. Een dergelijke faciliteit wordt meestal door ISP's "geboden" of in een lokaal netwerk.
gpm Bestuurt de muis in console mode (tekst invoer). Nutteloze faciliteit, of je moet erg veel in console mode doen.
news server Slechts weinigen hebben dit op hun machine nodig ... dit is de taak van een ISP.
routed Idem als voor de news server, het is iets voor de ISP. Het heeft te maken met DNS.
NIS Zeer nuttig op een lokaal netwerk ... maar een bron van beveiligingsproblemen!
snmpd Server voor netwerkbeheer (statistiek, beheer, gebruikers, ....)
sendmail Dit hoeft niet als achtergrondproces te draaien om mail te kunnen uitwisselen. Als je verder je email van een ISP krijgt via POP of IMAP dan is sendmail overbodig en bovendien een groot beveiligingsrisico...

Sendmail

Zoals reeds eerder vermeld is sendmail een faciliteit voor het afhandelen van email. Het verleden van dit programma is bezaaid met beveiligingsproblemen doordat het als mailserver vele taken moet verrichten met de daarbij behorende extra rechten (namen vinden, syslog informatie enz.). Afgezien van deze zwakheden stelt sendmail je in staat informatie op te vragen over een specifieke gebruiker op een bepaalde machine. De commando's EXPN en VRFY bijvoorbeeld vertellen iemand welke gebruikers op een systeem bestaan.

Zoals gezegd hoeft sendmail niet als achtergrondproces te draaien om email te kunnen versturen of ontvangen. Voor thuisgebruikers is het waarschijnlijk nutteloos omdat je een willekeurige mail client kunt gebruiken (netscape, rmail, pine, mutt enz.) voor het versturen van je mail. Voor het ontvangen van je email kun je regelmatig sendmail opstarten om je postbus leeg te halen.

RemoteAccess

Het is vaak handig om verbinding te kunnen leggen met een andere machine. We hebben ook gezien dat de r-commando's dit mogelijk maken op een onveilige manier. Bastille-Linux beveelt aan om ssh op te halen. Deze software versleutelt de data (en daarmee ook de wachtwoorden) die over de lijn gaat.

Je kunt software gebruiken waarvan de sessie sleutel beperkt is tot maximaal 128 bit. Eerst even uitleg over de sessie sleutel. Dit is de sleutel die wordt gebruikt voor het coderen van de data. Hij wordt stap voor stap opgebouwd door de client en de server door een sleutel uitwisselingsprotocol te gebruiken (meestal Diffie-Hellman). Er wordt een sleutel opgebouwd met behulp van gedeelten van de sleutels van iedere deelnemer aan de verbinding. Vervolgens wordt de opgebouwde sleutel gebruikt voor het coderen van de data volgens een symmetrisch algoritme (wat wil zeggen dat dezelfde sleutel wordt gebruikt voor het coderen en voor het weer decoderen van de data). DES bijvoorbeeld, veelal gebruikt voor het coderen van Unix wachtwoorden, is een voorbeeld van zo'n symmetrisch algoritme met een sleutel van 56 bit.

Is 128 bit echter genoeg voor het beschermen en beveiligen van de data? Jazeker! Ook al heeft DES tegenwoordig het stempel "niet al te veilig", voor een beetje serieuze aanval op het algoritme heeft de doorsnee gebruiker niet genoeg rekenkracht tot zijn beschikking. Het is echter een misvatting om te denken dat een twee keer zo lange sleutel ook twee keer zo moeilijk is om te kraken. De moeilijkheidsgraad groeit exponentieel met de lengte. Voor een sleutel met lengte k, zijn er 2^k mogelijke sleutelwaarden (en dus 2^2k mogelijkheden voor een sleutel met lengte 2k). Dus, vermenigvuldiging van de sleutelgrootte met 2, geeft extra mogelijkheden! Als je de moeite bekijkt die je moet doen om DES te kraken (56bit), dan kun je verwachten dat 128 bit welhaast onkraakbaar is (zolang het algoritme om te coderen tenminste geen zwakke plekken bevat). Vanuit de kraker gezien verschuift de moeilijkheidsgraad alleen maar van "onmogelijk" naar "nog onmogelijker".

Vier pakketten bieden gelijksoortige mogelijkheden:

Ook de volgende modules zijn faciliteiten. De aanpak zal wellicht verrassend zijn: om te beginnen beperken we de rechten van deze programma's, om ze vervolgens af te sluiten. Ook al lijkt het tegenstrijdig, dat is niet zo. Ze kunnen namelijk opnieuw op worden gestart. Hetzij per ongeluk, hetzij door verdachte gebruikers... het is dan beter om op voorhan de rechten van deze programma's te beperken.

DNS

DNS (Domain Name Server) legt het verband tussen een IP-adres en een machine (en omgekeerd). Het adres 198.186.203.36 bijvoorbeeld, is het adres van www.bastille-linux.org. De primaire functie van deze server is BIND. Recentelijk is er een DOS-achtige (Denial Of Service) aanval uitgevonden die gebruik maakt van BIND. Je kunt dit tegen gaan door DNS toegang te geven tot een beperkt aantal directories (je kunt de root directory veranderen -normaal gesproken is dat "/" - met het commando chroot, voordat je het commando uitvoert).

Laten we eerst nog wat technische details bekijken voordat we doorgaan met uitleg over het gedrag van Bastille-Linux. Het achtergrondproces die dit alles regelt heet named. Hij wordt geconfigureerd via het bestand /etc/named.conf.

Apache

Apache is de meest gebruikte web server op het Internet. Deze is alleen bruikbaar in twee gevallen:
  1. Om zelf een site te hebben: hiervoor heb je een publiek IP-adres nodig. ISP's hebben hier meestal de beschikking over maar dat geldt niet voor hun abonnees.
  2. Om je eigen web-pagina's te bekijken/controleren: in dat geval kun je gewoon de server opstarten ($ /etc/rc.d/init.d/httpd start) wanneer je 'm nodig hebt.
Het configuratiebestand hiervoor staat in /etc/httpd/conf. Een web server kan, net als iedere andere server, een uitnodiging betekenen voor eenieder om eens op je machine langs te komen, ook diegene die kwaad in de zin hebben. Zoals bijvoorbeeld bij een bank, waar de namen van de klanten te lezen zijn (wellicht ook hun wachtwoorden)... ga maar eens naar www.kitetoa.com, de moeite waard :-) (noot van vertaler: Helaas alleen in het Frans).

Printing

Slechts één vraag, zul je vanaf deze machine afdrukken? Als het antwoord ontkennend is dan wordt het achtergrondproces lpd afgesloten en het SUID-bit ervan verwijderd (voor zowel lpd alsook lprm).

FTP

Vanuit beveiligingsoogpunt kan FTP een bron van problemen zijn. Wanneer bijvoorbeeld een verbinding wordt gelegd worden wachtwoorden in leesbaar formaat uitgewisseld. Hetzelfde geldt voor de data die over de lijn gaat, wat problematisch is als het vertrouwelijke gegevens zijn (financiële of medische gegevens...).

Recentelijk heeft men tevens lekken gevonden in de beveiliging van wu-ftpd. Als je deze server moet gebruiken, geeft Bastille-Linux je de mogelijkheid om de rechten hiervan te beperken.

Het bestand dat de toegang voor FTP regelt is /etc/ftpaccess

Nog wat raadgevingen

Zoals reeds gezegd is Bastille-Linux een zeer leerzaam hulpmiddel. De gestelde vragen en het commentaar zijn educatief. Als het geheel je niet duidelijk is dan zijn er vele verwijzingen naar materiaal waarmee je het juiste antwoord kan vinden. De beste mogelijkheid om iets te weten te komen is door de betreffende faciliteit daadwerkelijk te gebruiken.

Om dat te doen maak je eerst een reservekopie van het bestand met de vragen. Verander vervolgens het bestand Questions.txt. Iedere module begint met het woord FILE...hou alleen datgene wat je nodig hebt.

/root/Bastille >> cp Questions.txt Questions.txt-orig
/root/Bastille >> emacs Questions.txt BackEnd.pl &
/root/Bastille >> ../InteractiveBastille
Uiteraard zijn de maatregelen die je met Bastille-Linux treft niet voldoende voor het beveiligen van je systeem:
  1. Geen enkel systeem is 100% veilig.
  2. Er zijn nog meer maatregelen nodig om het werk van Bastille-Linux af te ronden.
Maatregelen waaraan je kunt denken zijn log file analyzers, poortaftasters (portsentry, snort, snplog enz.), de inzet van de www.openwall.com kernel patch (met een stack die je niet kunt uitvoeren, beperking van de rechten op /tmp en /proc, enz.).

Het is een lange en moeilijke weg om systemen te beveiligen. Je moet op de hoogte blijven van de laatste beveiligingslekken (zoals bijvoorbeeld via een mailing list als bugtraq van de site securityfocus).

Afsluiting

Bastille-Linux helpt bij het beveiligen van een welbekende distributie. Een vraag die zich daarbij opdringt: "waarom deze dan gebruiken?". Uiteraard heeft RedHat (of Mandrake - ze lijken veel op elkaar) een aantal leuke mogelijkheden. Dit artikel heeft niet tot doel een distributie af te kraken of op te hemelen. Eén van de geneugten van vrije software is tenslotte de keuzevrijheid. Dit artikel heeft meerdere doeleinden. Allereerst om te laten zien waar een systeembeheerder allemaal rekening mee moet houden in zijn permanente strijd tegen individuen die graag voor de kick zijn netwerk slopen. Tevens stelt dit hulpmiddel je in staat om eens goed onder de motorkap van Linux te kijken. Als zodanig is het een uitstekende introductie voor nieuwelingen, maar zeker ook voor de meer ervaren gebruikers.

Het geheel is gebaseerd op twee basisconcepten, te weten minimaliseren en diepte. Minder faciliteiten die draaien betekent minder beveiligingsrisico. Meerdere beveiligingsmechanismen voor al deze faciliteiten zijn beter dan één mechanisme... maar deze medaille heeft ook een andere kant. Een slecht geconfigureerde beveiliging kan zich namelijk tegen je keren.

Referenties

mirror server hosted at Truenetwork, Russian Federation.