• Vastliggende pagina
  • Info
  • Bijlages
Verschillen tussen versies 24 en 26 (omvat 2 versies)
Versie 24 sinds 2009-10-28 18:54:46
Grootte: 21739
Auteur: testcees
Commentaar:
Versie 26 sinds 2010-03-24 13:54:20
Grootte: 21769
Auteur: testcees
Commentaar: link naar wine
Verwijderingen worden op deze manier gemarkeerd. Toevoegingen worden op deze manier gemarkeerd.
Regel 2: Regel 2:
<<Include(documentatie_topbar)>>
Regel 93: Regel 94:
(!) Tip: Voor extra veiligheid kan de Desktop integratie in wine worden uitgeschakeld en zal het wine programma alleen toegang hebben tot de verborgen map {{{~/.wine}}}. Kijk [[community/Wine#GeenDesktopintegratie|hier]] voor meer informatie (!) Tip: Voor extra veiligheid kan de Desktop integratie in wine worden uitgeschakeld en zal het wine programma alleen toegang hebben tot de verborgen map {{{~/.wine}}}. Kijk [[community/Wine#Desktopintegratie|hier]] voor meer informatie

Beveiliging en veiligheid in Ubuntu

Inleiding

Verbonden met het internet of een lokaal netwerk, overal loopt je PC gevaar om besmet te raken met een virus of ingebroken te worden door onbevoegden. Soms komt het initiatief van de gebruiker doordat deze een geïnfecteerd bestand download en opstart, maar het initiatief kan ook door een geïnfecteerde website of een veiligheidslek in een netwerkprotocol komen.

Een infectie is niet het enige gevaar dat je als gebruiker loopt wanneer je verbonden bent met een netwerk. Ook kan een iets te nieuwsgierige medegebruiker of gewoon een ordinaire oplichter jouw PC tot doelwit hebben gekozen om je bestanden of privé gegevens te stelen.

Hoe zorg je nu dat je PC redelijkerwijs tegen deze bedreigingen beschermd is?

Er is helaas geen enkele manier om voor 100% veilig te zijn. Daarnaast zijn veiligheid en gebruikersgemak soms tegenstrijdige eisen. Een PC, die nauwelijks in- en uitgaand verkeer toestaat, is waarschijnlijk niet een systeem waar je makkelijk en lekker op kunt werken. De gebruiker moet geen gevangene in zijn eigen gevangenis worden.

Redelijkerwijs: je beschermen tegen de meest voorkomende bedreigingen zonder dat dit ten koste gaat van de efficiëntie van het systeem.

Samenvatting

Veiligheid verkrijg je niet door wat programma's te installeren en achterover te leunen. Goede beveiliging vraagt doorlopend aandacht.

Ubuntu is standaard al behoorlijk veilig. Zo is het beheer-account standaard uitgeschakeld. Beheertaken uitvoeren kan natuurlijk wel, doe dit met sudo (voor terminalprogramma´s) of gksudo (voor programma's die een grafische gebruikersinterface hebben).

Een firewall of virusscanner zijn normaal gesproken niet nodig als je Ubuntu gebruikt.

Standaard is er geen netwerkservices actief, en er zijn geen virussen bekend die in Ubuntu hun schadelijke werk kunnen doen.

Heb je een webserver of deel je bestanden met andere computers, dan kan een firewall en/of virusscanner een nuttige toevoeging zijn.

De Ubuntu pakketbronnen bevatten tienduizenden veilige software-pakketten die vrij geïnstalleerd en gebruikt kunnen worden. Bij het gebruik van software uit andere bronnen is de gebruiker zelf verantwoordelijk om te beoordelen of dit betrouwbaar is.

Basisregels

Deze regels zijn redelijk algemeen, en gelden voor bijna alle besturingssystemen. Deze simpele stappen vormen een solide basis en zijn over het algemeen makkelijk en direct uit te voeren.

  • Gebruik complexe wachtwoorden van minimaal 6 tekens. Wikipedia over wachtwoorden (NL)

  • Schrijf je wachtwoorden niet op, als dat toch moet bewaar ze dan op een veilige plek (dus niet op een post-it aan je monitor)
  • Beperk het gebruik van beheerdersrechten. (Niet zomaar inloggen of programma's opstarten als beheerder). In Ubuntu wordt gebruik gemaakt van sudo om beheeropdrachten uit te voeren.

  • Fysieke toegang. Zodra iemand bij of in je computerkast kan komen, is het mogelijk om toegang te krijgen als beheerder.
  • Installeer geen software van onbetrouwbare afkomst.
    • Voeg niet zomaar nieuwe pakketbronnen toe.
  • Voer geen commando's, code of scripts uit als je niet weet hoe betrouwbaar de bron is. Als je niet weet wat een commando precies doet, zoek dat dan uit door bijv. te zoeken op Google.
  • Hou je systeem up-to-date. Updates, en in het bijzonder veiligheidsupdates lossen veel problemen en lekken op.
  • Als je een server gebruikt, is het je eigen verantwoordelijkheid om te leren hoe je die veilig houdt.

Social Engineering

Wikipedia - Social Engineering:

Social engineering is een techniek waarbij een computerkraker een aanval op computersystemen tracht te ondernemen door de zwakste schakel in de computerbeveiliging, namelijk de mens, te kraken. De aanval is erop gericht om vertrouwelijke of geheime informatie los te krijgen, waarmee de hacker dichter bij het aan te vallen object kan komen.

Zoals al gezegd, de beveiliging begint, eindigt, valt en staat bij de gebruiker. Als je willens en wetens gebruik maakt van niet vertrouwde pakketbronnen, installatiepakketten download van niet vertrouwde websites of websites bezoekt met "aparte" inhoud, dan loop je grote kans dat je PC slachtoffer wordt van malafide praktijken.

Tegenwoordig wordt er in de nieuwste browsers en mailprogramma's (Firefox en Thunderbird bijvoorbeeld) gecontroleerd of er geen malafide/nep websites of e-mailtjes aan de gebruiker getoond worden. Helaas weten kwaadwillende mensen dit soort systemen soms te omzeilen en is dus de enige beveiliging die je hebt tegen online phishing of pharming je eigen gezonde verstand. Wanneer iets niet helemaal lijkt te kloppen, dan klopt het waarschijnlijk ook niet. Want hoewel hackers vroeger erop gericht waren om systemen te vernietigen, data te verminken of plat te leggen, is het nu de trend dat deze data gestolen meer waard is dan vernietigd. Dit is platformonafhankelijk want je bankgegevens hebben logischerwijs niets met Linux, Windows of OS X te maken. Wanneer die gegevens op straat liggen kan iemand zonder moeite bijvoorbeeld goederen bestellen met je creditcard zonder dat je daar weet van hebt.

Goed opletten en verdachte websites of e-mailtjes vermijden en eventueel zelfs rapporteren is dan de enige optie die je hebt.

Virusscanners en Firewalls

Voor de mensen die met Windows gewerkt hebben, zijn virusscanners en firewalls bekende termen. Omdat Linux anders werkt zijn deze minder belangrijk.

Virussen

Computervirussen of wormen maken gebruik van fouten of veiligheidsgaten in software. Op dit moment zijn er geen actieve virussen voor Linux bekend. Maar linuxcomputers zijn net zo goed doelwit als computers die een ander besturingssysteem gebruiken, veel grote (en dus waardevolle) internetsite's lopen op Linux dus is er geen gebrek aan motivatie om Linux te kraken.

Sommige mensen suggereren dat de Linuxgemeenschap zelfingenomen is of achterloopt als het om virussen of andere veiligheidskwesties gaat. Deze suggestie is niet waar. De ontwikkelaars van Linux hebben virussen niet genegeerd; het systeem is zodanig opgebouwd dat het goed bestand is tegen virussen en omdat de code open is zijn er letterlijk duizenden mensen die de code controleren op fouten.

Virusscanners werken in bijna alle gevallen "reactief", dat wil zeggen dat ze alleen bescherming bieden tegen virussen die al bekend zijn bij de makers van de scanner. Anti-virusprogramma's kunnen alleen bescherming bieden tegen een nieuw Linux virus NADAT dat virus gemaakt is, niet ervoor.

Werkelijke bescherming bestaat uit het repareren van de fout of veiligheidslek in de software. Deze reparaties gebeuren door middel van veiligheidsupdates (die vaker uitkomen in Ubuntu dan in Windows).

Het is moeilijk om een virus te installeren op een Linux computer, maar het is zeker niet onmogelijk. Het grootste gevaar zit in onbetrouwbare pakketbronnen en onveilige code die een (onwetende) beheerder uitvoert.

Redenen om geen virusscanner te gebruiken zijn:

  1. Een virusscanner zoekt naar virussen voor het Windows besturingssysteem.
  2. Virusscanners geven regelmatig een valse melding.
  3. Het isoleren of onschadelijk maken van de virus werkt slecht.
  4. Er zijn op dit moment geen actieve Linux virusen!

Redenen om toch een virusscanner te gebruiken zijn:

  1. Het betreft een server voor Windows computers (dit maakt het gebruik van een virusscanner op de Windows computer echter niet overbodig).
  2. Om bestanden te scannen voordat deze op een Windows computer worden geplaatst bijvoorbeeld via e-mail, een USB stick enz.

Het is niet per definitie onveilig om geen virusscanner te gebruiken als je Ubuntu draait op je computer. Waarom?

  1. Onder Linux wordt de uitvoerbaarheid van een bestand niet bepaald door een extensie (bijvoorbeeld .exe) maar door rechten die op dit bestand zitten. Elk nieuw aangemaakt bestand is onder Linux niet uitvoerbaar en de gebruiker zal zelf eerst actie moeten ondernemen om het aangemaakte bestand uitvoerbaar te maken.
  2. Onder Linux heeft een normale gebruiker maar zeer beperkte rechten. Zo kan een normale gebruiker geen essentiële systeemopdrachten uitvoeren en is de werkomgeving van deze gebruiker eigenlijk beperkt tot zijn eigen home map.

In de Ubuntu pakketbronnen is de ClamAV virusscanners voor Ubuntu beschikbaar.

Wine

Met behulp van het (optionele) pakket wine zijn programma's te gebruiken die voor Windows zijn gemaakt. Het is niet ondenkbaar dat ook ongewenste software, zoals een virus, ook door wine uitgevoerd kan worden.

Het is daarom van absoluut belang dat wine NOOIT met beheerrechten (sudo wine) wordt gestart. Bij normaal gebruik van wine zal de linux bestandsbeveiliging actief blijven en heeft het wine programma geen schrijfrechten buiten de Persoonlijke map van de gebruiker. Eventuele schade zal hierdoor worden beperkt tot de Persoonlijke map(pen).

Info (!) Tip: Voor extra veiligheid kan de Desktop integratie in wine worden uitgeschakeld en zal het wine programma alleen toegang hebben tot de verborgen map ~/.wine. Kijk hier voor meer informatie

Firewall

Een firewall is een extra laag in de beveiliging om ongewenst netwerkverkeer tegen te houden en eventueel misbruik als gevolg van een foute instelling te voorkomen. Een ander doel kan zijn dat de netwerkbeheerder bepaalde services onbereikbaar maakt voor de gebruikers. Het is bijvoorbeeld mogelijk dat gebruikers geen mogelijkheid mogen hebben om de website www.voorbeeld.nl te bekijken of om gebruik te maken van peer-to-peer (p2p) programma's.

Standaard wordt Ubuntu geleverd met een firewall, iptables, maar deze is standaard niet ingesteld. Dit is logisch want op een standaard Ubuntu installatie zijn geen netwerk services te bekennen. Een firewall is dus overbodig.

Als je bijvoorbeeld een FTP server installeert en deze als service op de achtergrond laat draaien en op bijvoorbeeld netwerkpoort 21 laat luisteren, dan zal deze poort niet gesloten zijn. Zonder dat je iptables configureert, zal iedereen verbonden met hetzelfde netwerk als jij, mogelijk ook iedereen op het internet als je verbonden bent met het internet, deze service kunnen gebruiken.

Het probleem van iptables is dat het niet gebruiksvriendelijk is voor nieuwe of onervaren gebruikers. Gelukkig zijn er meerdere hulpmiddelen beschikbaar om de firewall in te stellen.

Firestarter en ufw zijn de populairste grafische programma's hiervoor. Voor ufw is ook een grafische interface beschikbaar: Gufw.

Guarddog is een alternatief voor KDE gebruikers.

Informatie over iptables:

Andere veiligheidsmaatregelen

Rechten en encryptie (versleuteling)

De eerste laag van de beveiliging bestaat uit toegangsrechten. Deze rechten (permissions in het Engels) worden gebruikt om aan te geven tot welke bestanden een gebruiker toegang heeft. Hiermee worden zowel systeembestanden als gebruikersbestanden beschermd.

Basis bestandsrechten:

Encryptie is een extra laag in de beveiliging. De gegevens worden versleuteld opgeslagen en zijn waardeloos zonder de sleutel. Het biedt goede bescherming tegen verlies of diefstal van gegevendragers. Let wel op dat wanneer een versleutelde partitie gemount (aangekoppeld) is, is deze toegankelijk is net als ieder andere partitie.

Vanaf Ubuntu versie 8.10 (Intrepid Ibex) is er de mogelijkheid om iedere gebruiker een eigen persoonlijke versleutelde map te geven met de naam 'Private'. Kijk hier voor meer informatie over een 'Private' map. Ubuntu gebruikt eCryptfs voor deze versleuteling.

Vanaf Ubuntu versie 9.10 (Karmic Koala) kan in de installatieprocedure worden aangegeven dat de hele map met persoonlijke gegevens met eCryptfs versleuteld opgeslagen moet worden.

Rootkits

Een rootkit is een set softwaretools die vaak worden gebruikt door een derde partij (meestal een hacker) na toegang te hebben verkregen tot een computersysteem. De rootkit nestelt zich diep in het besturingssysteem, zodat het mogelijk is dat het besturingssysteem instabiel wordt. De rootkit is bijna niet te verwijderen zonder de functie van het besturingssysteem te beschadigen. Zie ook Wikipedia

Detecteren van een rootkit

chkrootkit

rkhunter

Beide pakketten zijn beschikbaar in de Ubuntu pakketbronnen. Wanneer geen rootkit wordt gevonden, betekent dit niet dat je PC veilig is. Je zou er nog aanvullende tests voor moeten doen om dit zeker te weten. Houdt er dus rekening mee dat het resultaat uit de scanner geen garantie is.

Inbraakdetectie

Met de volgende programma's kan je controleren op gebeurtenissen die de betrouwbaarheid, integriteit en beschikbaarheid van je computer kunnen beïnvloeden. Dit kunnen onder anderen aanvallen van hackers zijn. Deze programma's voorkomen niet dat iemand in kan breken. Als een mogelijke aanval gesignaleerd wordt, wordt dat vastgelegd in de logbestanden.

De Ubuntu pakketbronnen bevat hiervoor het pakket Snort.

NB: Door het toevoegen van programma's zoals Snort die het netwerkverkeer analyseren op patronen die kenmerkend zijn voor aanvallen, is het mogelijk dat er extra kwetsbaarheden ontstaan. Er zijn gevallen bekend dat aanvallers via een lek in Snort toegang gekregen hebben tot een systeem.

Veilige servers

Onderdeel van het installeren van een server is leren hoe je de server beveiligt. Veel voorkomende servers zijn o.a. NFS, Samba, FTP, SSH, VNC, RDP en HTTP (webserver).

NB: Een desktop of thuiscomputer die gebruikt wordt om bestanden te delen (via internet) of als (internet) webserver ingezet wordt moet ook als een server beschouwd worden!

Vragen die je je vantevoren moet stellen:

  1. Welke poorten worden geopend door de applicatie?
  2. Welke services worden er aangeboden?
  3. Wie is er in staat om verbinding te maken? (beveiliging op IP adressen, via een wachtwoord, certificaat of sleutel)
  4. Welke rechten krijgt iemand die verbinding maakt met een service? (draait de server onder een gelimiteerd gebruikersaccount? Wat kan de gelimiteerde gebruiker aan schade toebrengen in het ergste geval?)
  5. Geeft de service extra informatie aan een mogelijke hacker? (worden wachtwoorden onversleuteld verzonden? Is er toegang tot gegevens over gebruikers, ip adressen, netwerkinstellingen en andere interessante informatie?)
  6. Wat is de geschiedenis of reputatie van het programma? Zijn er veel kwetsbaarheden gevonden in het verleden? Zijn er veel veiligheidsupdates geweest?

Voorbeelden:

SSH

VNC

Apache

"Hardened" kernels en Apparmor

Hardened kernels zijn kernels met een aantal aanpassingen voor meer beveiligingsmogelijkheden. Een aantal mogelijkheden:

  1. Willekeurige toewijzing van poorten, geheugenlocaties, process ID's en andere informatie die makkelijk te voorspellen is. Hiermee worden veel voorkomende aanvallen afgeweerd.
  2. Identificeren van en voorkomen dat buffer overflow-aanvallen het systeem kunnen compromitteren. http://nl.wikipedia.org/wiki/Bufferoverloop

  3. Verbergen van informatie die normaal gesproken door iedereen te bekijken is, zoals alle lopende programma's, systeembelasting, informatie over de CPU, IP adressen, etc.
  4. Extra grenzen stellen aan wat normale gebruikers mogen.
  5. Extra mogelijkheden op het gebied van toegangs- en bestandsrechten.

Deze technieken gecombineerd leveren een effectieve bescherming op tegen nog onbekende aanvallen. In veel gevallen is de computer niet kwetsbaar, of is het effect van de aanval veel kleiner.

Een veel voorkomende patch om de kernel hardened te maken is "grsecurity2" http://grsecurity.org/ . Deze doet alles wat op deze lijst staat. Het is dan wel noodzakelijk om zelf de kernel te patchen en compileren.

Door nauwkeuriger te bepalen wat de rechten van verschillende gebruikers en services moeten zijn is het mogelijk dat een succesvolle aanval op één service niet genoeg is om schade te doen aan de rest van het systeem. SELinux en AppArmor zorgen voor de extra mogelijkheden qua rechten. AppArmor is beschikbaar in alle recente versies van Ubuntu.

Nederlandse handleiding voor AppArmor

Het nadeel van deze aanpassingen aan het systeem is dat ze veel meer aandacht en werk vereisen van de beheerder. Proefondervindelijk zal de balans gevonden moeten worden tussen functionaliteit en veiligheid. Door te strenge veiligheidsregels zullen verschillende programma's niet meer werken, en te zwakke veiligheidsregels leveren een minder veilig systeem op.

Logboekbestanden

Het is belangrijk om te weten hoe je de logboeken van je systeem kan lezen, en dat je weet wat er in staat bij een normaal werkend systeem. Als je moet kennismaken met de logbestanden van je systeem als je een probleem vermoedt, dan is dat te laat.

NB: Iemand met root rechten kan logbestanden aanpassen. Om deze aanpassingen beter te kunnen herkennen, is het belangrijk om te weten wat normaal gedrag is.

https://help.ubuntu.com/community/LinuxLogFiles (Engelstalig)

Er is een pakket genaamd "logwatch". Dit pakket stuurt iedere nacht de wijzigingen in de logbestanden per mail aan de beheerder.

Help, ik ben gehackt!

Wat te doen als je denkt dat je systeem gehackt is:

  1. Schakel de computer uit.
  2. Verbreek de internetverbinding.
  3. Start op van een live cd en maak een image van de harde schijf. (Om later te analyseren)
  4. Installeer je systeem opnieuw. Helaas is een gecompromitteerd systeem niet meer te vertrouwen.
  5. Installeer het nieuwe systeem zonder internetverbinding, gebruik een sterker wachtwoord, en doe research om herhaling te voorkomen.

Overige programma's

Deze programma's zijn te vinden in de pakketbronnen van Ubuntu.

Nagios

Nagios is een populair open source computersysteem en netwerksurveillance-applicatie. Het houdt servers en services in de gaten die je specificeert en stuurt berichten als er dingen stuk gaan en wanneer services of servers die stuk waren weer beter worden.

Zie http://www.nagios.org/about/

ZenOSS

ntop

Geeft het netwerkgebruik weer, op dezelfde manier als het commando top doet voor programma's

darkstat

Een packetsniffer die draait op kabel/dsl routers. Verzamelt gegevens over het netwerkverkeer. Zie http://dmr.ath.cx/net/darkstat/

Referenties en meer leesvoer

Waarschuwing: Dit artikel is bedoeld om een overzicht te geven van de beveiliging en veiligheid van Ubuntu. Het is geen allesomvattende handleiding waarin alle aspecten van de beveiligingsmaatregelen worden besproken.


CategoryVeiligheid

community/VeiligheidInUbuntu (laatst bewerkt op 2015-11-11 18:31:10 door testcees)