Servere koblet på Internettet

Hvilket operativsystem skal jeg vælge?

I næsten alle situationer skal du vælge det OS du har det bedste kendskab til.

Det burde ikke være nødvendigt at nævne, at jo flere systemer du kender, jo bedre kan du løse de fleste problemer. Hermed en stærk opfordring til at bruge og forstå mere end eet OS, een webserver og een database-server.

Under alle omstændigheder bør der holdes skarpt øje med sikkerhedsrettelser fra producenten af de valgte produkter. De fleste software producenter har email-lister hvortil sikkerhedsmeddelser bliver sendt. Hvis der benyttes open source, kan det anbefales at en kompetent person læser kildekoden af kritiske systemer igennem for sikkerhedsfejl.

Hvad er de første trin inden opkobling af min server til nettet?

Du bør formulere en sikkerhedspolitik da den giver dig retningslinier for hvor meget energi du bør bruge på sikkerheden af dit netværk og maskiner, og ikke mindst hvilke der er vigtigere end andre.

Inden du kobler din server på nettet skal du tage tid til at lukke ned for services du ikke har brug for. Sørg for at disse services heller ikke starter igen efter et reboot af din maskine. Fjern evt. helt det software du ikke bruger.

Derefter skal du notere dig navnet og versionsnummeret på de resterende services du har brug for, og melde dig på sikkerhedsannonceringslisterne for hvert program. Find med det samme ud af om der er sikkerhedsproblemer i de versioner du har installeret. Hvis der er, bør du installere den rette sikkerhedsopdatering.

Dernæst skal du sikre dig, at disse services er sat op som du forventer det. Gå alle konfigurationsfilerne igennem. Hvis du kun har et overfladisk kendskab til opsætningen af disse programmer kan det godt tage noget tid, men der er ingen let vej uden om. Slå hver eneste konfigurationsmulighed op i manualen og forstå konsekvensen af denne.

Sæt et host-baseret IDS op til at foretage integritetscheck af dine system- og konfigurationsfiler.

Nu kan du så koble maskinen direkte på nettet.

Hvordan kan jeg give brugere fjernadgang med minimal risiko?

I så vidt muligt omfang bør der benyttes krypterede forbindelser til alle administrationsfunktioner, og dette inkluderer kommandolinieadgang for almindelige brugere samt filoverførsler. På f.eks. UNIX systemer findes der ofte over 50 SUID root filer som hver især udgør en risiko, og dette antal skal bringes kraftigt ned (under 10, gerne færre) hvis systemet skal kunne modstå onde lokale brugere.

Det hjælper at bruge en anden form for brugervalidering end adgangskoder. Brugere vælger dårlige adgangskoder fordi de har 25 andre at huske på, så det er lettest for dem at bruge det samme over alt. Problemet med almindelige adgangskoder er, at det er meget svært at vide, om man har "mistet" det. Hvis din adgangskode er blevet gættet, sniffet eller fundet på en lille gul seddel kan det være svært at opdage.

Alternativer er blandt andet RSA- eller DSA-nøglefiler, S/Key, OPIE (One-Time Passwords In Everything -- engangs-adgangskoder til alt), fysiske tokens, etc. I det at der benyttes en valideringsmetode som en angriber ikke umiddelbart kan genbruge, sættes der en effektiv stopper for at eet indbrud betyder, at du skal geninstallere hele din maskinpark.

Valget af brugervalidering bør naturligvis altid reflektere værdien af de ressourcer som skal beskyttes, men eftersom validering der er stærkere end adgangskoder er tilgængelig til samme pris (gratis, bortset fra tiden til installation og brugerundervisning) er der sjældent nogle undskyldninger.

Hvordan kan jeg overvåge min server?

Ud over at overvåge de sædvanlige ting som diskplads, fri hukommelse, og CPU-brug bør der også benyttes loganalyse og integritetscheck.

Den bedste måde at lave loganalyse på, er ved at sende logfiler til en separat maskine som ikke laver andet end at logge. Med passende intervaller køres et tilpasset værktøj som kan genkende mulige sikkerhedsovertrædelser og sende besked til personalet.

Programmer som laver integritestcheck af dine system og konfigurationsfiler kan advare dig hvis der pludselig tilføjes en ny konto på dit system, eller hvis ssh og sshd bliver skiftet ud. Opbevar dataene for dit host-IDS på en anden maskine, en CD, eller på en skrivebeskyttet floppy diskette. Husk at deaktivere 'boot fra floppy' i BIOS, således at maskinen ikke hænger hvis den genstartes med disketten i drevet.

Kan jeg gøre mere for at forbedre sikkerheden af min server?

Korrekt implementering af ovenstående råd vil gøre en kæmpe forskel, og indtil du har totalt styr på disse områder vil det være spild af tid at kigge på andet.

Der er andre småting der kan hjælpe med at forbedre sikkerheden og, i nogenlunde den rækkefølge de bør overvejes, nævnes i flæng:

Hvis der ligefrem er villighed til at skifte alle gamle teknologier (f.eks. traditionel ftp adgang) ud med nyere (sftp) vil det være en god ting. Ofte er der modstand fra brugerne og/eller ledelsen på dette område.

Et andet forslag vil være at implementere integritestcheck af system- og konfigurationsfiler i kernen, således at filer som fejler checket ikke bliver loadet, og en advarsel bliver sendt til rette vedkommende. Dette forhindrer trojanske versioner af programmer i at blive udført i tilfælde af indbrud.

Yderligere er der mulighed for at skifte til et OS med en anderledes (mere opdelt) sikkerhedsmodel.

Hvad betyder beskederne i min webservers logfiler?

Din webserver logger alle HTTP forespørgsler den modtager, og det er dem du kan se i loggen. Hvis du let bliver skræmt over noget bestemt HTTP trafik bør du nok ikke være ansvarlig for en server.

Microsofts IIS 4.0 og 5.0 har været sårbare overfor adskillige kritiske sikkerhedsfejl og der er blevet udviklet computerbaserede orme (automatiske angrebsprogrammer) der udnytter disse fejl. Ormen kaldet Code Red blev først set aktiv i sommeren 2000, ca. 6 uger efter en patch for sikkerhedshullet den udnyttede var sendt ud. Nimda blev først set aktiv i 2002, adskillige uger efter en patch for sikkerhedshullet blev sendt ud.

Med mindre du kører en webserver med disse gamle sikkerhedproblemer er der ingen grund til bekymring.

Der har været indbrud på min maskine. Hvad gør jeg nu?

Stop angrebet ved at tage maskinen af nettet. Hvis det ønskes at den ansvarlige findes og bringes i retten frarådes det kraftigt at gøre noget som helst ved maskinen. Få fat i en sikkerhedsspecialist der er vant til at håndtere elektroniske indbrud. Det er utroligt let for uindviede at begå fejl der ødelægger beviser.

Når ovenstående opgave er afsluttet, eller det er besluttet at maskinens funktion skal genetableres så hurtigt som muligt tages en sikkerhedskopi af data. OS og applikationer geninstalleres fra sikre medier da en angriber trivielt kan lave ændringer ved systemet der giver ham mulighed for at komme ind igen uden at blive opdaget.

Husk at se hjemmelavet kode igennem for utilsigtede ændringer inden det lægges tilbage i produktion. Man føler sig rimeligt dum når ændringer i aktive websider (PHP, ASP, etc.) eller scripts kørt fra cron giver angriberen fuld adgang over det genetablerede system.

Hvis du er i besiddelse af en keystroke log eller et kryptografisk hash af alle systemfiler er det ikke nødvendigt at genetablere, men hvis du har den slags, havde du nok ikke brug for at læse dette spørgsmål.

Mit domæne bliver brugt som falsk afsender på spam!

Du kan desværre ikke stoppe strømmen af bounce mail der kommer ind i hovedet på dig. Overvej evt. at outsource driften af mailserveren hvis det er et stort problem, så du kan koncentrere dig om noget andet.

Hvad du derimod kan gøre, er at finde aspekter af bounce beskederne, der ikke svarer til hvordan dit netværk ser ud. Det kan f.eks. være en From, Content-Type, X-Mailer eller anden SMTP header der simpelthen ikke kan være sat af en maskine på dit netværk. Man kunne forstille sig, at X-Mailer var sat til en gammel eller anden mail klient end den jeres netværk bruger.

Lad din MTA slette eller gemme disse beskeder på en måde, så den daglige drift ikke bliver forstyrret.