Bekæmp script kiddies

BLOG: Hvis du som jeg har en server stående med direkte adgang fra internettet, har du nok bemærket at den konstant er under angreb.
Skrevet i Nørderier


Publiceret d. 18. marts 2007 kl. 07.13 | Antal kommentarer (9)


 
ANNONCE:
Min server står hos et stort hosting-selskab i Københavnsområdet. Den kører Ubuntu Linux (server-udgaven). Jeg driver et lille web/mail-hotel, og enkelte brugere har en shell account.

Serveren har kun åbent på 5 protokoller: HTTP, HTTPS, IMAP, SMTP og SSH. Postserveren tillader kun relaying hvis IP-adressen er kendt af IMAP-serveren (imap/pop before smtp kaldes det vist i ISP-kredse). HTTP kan jeg jo ikke begrænse - blot håbe på at web-applikationerne opfører sig pænt.

Ser jeg på log-filerne, kan jeg se at der er rigtig mange forsøg på at logge ind over SSH. Men det er tydeligvis systematisk idet der kommer mange requests fra samme IP-adresse hurtigt efter hinanden. Det får mig til at tro at der er tale om script kiddies som har fundet et script som løber en ordbog igennem for brugernavne og kodeord.

På et eller andet tidspunkt vil det måske lykkes for en af disse script kiddies at komme ind. Så de skal stoppe i deres forsøg tidligt. Men heldigvis har jeg fundet en løsning - DenyHosts. Det er en lille dæmon skrevet i Python som ser mislykkedes SSH logins, og hvis der kommer 5 fra samme IP-adresse i løbet af kort tid, så skrives adressen med i /etc/hosts.deny og adressen er derfor blokeret i SSH.

Det er lidt over en uge siden at jeg installere DenyHosts på min server. Jeg har sat det op så adresser tillades igen efter en uge. Men p.t. har jeg 11 IP-adresser på listen over "udheldige" adresser.

Det er min løsning på script kiddies. Men jeg er interesseret i at høre hvordan I andre gør??

Kommentarer til blogindlæg



Pluk de lavt hængende frugter først:

1) Ændring af sshd porten:
En ændring af standard ssh porten til en ikke standard port, fjernede op mod 80% af 'script kiddies' forsøgene. Det tager under 10 sek.

2) Standard brugernavne må ikke kunne logge ind via ssh:
Stop muligheden for at f.eks. root kan logge ind via ssh.

Har du andre 'standard' brugernavnen, f.eks. oracle, mail o.s.v., så stop - hvis det er muligt - indlogning via disse navne.

3) Fjern muligheden for at logge ind med brug af password:
Denne 'frugt' sidder lidt højere oppe i træet, men hvis det er muligt, så brug 'nøgler' istedet for passwords.

/Jan

AllowUsers *@*.dk, dig@<din-ipadresse>

Den sidste er med for at sikre at man også slipper ind den dag serveren ikke kan lave DNS-opslag.

Jesper

Jeg slår altid root-login fra og tillader kun login med nøgler. Skal man endelig tillade password login, så gør det kun fra en liste af godkendte IP'er.

Du sætter sshd op til kun at tillade login med nøgler.
Hermed har du sikret at ingen script kiddies kan komme på.

Hvis (når) du så bliver træt af at se på fejlslagne forsøg i dine logfiler, så flytter du sshd porten til noget tilfældigt i 10000+ området.


Og hvis du ønsker at have god tid næste gang der bliver fundet et hul i sshd, så sætter du din host firewall op til kun at tillade adgang til sshd fra de IPadresser du reelt bruger.

Flemming Jacobsen (4) skrev:

Og hvis du ønsker at have god tid næste gang der bliver fundet et hul i sshd, så sætter du din host firewall op til kun at tillade adgang til sshd fra de IPadresser du reelt bruger.


Det er ligesom her problemet er. Vi - brugerne - flytter meget rundt da flere af os arbejder som løsarbejdere (eller freelancere som det så smukt hedder nu om dage). F.eks. regner jeg med at arbejde fire forskellige steder i denne uge. Derfor har jeg ikke lyst til at blokere for IP-adresser.


Jan Birk skrev:
Pluk de lavt hængende frugter først:

1) Ændring af sshd porten:
En ændring af standard ssh porten til en ikke standard port, fjernede op mod 80% af 'script kiddies' forsøgene. Det tager under 10 sek.

2) Standard brugernavne må ikke kunne logge ind via ssh:
Stop muligheden for at f.eks. root kan logge ind via ssh.

Har du andre 'standard' brugernavnen, f.eks. oracle, mail o.s.v., så stop - hvis det er muligt - indlogning via disse navne.

3) Fjern muligheden for at logge ind med brug af password:
Denne 'frugt' sidder lidt højere oppe i træet, men hvis det er muligt, så brug 'nøgler' istedet for passwords.

/Jan


ad 1: Det er lidt problematisk da mange firewall-administratorer blokerer for alle port udadgående - på nær 22. Og da jeg arbejder skiftende steder, så er det ikke en mulighed for mig.

ad 2: Her begynder jeg også altid.

ad 3: Ak, så sidder jeg bare med aben med at opdatere nøgler for brugerne hele tiden


Denne kommentar er blevet modereret af Dan Jensen

Computerworld har bannet en debattør ved navn "Bennonym", hvis indlæg er blevet slettet.

Det fremgår klart af debattens regler, at Computerworld ikke accepterer indlæg fra anonyme debattører.

mvh

Dan Jensen, nyhedsredaktør
Computerworld

.....og er der mon nogen der har tips til folk der kører Windows servere med samme problem?

Jeg får mindst et par gange dagligt en attack-report fra min ZyXel ZyWall 5 Firewall om at nogen har forsøgt at komme igennem - dog oftest vha. IP spoofing, men stadig tydeligvis meget systematisk og hastigt udført.

... og er du helt desperat, så installer "port knocking":
http://en.wikipedia.org/ (...)
http://www.debian-administration.org/ (...)

:)

Kommentér
Ytringer på debatten er afsenders eget ansvar - læs debatreglerne

Mere fra Nørderier


I forbindelse med Naturvidenskabsfestivalen har jeg idag givet et foredrag om grafteori for to 9. klasser.
30. september 2010 kl. 17.28 | læs »



Idag er det Ada Lovelace dag. Eller rettere, dagen for kvinder i
IT-branchen og datalogien. Måske virker det lidt underligt at jeg - som mand - sidder og skriver og kvinder i IT. Det er ikke fordi, jeg ikke kender kvinder, som arbejder med IT. Jeg kender bare mindst 10 IT-mænd for hver IT-kvinde.
24. marts 2010 kl. 08.00 | læs »



Det er ikke altid muligt at være online - og det skal dine web-applikationer tage hensyn til i fremtiden.
18. februar 2010 kl. 18.04 | læs »



I morgen fredag er der forespørgelsesdebat i Folketinget omkring åbne dokumentformater. Muligvis er der - i følge Folketingets kalender - først afstemning tirsdag i næste uge.
27. januar 2010 kl. 22.15 | læs »



Kommer du til Open Source Days 2010 den 5. marts, kan du opleve Nokia Open 2010.
20. januar 2010 kl. 09.42 | læs »









Mest læste seneste uge

Kan gratis sikkerhedssoftware virkelig beskytte din pc? Svaret er ja, hvis du vælger det rette produkt. Læs her en test af de mest pålidelige gratis sikkerhedsprogrammer.

Næsten 200 IBM-ansatte får med få timers varsel sidste arbejdsdag i dag. Ingen var orienteret forud for dagens massefyring, som effektueres øjeblikkeligt.

Flyselskabet SAS har brugt op mod trekvart milliarder kroner og seks år på at udskifte sit bookingsystem. Undervejs har der været flere projekt-udfordringer, som kulminerede en vinternat med en big bang-migrering.

Her er forklaringen på, at IBM Danmark med direktør Lars Mikkelgaard-Jensen i spidsen fyrer 170 medarbejdere.

IBM Danmark lader hovederne rulle.