Linux Systeembeheer/Beveiliging
Leerdoelen
[bewerken]- Werkwijze van computer-inbraken kennen en begrijpen
- Stappen: verkenning (passief/actief), exploits toepassen (toegang verkrijgen, privileges verhogen, spoofing, buffer overflow attack, Denial of Service), toegang behouden (trojans, backdoors, rootkits), sporen uitwissen
- De werking van volgende tools gebruikt bij aanvallen op computersystemen begrijpen en ze kunnen gebruiken: dig, nmap, ping, traceroute/tracepath/..., whois, wireshark
- De volgende tools kennen die gebruikt worden bij aanvallen op computersystemen: kismet, nessus
- Weten hoe een systeembeheerder zich kan beschermen tegen technieken gebruikt door inbrekers
- Principes: laagst mogelijke privileges, zo weinig mogelijk software draaien, default deny, encryptie (SSL), goede wachtwoorden kiezen,
- Logbestanden kennen, weten hoe je ze kan gebruiken: /var/log/messages, logs voor logins
- Soorten beveiligingstools kennen: vulnerability scanners (vb. Nessus), Intrusion Detection Systems (vb. tripwire, snort), Intrusion Prevention Systems
- Beveiligingsvoorzieningen in Fedora en CentOS kennen en kunnen gebruiken: SELinux, iptables (zie hoofdstuk firewalls)
Tekst
[bewerken]Bespreken van de stappen
[bewerken]Merk op dat niet steeds alle stappen gevolgd moeten worden. Als bijvoorbeeld al genoeg informatie is losgekomen kan men stappen overslaan. De volgorde hoeft ook niet per se gevolgd te worden, bijvoorbeeld als de aanvaller denkt genoeg informatie te hebben gaat hij door naar stap 3. Achteraf blijkt echter dat hij niet genoeg informatie heeft, dus kan hij terugkeren naar stap 1 of 2.
Stap 1: Passieve verkenning
[bewerken]Om een systeem te kunnen exploiteren heeft de aanvaller eerst algemene informatie nodig, anders weet hij niet wat hij aanvalt. Nadat de hacker een bedrijf gekozen heeft om in te breken moet hij uitzoeken waar dat bedrijf zich bevindt op het internet. Met passieve verkenning kan (in extreme gevallen) soms al genoeg informatie bekomen worden, denk aan wat je zelf zegt tegen iemand in vertrouwen als je denkt dat niemand luistert. Onder passieve verkenning classificeren we alle vormen van informatieverzameling die niet detecteerbaar zijn voor het doelwit.
Sniffing
[bewerken]Dit is één van de populairste methoden voor passieve verkenningen. Hierbij wordt het netwerkverkeer van een bepaald netwerksegment bestudeerd en opgenomen. Dit werkt bij uitstek goed op onvoldoende beveiligde draadloze netwerken. Als de hacker zoekt voor één specifiek gegeven kan deze manier wel wat tijd in beslag nemen, anderzijds als hij het patroon kent van de pakketten die hij zoekt kan het al heel wat simpeler zijn. Er bestaan tools voor paswoord sniffing, hierbij zal de tool zoeken naar authenticatiepakketten. Wanneer hij er een vindt, zal het geëncrypteerde paswoord opgeslagen worden. De aanvaller kan dan een passwoordkraker gebruiken om het paswoord te achterhalen.
Information gathering
[bewerken]Hierbij zoekt de aanvaller naar informatie in publiek toegankelijke databanken die bruikbaar is bij het opstellen van een actieve aanval. Voorbeelden zijn whois (geeft informatie over o.a. DNS-servers, contactgegevens van systeembeheerders, telefoonnummers, enz.), ARIN of RIPE (geeft informatie over netwerkblokken toegekend aan de organisatie), tijdschrift- of krantenartikels, persberichten, enz.
Stap 2: Actieve verkenning
[bewerken]In deze stap gebruikt de aanvaller technieken die in principe gedetecteerd kunnen worden door het doelwit. De aanvaller zal het systeem peilen om zo bijkomende informatie te vinden, bijvoorbeeld met een portscanner als nmap. Dit zijn enkele voorbeelden van wat de aanvaller zal proberen te ontdekken:
- Hosts die toegankelijk zijn
- Locaties van routers en firewalls
- Poorten die openstaan
- Welk OS draait
- Services die runnen
- Versies van applicaties die runnen
Social Engineering
[bewerken]Social engineering is een information gathering techniek waarbij een hacker 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. De beroemdste hacker die van deze techniek gebruik maakte is Kevin Mitnick. Hij heeft zijn ervaringen verwoord in het boek The Art of Deception. Kenmerkend voor Social engineering is dat er geen aanval op de techniek zelf wordt uitgevoerd. Een aanvaller tracht om
- de nieuwsgierigheid van een slachtoffer te wekken,
- medelijden bij een slachtoffer te wekken,
- een slachtoffer bang te maken.
De aanvaller doet zichzelf voor als iemand anders. Dit doet de aanvaller met het doel om via de aangenomen, vertrouwenwekkende, rol informatie te verkrijgen die op een andere manier niet of met aanzienlijk meer inspanning of hogere kosten te krijgen is.
Een amusante presentatie over social engineering is die van Johnny Long op DefCon 15 genaamd No Tech Hacking. http://www.youtube.com/watch?v=5CWrzVJYLWw
Stap 3: Het systeem exploiteren
[bewerken]Meestal denken we hierbij enkel aan toegang krijgen maar privileges verhogen en denial of service zijn hier ook onderdeel van. Deze drie zijn nuttig afhankelijk van welk type aanval de aanvaller wil starten. Ze kunnen ook door elkaar gebruikt worden. Een aanvaller kan bijvoorbeeld toegang hebben tot een bepaald gebruikersaccount maar omdat deze geen root toegang heeft hij geen rechten tot een bepaald bestand. Dan zal de aanvaller een aanval uitvoeren die de privileges verhoogd zodat zijn toegangslevel verhoogd wordt zodat hij toegang heeft tot het bestand. De aanvaller kan ook een systeem aanvallen om het later te gebruiken bij een aanval op een ander systeem.
Toegang krijgen
[bewerken]Aanval op het OS
[bewerken]De standaardinstallatie van het merendeel van de besturingssystemen heeft een grote hoeveelheid services die starten en poorten die geopend zijn. Vanuit het standpunt van een OS ontwikkelaar is dit logisch, ze willen dat de klant hun product kan installeren en configureren in een minimum tijdspanne met zo weinig mogelijk moeite en problemen. Als de services niet aanwezig zouden zijn, zouden de klanten hulp opzoeken bij de makers van het besturingssysteem en dit zou dan uitdraaien in extra kosten voor de OS ontwikkelaar. Vanuit het standpunt van beveiliging is dit niet logisch. Waarom zou iemand een onveilig besturingssysteem installeren? Meestal gebeurd dit uit onwetendheid, de gebruiker / beheerder beseft mogelijk het risico niet van hoe kwetsbaar het besturingssysteem is. Als dit nog niet erg genoeg is denken bedrijven ook nog eens dat hun job gedaan is nadat het besturingssysteem geïnstalleerd is. Ze updaten niet of zelden. Dit zorgt ervoor dat bedrijven bij een versie van het besturingssysteem zitten die uitgefaseerd / verouderd is. Deze besturingssystemen hebben een groot aantal kwetsbaarheden die meestal ook reeds gekend zijn door de aanvallers.
Aanval op de applicatie
[bewerken]Deze aanvallen maken gebruik van de imperfecte manier van beveiliging die vandaag aan te treffen zijn bij software. Programmeurs zitten vaak onder grote tijdsdruk en daarom wordt het testen van software vaak niet grondig genoeg uitgevoerd. De meeste software heeft vandaag ook zoveel extra functionaliteiten dat zelfs als er meer tijd was de kans bestaat dat niet alles getest zou kunnen worden. Gebruikers zijn niet bezorgd om beveiliging, als het programma doet wat ze nodig hadden zijn ze tevreden. Veiligheid zou niet mogen aanzien worden als een extra maar meer als een vereiste. Om een hoge graad van beveiliging te voorzien zou het dus ook moeten ingebouwd zijn in de applicatie vanaf het begin.
Scripts en voorbeeldprogramma aanvallen
[bewerken]Vooral voor UNIX zijn veel voorbeeldscripts en voorbeeldprogramma's beschikbaar. Het is zeer handig een voorbeeld te hebben maar ook zeer dom om het uit te voeren zonder exact te weten wat erin staat. Vroeger had Apache een reeks basisscripts ter beschikking waarbij de meesten kwetsbaarheden hadden. Active Server Pages (ASPs) hebben meestal veiligheidslekken. Een voorbeeld hiervan is de standaard website die meegeleverd is met IIS. Deze heeft de admintools op afstand beschikbaar vanaf de startpagina. Deze tool kan dan gebruikt worden door de aanvaller.
Verkeerde configuratie aanvallen
[bewerken]In meerdere gevallen wordt ingebroken in systemen omdat ze fout geconfigureerd zijn. Bijvoorbeeld een beheerder werkt met een systeem en is niet zeker hoe het in te stellen. Hij probeert een aantal dingen uit en wanneer het werkt, stopt hij met verder zoeken. Het probleem hierbij is dat hij nooit de moeite doet om te zien wat het deed werken en het overbodige werk niet opruimt. Om een systeem optimaal te beveiligen moeten onnodige services en software verwijderd worden. Op deze manier zijn enkel de strikt noodzakelijk zaken aanwezig en hoeven ook enkel deze beveiligd te worden. Fout configureren is eenvoudig te voorkomen aangezien de beheerder hier zelf voor zorgt.
Privileges verhogen
[bewerken]Het uiteindelijke doel van de aanvaller is steeds root of administrator toegang te verkrijgen. In sommige gevallen kan de aanvaller deze toegang onmiddellijk verkrijgen. Meestal zal hij eerst echter minimale toegang verkrijgen en daarna via het verhogen van privileges volledige toegang krijgen. Dit type aanval, waar een aanvaller onrechtstreeks root of administrator toegang krijgt door meerdere toegangslevel te verkennen heet het verhogen van privileges.
Denial of service
[bewerken]DoS zijn aanvallen die bevoegde gebruikers toegang ontzeggen tot een bron. Dit kan gaan van gebruikers toegang verlenen tot een bepaalde website of gebruikersaccounts uitschakelen zodat ze niet kunnen inloggen. Als je bijvoorbeeld van thuis werkt en dus je internet nodig hebt om te verbinden met de server van het bedrijf, als dan iemand je internetkabel doorknipt veroorzaakt hij een DoS die je ervan weerhoudt je werk te doen. Jammer genoeg zijn deze aanvallen relatief simpel uit te voeren op het internet aangezien geen toegang vereist is. Tools voor deze aanvallen uit te voeren zijn vaak makkelijk te vinden en uit te voeren.
Stap 4: Programma's uploaden
[bewerken]In de meeste gevallen zal de aanvaller programma's laden in het systeem. Deze kunnen dan zorgen voor meer toegang, systemen op het netwerk beschadigen of tools op de server plaatsen die gebruikt zullen worden om andere systemen te beschadigen. Om schade aan te richten of informatie te bekomen moet de aanvaller succesvol inbreken in een site en de nodige informatie achterhalen. Het internet voegt hier echter een nieuwe dimensie aan toe. Sommige tools hebben aanzienlijk meer processorkracht nodig en een betere verbinding tot het internet. Daarom kan de aanvaller er misschien op doelen het veroverde systeem te gebruiken bij een volgende aanval naar een ander systeem. Op deze manier is het ook moeilijker te achterhalen wie achter de aanval zit aangezien deze afkomstig is van een ander gekraakt systeem.
Stap 5: Data downloaden
[bewerken]Bij sommige aanvallen, zoals bedrijfsspionage, is de aanvaller uit op data. Deze data kan gaan van nieuwe onderzoeken, nieuwe producten, het klantenbestand, de toekomstvisie van het bedrijf. In al deze gevallen zal de aanvaller data willen downloaden naar een andere locatie. Nadat de data gedownload is naar de andere locatie kan de aanvaller de data analyseren. Deze aanval kan enkel voorkomen worden tijdens dat de aanvaller de data download (of ervoor) want nadien heeft hij reeds alles tot zijn beschikking.
Stap 6: Toegang behouden
[bewerken]In de meeste gevallen plaatst de aanvaller een backdoor nadat hij toegang verkregen heeft. Door later gebruik te maken van deze backdoor moet hij alle voorgaande stappen niet herhalen om opnieuw toegang te verkrijgen tot het systeem. Een backdoor kan zo simpel zijn als gewoon een extra gebruikersaccount toe te voegen aan het systeem. Dit is makkelijk te doen met de bekomen root / administrator rechten. Als het bedrijf echter zijn actieve accounts bekijkt is de kans groot dat het account gedetecteerd wordt. Als het een groot systeem is met duizenden gebruikers bestaat de kans dat het niet gemerkt wordt. Een meer geavanceerde manier om een backdoor te maken is het overschrijven van een systeembestand met een versie dat een verborgen functie heeft. Zo kan men bijvoorbeeld de logon daemon overschrijven die verzoeken van het inloggen van gebruikers verwerkt. Voor de gewone gebruikers werkt het normaal, maar met een bepaald user-id en paswoord heb je alle rechten. Deze bewerkte programma's heten trojan versions omdat ze verborgen functies hebben. Een nog andere manier om een backdoor te maken is het schrijven van een programma dat werkt op een bepaalde poort. Als de aanvaller connectie legt met die poort krijgt hij volledige toegang tot het systeem of zelfs het hele netwerk. Een aanvaller kan ook gebruik maken van een trojan horse, deze voorziet toegang tot het systeem en maakt een backdoor op hetzelfde moment.
Stap 7: Sporen uitwissen
[bewerken]De logbestanden wissen is een manier om sporen uit te wissen. de logbestanden houden bij wanneer welke persoon wat heeft opgevraagd. Dus de aanvaller zal het logbestand raadplegen en de entries met betrekking tot zijn daden verwijderen. Het gehele logbestand verwijderen zou argwaan wekken bij de beheerder en bovendien voegen meeste systemen een entry toe in het logbestand dat aangeeft dat het bestand verwijderd is. Daarom is het belangrijk om als beheerder het logbestand op te slaan op een andere server en ideaal zou zijn dat die een write-only server is. Op deze manier is de kans minimaal dat de sporen kunnen gewist worden. De aanvaller kan ook het loggen van acties uitschakelen zodra hij toegang heeft gekregen tot de machine. Dit vereist wel meer kennis maar is zeer effectief. In het geval dat de aanvaller bestanden overschreven heeft moet hij er ook voor zorgen dat de gewijzigde bestanden geen argwaan opwekken. De meeste bestanden hebben datums van wanneer ze geopend zijn en de grootte van het bestand. Er zijn programma's die bestanden flaggen als gewijzigd wanneer deze gewijzigd worden. Om dit te voorkomen, kan de aanvaller na het wijzigen van de bestanden hun eigenschappen opnieuw aanpassen naar hun oude waarden. Een goede manier van beveiliging is werken met checksums. De checksum zal pas gelijk zijn alles beide bestanden identiek zijn.
Nmap
[bewerken]Nmap staat voor "Network Mapper" en is een opensource tool om de beveiliging van een netwerk te monitoren. Nmap gebruikt ip-pakketten om het aantal hosts op een netwerk te bepalen en om gegevens over deze hosts te weten te komen, zoals bv:
- welke services deze hosts aanbieden,
- op welk besturingssysteem deze draaien,
- welke firewalls ze draaien.
Nmap kan gebruikt worden om beveiligingslekken te zoeken in netwerken.
Installeer de service
$ yum -y install nmap
Wanneer het commando gebruikt wordt zonder opties mee te geven, krijgen we een globaal beeld van welke opties allemaal kunnen gebruikt worden:
$ nmap
- Target Specification
-iL <inputfilename> Leest een lijst met targets in vanuit een bestand. Dit bestand is handiger in gebruik dan vele hosts in te geven via command line
-iR <num hosts> Kies een aantal willekeurige hosts op het internet en scan deze. Gebruik deze optie op wijselijk!
- Host Discovery
-sL List Scan. Geeft een lijst van alle IP-addressen op het netwerk weer, zonder pakketjes naar de hosts te sturen
-sn No Port Scan. Nmap doet geen port scan na host discovery. Enkel de beschikbare hosts worden geprint. Staat ook bekend als 'Ping Scan'
-Pn No Ping. Host discovery wordt niet uitgevoerd
-PS <port list> TCP SYN Ping. Stuur een leeg TCP pakket met de SYN bitop 1. De standaard destination poort is 80
-PA <port list> TCP ACK Ping. Stuur een leeg TCP pakket met de ACK bit op 1. Voor de rest gelijkaardig aan -PS
-PU <port list> UDP Ping. Stuur een UDP pakket naar de opgegeven poorten
-PY <port list> SCTP INIT Ping. Stuur een SCTP pakket dat een klein INIT deeltje bevat naar de opgegeven poorten
-PO <protocol list> IP Protocol Ping. Stuur IP pakketten met het opgegeven protocolnummer
-PR ARP Ping. Scan een ethernet LAN
- Scan Techniques
-sS TCP SYN Scan
-sT TCP connect scan
-sU UDP scan
-sA TCP ACK scan
-sO IP protocol scan. Geeft weer welke IP protocollen ondersteund worden door het opgegeven doel
- Port Specification and Scan order
-p <Port ranges> Scant enkel de poorten uit de opgegeven lijst
-F Fast Scan. Scan 100 poorten ipv 1000 (default)
-r Als default scant nmap de poorten in willekeurige volgorde, bij de -r vlag scant nmap in sequentiële volgorde.
- Service and Version Detection
-sV Geeft terug welke services de host aanbiedt
- OS Detection
-O Geeft terug welk OS er draait op de opgegeven host.
- Nmap Scripting Engine
-sC Geeft terug welke services er draaien op de host
- Timing and Performance
-T paranoid|sneaky|polite|normal|aggressive|insane Stel manueel in hoe 'agressief' Nmap de hosts moet scannen
- Firewall/IDS Evasion and spoofing
-f Fragment Packets. Nmap gebruikt mini gefragmenteerde IP pakketjes. Hierdoor verlaagt de 'agressiviteit' (zie timing and performance)
-D <decoy1>[,<decoy2>] Nmap gebruikt 'decoys', zodat het lijkt alsof de decoys het netwerk aan het scannen zijn en niet onze machine. Hiervoor wordt het voor de doelhost moeilijker om de source te ontdekken
-S <ip_address> Spoof ip-address. Gebruik een vals ip-adres
- Output
-oN <filespec> normal output
-oX <filespec> XML output
-oS <filespec> ScRipT KIdd|3 oUTpuT
-oG <filespec> grepable output
-oA <basename> output in alle formaten
-v Increase verbosity level. Nmap schrijft meer details weg over de uitgevoerde scans
-d Increase debugging level
- Miscellaneous Options
-6 Enable IPv6 scanning
-A Aggressive scan options
-V Geeft de huidige versie van Nmap
-h Help optie
vb:
$ nmap 192.168.1.100 //toont welke poorten er openstaan op het ipadres
Starting nmap 3.83.DC13 ( http://www.insecure.org/nmap/ ) at 2005-11-02 12:18 CET Interesting ports on odin.asgard (192.168.1.100): (The 1658 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 631/tcp open ipp 873/tcp open rsync 891/tcp open unknown 2049/tcp open nfs 32771/tcp open sometimes-rpc5 32772/tcp open sometimes-rpc7 Nmap finished: 1 IP address (1 host up) scanned in 0.546 seconds
DIG
[bewerken]DIG (Domain Information Groper) is een flexibele Linux tool voor het ondervragen van DNS-servers. Het doet DNS-lookups en geeft de informatie die hij terugkrijgt weer van de ondervraagde DNS-servers. De meeste DNS-administrators gebruiken DIG ook om problemen te lokaliseren. Alhoewel DIG normaal wordt gebruikt met command-line argumenten, heeft het een batch modus om DNS lookup requests vanuit een bestand te halen. DIG maakt deel uit van het BIND-softwarepakket en vervangt oudere tools als nslookup en host.
Synopsis dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-pport#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...] dig [-h] dig [global-queryopt...] [query...]
vb:
$ dig any example.com //dig is het commando, any is welk type van record en example.com de domein naam die je wilt onderzoeken.
; <<>> DiG 9.7.0-P1-RedHat-9.7.0-9.P1.fc13 <<>> any example.com //de versie van dig die je gebruikt. ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7359 //de status bepaald of de domein naam correct: NOERROR is goed, NXDOMAIN staat voor een niet bestaand domein. ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 //de vlaggen tonen het aantal lijnen in de toegewezen section. Authority staat op 0 omdat het ip geen autoritaire functie heeft. ;; QUESTION SECTION: ;example.com. IN ANY //toont naar wat je zocht ;; ANSWER SECTION: //het antwoord de domein naam zijn IP adressen. example.com. 80548 IN A 192.0.32.10 example.com. 12790 IN AAAA 2620:0:2d0:200::10 ;; Query time: 12 msec //extra informatie ;; SERVER: 192.168.15.5#53(192.168.15.5) ;; WHEN: Fri Jan 7 14:57:32 2011 ;; MSG SIZE rcvd: 73
Ping
[bewerken]PING is uw eerste verdedigingsmiddel bij het oplossen van problemen. PING is een voorziening waarmee u IP-connectiviteit kunt controleren door een ICMP-echopakket te versturen naar een IP-adres of doel-NetBIOS-naam. Met PING kunt u hardwareproblemen in het netwerk, incompatibele configuraties en gebrekkige connectiviteit achterhalen. Probeer eerst het IP-adres van de doelhost te pingen.
$ ping ipadres
SYNOPSIS ping [-mqw] [-c count] [-i wait] [-p pattern | -z] [-s packetsize] [ignored-options] host [host...] or ping -t [-mqw] [-c count] [-i wait] [-p pattern | -z] [-s packetsize] [ignored-options] host [host...] ignored-options: [-dfrRv] [-l preload]
- ping het standaard loopback-adres om de lokale installatie en configuratie te controleren.
$ ping 127.0.0.1
- ping het IP-adres van de lokale computer om te controleren of het wordt herkend door het netwerk.
- Controleer vervolgens de connectiviteit van de standaardgateway. Hierdoor controleert u niet alleen de werking van de gateway (router), maar ook de communicatie tussen de host en de gateway.
- ping het IP-adres van de externe host om de communicatie naar de router te controleren.
vb:
$ ping 192.168.15.5 –c 5 //-c 5 staat voor het verzenden van 5 requests
PING 192.168.15.5 (192.168.15.5) 56(84) bytes of data. //icmp_seq = nummer van het pakket; ttl = de time to live; time= de round-trip time 64 bytes from 192.168.15.5: icmp_seq=1 ttl=64 time=2.21 ms 64 bytes from 192.168.15.5: icmp_seq=2 ttl=64 time=1.29 ms 64 bytes from 192.168.15.5: icmp_seq=3 ttl=64 time=1.33 ms 64 bytes from 192.168.15.5: icmp_seq=4 ttl=64 time=2.48 ms 64 bytes from 192.168.15.5: icmp_seq=5 ttl=64 time=1.23 ms --- 192.168.15.5 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4008ms //het succes percentage en de gebruikte tijd rtt min/avg/max/mdev = 1.235/1.714/2.483/0.527
Traceroute
[bewerken]traceroute/tracert is een TCP/IP-tool om na te gaan welke route TCP-pakketten afleggen naar een bepaalde host. Het werkt door de time to live (TTL) waarde bij elke tussenliggende host met 1 te verlagen, als de TTL waarde 1 bereikt zal de laatste host deze afwijzen en de melding ICMP time exceeded (tijd verlopen) retourneren. De tool mtr is identiek aan tracert maar geeft daarnaast ook de packetloss op de route weer. Het programma gebruikt de meldingen van de hosts tussen start en bestemming van de route om na te gaan welke hosts de tussenliggende zijn. Hierbij wordt ook de reactietijd van deze hosts (in milliseconden) weergegeven. Deze hosts worden aangegeven door zogeheten 'hops' (waarbij de eerste host in de route hop 1 is, de tweede hop '2', enzovoorts). Om deze reden wordt traceroute vaak gebruikt om na te gaan waar fouten in een computernetwerk optreden.
Synopsis traceroute [-46dFITUnrAV] [-f first_ttl] [-g gate,...] [-i device] [-m max_ttl] [-p port] [-s src_addr] [-q nqueries] [-N squeries] [-t tos] [-l flow_label] [-w waittime] [-z sendwait] host [packetlen] traceroute6 [options] tracert [options] tcptraceroute [options]
vb:
$ traceroute nl.wikipedia.org
traceroute to rr.knams.wikimedia.org (145.97.39.155), 30 hops max, 38 byte packets // het max aantal hops en de grote van de pakketjes. 1 Router (192.168.0.254) 0.401 ms 0.842 ms 0.920 ms // de trace heeft 8 hops nodig om zijn bestemming te bereiken. 2 213.197.27.154 (213.197.27.154) 9.036 ms 8.292 ms 7.605 ms 3 213.197.27.117 (213.197.27.117) 7.978 ms 8.232 ms 7.057 ms 4 XSR03.Asd001A.surf.net (195.69.144.50) 8.251 ms 8.735 ms 8.552 ms 5 AF-500.XSR01.Amsterdam1A.surf.net (145.145.80.9) 8.979 ms 8.593 ms 9.002 ms 6 KNCSW001-router.Customer.surf.net (145.145.18.158) 8.867 ms 8.662 ms 8.497 ms 7 145.97.32.29 (145.97.32.29) 8.656 ms 8.775 ms 8.450 ms 8 rr.knams.wikimedia.org (145.97.39.155) 9.892 ms 8.610 ms 8.725 ms
Mtr
[bewerken]Mtr combineert de functionaliteiten van traceroute en ping in één enkel diagnostisch commando. Wanneer mtr wordt uigevoerd, onderzoekt het de netwerkverbinding tussen de host waar mtr op draait en de doelhost door pakketten met een lage TTL (Time To Live) waarde te verzenden. Het blijft deze pakketjes verzenden terwijl het let op de reactietijd van de tussenliggende routers. Hierdoor kan mtr de responstijden en antwoordpercentages van alle hops op de route weergeven. vb:
$ mtr www.google.com
My traceroute [v0.75] ilse.localdomain (0.0.0.0) Thu Dec 17 00:08:20 2009 Keys: Help Display mode Restart statistics Order of fields quit Packets Pings HOST: ilse.localdomain Loss% Snt Last Avg Best Wrst StDev 1. 10.0.2.2 0.0% 10 0.0 1.4 0.0 2.3 0.6 2. 12.118.134.5 2.0% 100 14.5 18.8 14.0 124.9 13.2 3. 12.17.165.97 0.0% 100 15.4 19.1 14.3 100.8 11.1 4. ....
Netstat
[bewerken]Netstat wordt gebruikt om de status van alle openstaande netwerkverbinding te bekijken. Dit is handig om te detecteren of iemand op uw systeem aan het werken is. Ook de routing-tabel en de netwerkinterfaces worden weergegeven. Let op: ook sockets die in gebruik zijn worden weergegeven. Enkele handige vlaggen:
$ netstat
-t: Weergave van TCP-verbindingen die naar de host openstaan -u: Weergave van UDP-verbindingen die naar de host openstaan -r: Lees de kernel routing tables uit -s: Toon beknopte statistieken voor elk protocol --interface=<iface>, -i: Toon een tabel met alle netwerkinterfaces, of de opgegeven iface
Whois
[bewerken]Whois is een protocol om gegevens van een domeinnaam of IP-adres te achterhalen door middel van een query/vraag aan een database. In een whois staan meestal de naam en contactgegevens van de eigenaar, de provider en nameservers van de DNS-servers. Traditioneel werden whois-zoekopdrachten gedaan via de command-line maar tegenwoordig zijn er ook veel websites die deze service bieden. Deze resultaten kunnen per domein verschillen.
SYNOPSIS whois [ -h HOST ] [ -p PORT ] [ -aCFHlLMmrRSVx ] [ -g SOURCE:FIRST-LAST ] [ -i ATTR ] [ -SSOURCE ] [ -T TYPE ] object whois [ -t ] [ -v ] template whois [ -q ] keyword
vb: http://www.ip-adress.com/whois/hogent.be
of via linux
$ whois hogent.be
Domain: hogent Status: REGISTERED Registered: Thu Dec 14 1995 Licensee: Not shown, please visit www.dns.be for webbased whois. Agent Technical Contacts: First Name: Service Support Team Last Name: BELNET Company Name: BELNET Language: en Street: Wetenschapsstraat 4 Rue de la Science Location: 1000 Brussels Country: BE Phone: +32.27903333 Fax: +32.27903334 Email: hostmaster@belnet.be First Name: Service Support Team Last Name: BELNET Company Name: BELNET Language: en Street: Rue de la Science, 4 Location: 1000 Brussels Country: BE Phone: +32.27903333 Fax: +32.27903332 Email: hostmaster-be@belnet.be Agent: Name: BELNET Website: domains.belnet.be Nameservers: ens3.hogent.be (193.190.88.189) ns.belnet.be ens1.hogent.be (193.190.172.1)
Nessus
[bewerken]Nessus is een open-source vulnerability scanner die het systeem uitvoering aftast op zijn kwetsbaarheden. Zijn doel is potentiële kwetsbaarheden op de geteste systemen te ontdekken. Bv:
- de computer controleren op open ports,
- testen op bekendste vulnerabilities,
- het systeem testen op lege of default wachtwoorden.
De controle gebeurd via plug-ins die automatisch up-to-date worden gehouden door de Nessus-server.
Download en installeer Nessus. http://www.nessus.org/download/
Voor fedora 14 (32bit) is Adobe Flash vereist.
Download Nessus-4.4.0-fc14.i386.rpm
$ rpm -ivh Nessus-4.4.0-fc14.i386.rpm $ /opt/Nessus//sbin/nessus-adduser
Vul een gewenste gebruikernaam en wachtwoord in met de nodige privileges.
Registreer je op http://www.nessus.org/register zodat je de nieuwste plug-ins kunt gebruiken. Deze plug-ins heb je nodig om het systeem te kunnen testen. Op de website kies je voor thuisgebruiker en geef je je e-mailadres in zodat je een activatiecode krijgt.
$ /opt/nessus/bin/nessus-fetch –register “activatiecode”
Nessus is nu geregistreerd.
$ service nessusd start
Ga nu naar je webbrowser en voer https://[ipadres]:8834/ in. Dit brengt je naar de gui van Nessus. Introductiefilmpje van Nessus om je op weg te helpen: http://www.youtube.com/watch?v=3RgOtjv4v8E
SSH
[bewerken]SSH staat voor "Secure Shell" en is een protocol dat vanop afstand op een veilige manier kan inloggen op een linux systeem. Het is de opvolger van telnet en maakt in tegenstelling met zijn voorganger gebruik van encryptie. SSH gebruikt poort 22.
- SSH installeren:
$ yum install ssh
- De SSH daemon starten:
$ service sshd start
- Gebruik:
$ ssh [-l gebruikersnaam] doel-ip Standaard logt SSH de client die het commando oproept in op het doel IP-adres, maar er kan ook een gebruikersnaam opgegeven worden.
Bronnen
[bewerken]- Eric Cole, Hackers Beware: Defending Your Network From The Wiley Hacker, New Riders, 2002
- Nmap Reference Guide, http://nmap.org