1.2. Har mit system sikkerhedsproblemer?

Nu skal vi se på, hvor meget du udsætter din maskine for, når du tilslutter den til internettet. Vi tager udgangspunkt i en Linux-maskine, som har en netværksopkobling enten via modem eller fast forbindelse. Det er reelt ikke så vigtigt, at det er en Linux-maskine - alle systemer med netværk har samme karakteristiske træk.

Lad os inddele verden efter

Lad os antage, at din maskine har direkte adgang til internettet uden firewall eller anden beskyttelse. Vi vil nu se på, hvorfor din maskine kan være udsat, og hvordan andre finder ud af, at du har en maskine på nettet. At det netop er din maskine, som er udset til et angreb, kan skyldes mange ting: Tilfældigheder, at du anses for at ligge inde med interessante data, eller at du ikke har vedligeholdt din Linux-maskine og fået lukket de kendte sikkerhedshuller.

En angriber har flere måder at finde din maskine på. En er f.eks. at studere brevhovederne i dine breve. En anden er at hente listen over hostnavnene i dit domæne vha. DNS (navneservere). En mere direkte måde er at bruge ping.

En angriber kan derefter spørge din maskine, hvilke services den tilbyder, og måske finde et sikkerhedshul. Som eksempel kan vi tage ssh, som tilbydes på port 22. Med telnet kan man logge ind på port 22 og få versionsnummeret på ssh. I det følgende eksempel finder vi ud af, at det er ssh version 1.2.27, der kører. Kan angriberen f.eks. på internettet finde en beskrivelse af en sikkerhedsfejl i den version af ssh, kan han udnytte dette til at angribe dit system med.

[robin@sherwood robin]$ telnet bohr 22
Trying 172.17.0.3...
Connected to bohr
Escape character is '^]'.
SSH-1.5-1.2.27                          

Normalt er det nødvendigt, at din maskine har nogle af de mange netværksservices kørende, da de bruges til at kommunikere med andre maskiner via netværk. Ofte kan de fleste af dem dog slås fra, se Kapitel 2.

I stedet for at en angriber manuelt skal gennemse alle dine porte for mulige huller, kan han gøre det nemmere og meget hurtigere ved at installere programmer såsom nmap. Nmap kan hentes på http://www.insecure.org/nmap. Med nmap kan man dels se hvilke maskiner, der er i live, men også hvilke porte, der er åbne. Nedenstående eksempel viser, at maskinen "bohr" har (alt for) mange porte åbne.

[robin@sherwood robin]$ nmap bohr
Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Interesting ports on bohr.herne.dk (172.17.0.3):
Port    State       Protocol  Service
21      open        tcp        ftp
22      open        tcp        ssh
23      open        tcp        telnet
25      open        tcp        smtp
79      open        tcp        finger         
80      open        tcp        http
98      open        tcp        linuxconf
111     open        tcp        sunrpc
113     open        tcp        auth
513     open        tcp        login
514     open        tcp        shell
515     open        tcp        printer
6000    open        tcp        X11             

Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds       

Eksemplet med nmap svarer til, hvad man udefra kan se om maskinen. Har man adgang til maskinen, så kan "netstat -a" også være interessant, idet kommandoen viser alle de netværksforbindelser, som er etableret, samt de ventende serverprogrammer. Et forkortet output af "netstat -a" kan være følgende, hvor man kan se, at en telnet-session fra sherwood til bohr er igang, og serverprogrammerne ssh, sendmail (smtp), telnet og ftp er klar.

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address        State      
tcp        0      0 bohr:telnet sherwood.herne.dk:1074 ESTABLISHED
tcp        0      0 *:ssh           *:*                    LISTEN      
tcp        0      0 *:smtp          *:*                    LISTEN      
tcp        0      0 *:telnet        *:*                    LISTEN      
tcp        0      0 *:ftp           *:*                    LISTEN      

Du kan læse mere om NMAP på http://www.itworld.com/Sec/2202/LWD010404vcontrol1/ og http://www.insecure.org/nmap/nmap_doc.html.

Man kan også have interesse i at bruge det grafiske program cheops, som findes på ftp://ftp.marko.net/pub/cheops/RPMS/. Programmet er skrevet sådan, at det grafisk viser hvilke maskiner, som er i live, og evt. overvåger, at de forbliver i live. Cheops er nok primært beregnet til at give systemadministratoren et hurtigt overblik over netværket, men det kan også bruges til at udse sig svage maskiner, som kan angribes. På følgende billede er vist, hvordan cheops ud fra et domænenavn selv finder ud af, at der er seks maskiner i live. Det vises grafisk hvilket operativsystem, der anvendes på hver af dem. Fra venstre mod højre: SGI IRIX, Linux, HP/UX, HP/UX, Windows og endelig en speciel maskine.

Figur 1-2. Cheops

Flytter man musen ned på ikonet for maskinen, får man flere oplysninger om den ofte også versionsnumre, og man kan yderligere direkte skanne maskinen for alle oplysninger. Man kan ofte se alt for meget - især når folk ikke har deres sikkerhed i orden.

Figur 1-3. Cheops

Det er altså nemt at trække informationer ud af en ubeskyttet maskine.