04. juli 2006 - 18:43Der er
11 kommentarer og 3 løsninger
Generelt om ssh og sikkerhed
Hej alle sammen
Jeg har en server stående, som jeg bla har brug for ssh adgang til. Jeg vil jo naturligvis gerne ha min server så sikker som mulig, dog uden den bliver besværlig for mig selv at bruge.
Jeg kan se i loggen fra den at der er temmelig mange der prøver at logge på den via ssh, og langt de fleste forsøg er klart nok som root.
Da jeg selv rejser meget, så jeg sjældent har samme ip, kan jeg ikke bruge ip filter som sikkerheds faktor
Hvad skal jeg gøre ved det her?
kan jeg sætte op (ved forresten ikke om det er standart) så sshd fx giver en ip 3 forsøg på at logge en bruger på, derefter bliver den ip banned i fx 1 time, her efter har man 3 nye forsøg, klare man ikke dem, bliver ipen banned i 1 dag, osv... ?
Jeg akspeterer i all enkelhet den risken. Har aldri sett noen som har vaert i naerheten av rett passord. Har kjoert i aarevis uten aa bli hacket.
"kan jeg sætte op (ved forresten ikke om det er standart) så sshd fx giver en ip 3 forsøg på at logge en bruger på, derefter bliver den ip banned i fx 1 time, her efter har man 3 nye forsøg, klare man ikke dem, bliver ipen banned i 1 dag, osv... ?"
Dette var da en meget god ide. Kan ikke bygges inn i firewall, men i forhold til serveren saa skulle da dette teoretisk vaere mulig.
Jeg vil anbefale at du som pkt. 1 ikke tillader root at logge på via ssh (gøres i sshd_config). Du kan også overveje kun at tillade logon vha ssh keys. Det betyder dog at du skal have nøglefilen med dig, men det er væsentligt sværere at gætte en key end et password (selvom det burde være nok, hvis du bruger både uppercase, lowercase og tal)
Ja, jeg har lavet en konto på den som har ca ligeså besværligt et navn som det password brugeren har, gør jo da minimun sikkerheds niveauet ^2 større :)
Men aligevel, jeg er jo lidt paranoid, så alt der gør sikker gør godt :)
Du kan ikke gøre noget ved brute force forsøg og der køre masser af den slags på nettet. De fleste anvender lister med almindelige brugernavne og passwords. Den slags er du så godt beskyttet mod som du kan ved at bruge lange kryptiske ord med både store og små bogstaver, tegn og specialtegn som både brugernavn og password.
Problem nr 2, er at SSH har været plaget af en række huller gennem tiden, det er derfro meget vigtigt at du sørger for at opdaterer din SSH installation og at du følger med hele tiden i om der skulle være kommet flere opdateringer siden sidst.
Husk også at stramme op på din generelle sikkerhed bagved SSH forbindelsen. Sørg for at den bruger du logger på SSH forbindelsen har så få rettigheder som muligt og dit system er så tunet som muligt så der er så få muligheder skulle en komme gennem første lag.
Endelig kan du være lidt dynamisk i dit setup. Disable dit SSH setup når du er hjemme og ikke har brug for den. Hvis den ikke er aktiv, så kan den ikke findes og man kan heller ikke arbejde på at hacke den. Sniff hvad der sker, forsøg at se om der er mønstre i IP adresserne og forsøg at blokkerer adresser der klart ikke har lov til at gå på, hvis du f.eks. rejser til sydeuropa, så er der vel ingen grund til at russiske, kinesiske og brazillianske IP adresser har lov til at tilgå forbindelsen.
En annen variant som jeg bruker selv tid om annen det er aa ikke la ssh paaloggingen vaere direkte aapent tilgjengelig, men via en annen pc/server hvis noe slikt skulle finnes.
Har selv kjoerende en Windows (egentlig XP) server pluss et par Linux der hjemme. Her har jeg laget ssh tilgangen slik at man foerst maa logge paa Windows serveren via Windows remote desktop. Denne lar jeg saa kjoere paa en ikke standard port, for foerst og fremst for aa komme enkelt forbi diverse utgaaende firewalls. Bruker port 443 for Windows remote desktop. SSH paaloggingen paa de to Linux boksene skjer saa via Windows remote desktop, slik at ssh paaliggingen ikke ligger aapent ut mot internett.
Hvis man har mer enn en server kjoerende, enten hjemmes hos seg selv eller ute paa nettet, saa kan det lages mange forskjellige varianter av slik indirekte paalogging.
Fungerer i de fleste tilfeller helt ok.
Tror ellers ikke det er store kjente sikkerhetshuller paa de ssh serverne som man installerer naa i dag. Hva bestaar i saa fall de i ?
Nok en variant er aa la ssh paaloggingen vaere tilgjengelig bare paa visse tidspunkt. Dette kan styres rimelig nemt via firewall. Imidlertid ikke alltid saerlig praktisk.
Indirekte paalogging via annen server, paa web eller hjemme hos seg selv fungerer ganske problemfritt.
sshutout is a daemon that periodically monitors log files, looking for multiple failed login attempts via the Secure Shell daemon. The daemon is meant to mitigate what are commonly known as "dictionary attacks," i.e. scripted brute force attacks that use lists of user IDs and passwords to effect unauthorized intrusions. The sshutout daemon blunts such attacks by creating firewall rules to block individual offenders from accessing the system. These rules are created when an attack signature is detected, and after a configurable expiry interval has elapsed, the rules are deleted.
Denyhosts er også et alternativ. http://denyhosts.sourceforge.net/ Vær også omhyggelig med brugerkonto/passwords - Jeg har desværre set et par systemer blive brudt på den måde.
Jeg har desværre ikke haft tid til at prøve budene endnu, men jeg syntes umidlbart bedst om sshutout, så det vil jeg prøve. mfalck du skal ha nogle points, kom med et svar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.