Netværk
I den første artikel om egen billig server via ADSL, satte vi serveren og pc'en op på samme netværkssegment - eksempel 1 på tegningen nedenfor. Det vil sige, at der ikke var gjort noget for sikkerheden. Den eneste sikkerhed, der var i eksemplet, var videresendelse af porte i routeren.
Det er således ikke en særlig sikker løsning. Det vil naturligvis være bedre med en firewall mellem netværket og internettet. Det vil vi implementere denne gang. Vi baserer stadig hele installationen på standard ADSL via en Cisco 677 router, som for eksempel Tiscali og Cybercity leverer. Og vi bruger stadig en pc med Windows 2000 som arbejdsstation og en pc med det gratis styresystem E-Smith som server.
Vi har prøvet en løsning med en ekstra server, der rummer det gratis firewall-produkt Smoothwall (tegning 2). Og vi har prøvet at installere E-Smith med indbygget firewall (tegning 3).
Løsningen med den ekstra server, er naturligvis den mest sikre og mest elegante, men den koster altså en ekstra server. Vi brugte en oldnordisk pc med 400 MHz Pentium II, 128 megabyte hukommelse og 10 gigabyte harddisk, men den støjer, og så har man to larmende servere derhjemme.
Til gengæld får man en installation med en fuldblods firewall med ægte DMZ (demilitariseret zone) og intrusion detection - altså overvågning af hackerangreb. DMZ gør, at man kan have et netværkssegment, der er åbent mod internet (til webservere, mailservere og så videre), og et netværkssegment til pc'er og interne servere, hvortil der ikke er adgang fra internet.
Løsningen med E-Smith som firewall og server virker fortrinligt. I teorien er det nok en mindre sikker løsning, da firewall og server ligger på samme fysiske maskine, men det er til at leve med, når det gælder en opsætning i hjemmet. Det er under alle omstændigheder en mere sikker løsning, end den vi lavede i første artikel. I forhold til opsætningen i sidste artikel kræver denne ændring kun et ekstra netkort.
Begge disse løsninger kræver flere netkort, og her er det værd at bemærke, at ikke alle netkort kan bruges uden videre. Både Smoothwall og E-Smith er baseret på Linux, og vi havde problemer med nogle nyere netkort. Ved at grave lidt inde i ISO-filerne, fandt vi ud af, at netkort med chipsættet 81xx fra Realtek virkede.
Det var ganske heldigt, for den slags netkort er nok de billigste på markedet, og de har alle nødvendige faciliteter. Vi købte nogle PCI-baserede 10/100 Mbit netkort, der kostede sølle 79 kroner stykket. Skal man have en SmoothWall firewall, skal der helst tre netkort i serveren. Skal man bruge E-Smith som firewall, skal den server have to netkort.
Den kvikke læser vil nok kunne se på ovenstående tegninger, at switchen slet ikke er nødvendig i vores to nye opsætninger. Har man kun én pc, kan den forbindes direkte til Smoothwall eller E-Smith serveren. Man skal blot huske på, at forbinder man pc'er direkte til hinanden eller en pc direkte til en router, så skal der bruges krydsede kabler. Forbinder man pc'er og routere via switche eller hubs, skal der bruges almindelige (altså ikke-krydsede) kabler.
Det kan virke forvirrende, at der nu bruges to NAT-lag. Det vil sige, at den rigtige IP-adresse 213.234.66.150 først bliver oversat til 192.168.1.x i opsætningen med Smoothwall for derefter at blive oversat til 192.168.20.x for at nå E-Smith serveren. Det skal man ikke tænke på. Det virker - både fra internettet til din server og fra din pc eller server til internet, og det kører helt automatisk.
Router
I den sidste artikel brugte vi routeren til intelligensen. Det vil sige, at vi programmerede Cisco 677 routeren til at videresende trafikken på udvalgte porte til vores E-Smith server. Det skal naturligvis ikke gøres i disse eksempler. Nu skal E-Smith serveren eller SmoothWall firewall'en stå for intelligensen. Det vil sige, at routeren nu skal sende alt trafik videre uden overhovedet at kigget på det.
Inden man går i gang med NAT på routeren, skal man lige se, hvordan det er konfigureret lige nu. Det gøres ved kommandoen:
show nat
Hvis der allerede er en del NAT-indstillinger, så skal de slettes. Man kan slette én indstilling ad gangen, men da vi skal af med alle sammen, så kan det gøres med én simpel kommando:
set nat entry delete all
Nu er alle NAT-indstillinger væk. Derefter skal vi have routeren til at videresende alt trafik ukritisk. Det gøres ved denne kommando:
set nat entry add 192.168.1.2
Det gøres ved ikke at specificere porte, men blot skrive den interne IP-adresse. Ovenstående kommando virker med begge vore eksempler, for både Smoothwall og E-Smith bruger denne adresse mod routeren.
Smoothwall
Det er superlet at hente og installere Smoothwall på en pc. Det fylder kun cirka 20 megabyte. Man henter programmet fra dets website på www.smoothwall.org. Derefter skal det brændes på en cd som ISO. Start så pc'en med denne cd i, så kører installationsprogrammet helt automatisk, hvis pc'en kan håndtere den slags. Hvis ikke må du lave en start-diskette.
Man skal naturligvis have en skærm på serveren, når man installerer, men bagefter kan den fjernes permanent - ligesom med E-Smith. Bemærk i øvrigt, at installationsprogrammet overskriver hele harddisken uden at spørge.
Selve installationen er simpel. Smoothwall bruger navnene rød, grøn og orange linje. Den røde linje er netværkskortet mod internettet. Den orange linje er netværkskortet mod de servere, hvortil der er adgang fra internet. Og den grønne linje er netværkskortet mod din pc - altså dit interne netværk.
Man kan installere Smoothwall uden den orange linje (også kaldet DMZ), men vi prøvede med denne.
Når man installerer, skal man vælge, hvilket netkort der skal bruges til hvilken af disse tre linjer. Man skal også angive IP-numre, som kan ses på tegningen.
Du kan bruge Smoothwall uden overhovedet at lære eller se en Unix-kommando. Alt kan styres visuelt via en browser - ganske som på E-Smith. Du får adgang til administrationen ved at skrive https://192.168.20.1:445 i din browser, hvis du bruger de adresser, som vi har valgt på tegningen. Kodeordet er det, du valgte under installationen.
I den foregående artikel lå alle server-funktioner på E-Smith serveren. Når man både har Smoothwall og E-Smith, kan det være fornuftigt at lade de to servere deles om opgaverne. Vi lod Smoothwall køre DHCP-server, DNS-server og proxy-server, for de ting er indbygget i produktet.
Menupunkterne i Smoothwall er stort set selvforklarende. Der er dog lidt manuelt arbejde i at videresende trafik til vores E-Smith server. Problemet er det samme som i den tidligere artikel.
En bruger på internettet prøver at få fat i din webserver. Han skriver ditnavn.dyndns.org i browseren. Adressen bliver oversat til 213.234.66.150 af hans DNS-server. Nu forbinder hans browser sig med din router via protokollen TCP på port 80. Routeren er nu sat op til at være uintelligent. Den videresender trafikken til 192.168.1.2, hvilket er Smoothwalls røde linje. Smoothwall skal nu sende den trafik videre til din E-Smith server på den orange linje, der har adressen 192.168.20.2.
Smoothwall er en firewall, så det første, der skal gøres, er, at fortælle den, at TCP port 80 er åben. Alt er jo lukket som standard. Det gøres i menupunktet Services + External service access, hvilket ses her.
I dropdown-boksen vælges protokol, som her er TCP. Indtastningsfeltet Source IP efterlades tomt, for det her gælder alt indgående trafik. I Destination Port skrives 80, for så er der åbnet for webservere i firewallen. Sørg for, at der er et flueben i Enabled - og tryk så på Add.
Dernæst skal man fortælle Smoothwall, hvordan den skal videresende denne trafik. Det gøres i menupunktet Services + Port Forwarding, som ses her.
I dropdown-boksen vælges protokol, som her er TCP. I indtastningsfeltet Source Port skrives 80, for det er den port, som webservere bruger. I indtastningsfeltet Destination IP skrives adressen på den server, der skal modtage trafikken. Og i Destination Port skrives den port, som serveren skal bruge. Det er i dette tilfælde også 80, da E-Smiths indbyggede webserver lytter på den port. Sørg for, at der er et flueben i Enabled - og tryk så på Add.
Dette skal gøres med alle de serverprogrammer i E-Smith, som man vil have, at der skal være adgang til udefra. Portnumre og adresser kan ses i den foregående artikel.
Det er stort set alt. Nu kører Smoothwall. Programmet er faktisk imponerende, når man tænker på, at det er helt gratis. Man kan installere rettelser fra producenten direkte i browseren. Man kan overvåge trafik via nydelige grafer, og man kan holde øje med brugere, der prøver at bryde sikkerheden. Vi havde adskillige hackerforsøg på bare et par timer.
Smoothwall har et stort minus. I den foregående artikel satte vi E-Smith op som VPN-server via PPTP. Det skal i denne konfiguration klares af Smoothwall. Problemet er blot, at det er meget vanskeligt at konfigurere. Vi måtte opgive, og ved at læse diverse nyhedsgrupper, kunne vi se, at vi ikke er de eneste, der har kastet håndklædet i ringen.
Den opgave er ellers let i E-Smith. Der skal VPN slet ikke konfigureres. Der skal man blot vælge, om funktionen er aktiv eller ej, og hvor mange brugere, der i givet fald skal have krypteret adgang til det interne netværk.
E-Smith som firewall
Det er meget let at installere E-Smith som firewall - og altså droppe Smoothwall. Man skal blot bruge to netkort, og under installationen skal man så vælge "server and gateway", hvor vi i den foregående artikel valgte "server only".
Man skal vælge "dedicated" og ikke "dialup" under "server and gateway", da vi i vores eksempel bruger ADSL og ikke en telefon- eller ISDN-forbindelse.
Man skal indtaste de IP-numre, som de to netkort skal have, og vi brugte dem fra tegningen. Når installationsprogrammet taler om "local interface", menes der netkortet mod det interne netværk. Programmet kalder det netkort, der vender mod internet og routeren for "external network". Resten af installationen er som i den foregående artikel.
En smart detalje i denne variant er, at intet skal konfigureres. Når E-Smith er installeret på denne måde, så kører alt, når maskinen starter første gang. Firewallen blokerer alt trafik mod den eller de interne pc'er, og den tillader trafik til E-Smiths egne serverprogrammer.
Det vil sige, at der er adgang fra internet til programmer som webserveren, mailserveren, ftp-serveren, LDAP-serveren, VPN-serveren, SSH-serveren og så videre, hvis du vælger dette i administrationsdelen. Af en eller anden grund blokerer E-Smith for adgang til MySQL database-serveren udefra. Det skal man altså åbne for, hvis der skal være adgang.
Der er ikke adgang fra internettet til serverprogrammer som fil- og printserveren, DHCP-serveren, proxy-serveren og DNS-serveren. Det er kun de interne pc'er, der kan se dem. Proxy-serveren Squid er oven i købet sat op som transparent proxy, hvilket vil sige, at den ikke skal konfigureres i klienterne.
En detalje: I den foregående artikel brugte vi ikke E-Smith som DHCP-server. Det betød, at man skulle udfylde detaljer i klienterne, hvilket i vores tilfælde var TCP/IP-indstillinger i vores pc med Windows 2000. Hvis man bruger E-Smith eller Smoothwall som DHCP-server, så behøver man slet ikke udfylde noget i pc'en. Man skal blot angive, at den henter sin IP-adresse automatisk. Så får den også IP-nummeret på gateway og DNS-server automatisk.
Bemærk også, at denne installation faktisk er langt simplere og hurtigere end den, vi lavede i den foregående artikel. Her skal der kun skrives et par kommandoer til Cisco routeren, hvor vi i den anden artikel skulle indtaste en lang række kryptiske kommandoer.
Hvis man vil åbne op for adgang til MySQL udefra, eller hvis man har flere servere, og E-Smith skal videresende trafik til dem, så kommer man på en større manuel opgave. Det kan sagtens lade sig gøre, men det gøres med kryptiske Unix-kommandoer. Her er der ingen hjælp i den browser-baserede administrationsdel.
Firewall'ens regler ligger i filen /etc/rc.d/init.d/masq, men det er ikke læsning for tøsedrenge. Her skal man holde tungen lige i munden. Man må i øvrigt heller ikke ændre denne fil direkte. Med E-Smith ændrer man den slags i templates.
Man kan klare problemet med MySQL på denne simple måde - uden at skulle forstå de komplicerede kommandoer i filen masq. Man kopierer filen 45DenyMySQL fra:
/etc/e-smith/templates/etc/rc.d/init.d/masq/
Til mappen:
/etc/e-smith/templates-custom/etc/rc.d/init.d/masq/
Der skal oprettes en del mapper undervejs, da denne sti ikke findes. Derefter skal kopien åbnes og ændres. Man kan få blokeringen fjernet ved at placere tegnet # i starten af hver eneste linje. Så skal den rigtige fil overskrives, og det gøres ved at køre denne kommando via en SSH-klient fra en pc:
/sbin/e-smith/expand-template /etc/rc.d/init.d/masq
Derefter skal man fortælle serveren, at konfigurationen er ændret. Det gøres med denne kommando:
/sbin/e-smith/signal-event console-save
Bemærk, at man nu har tre versioner af filen masq. Der er den rigtige version, som systemet bruger. Der er E-Smiths oprindelige template, og der er din ændrede template, der overstyrer E-Smiths template.
Et lille tip: Der er programmører, der laver udvidelser til E-Smiths administrationsdel. Og der findes faktisk udvidelser til netop dette. Det vil sige åbning af porte og videresendelse af trafik. Vi har installeret dem, men ikke gennemtestet dem. De kan hentes her. Se efter "port opening" og "port forwarding".