It is easier to achieve a desired result in short pieces. – Gustav Mahler
Enhver hacker har brug for indgående forståelse for en masse ret tekniske emner og han eller hun har i virkeligheden brug for en bedre forståelse end ”den anden side” hvis han skal gøre sig håb om at kunne gennemføre sine hacks uden at blive opdaget eller i det mindste uden at blive opdaget før det er for sent.
I denne lektion skal vi bruge det vi har lært i de første 3 lektioner til at give os forståelse for hvordan en række at de mest brugte sikkerhedsværktøjer fungerer i detaljer.
Firewallen:
En firewall behøver ikke være en showstopper for en god hacker. Faktisk kan en firewall i nogen tilfælde betyde at det bliver lettere, fordi tilstedeværelsen af en firewall giver modparten en følelse af tryghed, som vi så kan udnytte. For at kunne udnytte og omgå en firewall er vi nødt til at have en dyb forståelse for hvordan en sådan virker. Start her med at læse artiklerne Firewall Typer forklar og Firewall Regler. Disse to artikler vil give dig en teoretisk grundlæggende forståelse for hvad en firewall er, hvordan der virker og hvad man skal overveje.
Vi skal nu til at arbejde med en meget konfigurerbar firewall i praksis, og til det skal du bruge din Linux maskine der selvfølgelig har en glimrende firewall indbygget i systemet. Start med at konfigurer din Linux maskine (gerne din virtuelle Linux maskine) således at du kan surfe på internettet, også via SSL (https), hente og sende din mail (gerne både web mail og med en mail klient SMTP og POP3), bruge FTP til at up- og downloade filer fra FTP servere på internettet, tilgå en anden maskine (f.eks. en anden virtuel maskine) via SSH og har du muligheden, så forsøg også med IPSec VPN eller PPTP VPN. Hvis der er nogen af disse ting du ikke helt forstår eller er helt sikker på så må du læse og finde oplysninger på nettet. Brug snifferen til at se hvordan kommunikationen flyder så du har noget at sammenligne med senere. Det er vigtigt at du ser at altidn virker før du sætter firewallen til, da firewallen jo ikke skal stoppe dig, kun alt skidtet.
Når din Linux maskine virker med alt sin kommunikation ud mod internettet skal du til at læse om netfilter der er den firewall som Linux kommer med fra fødslen. Der er ingen grund til at jeg skriver om denne firewall her, der er masser af gode ressourcer på nettet, men du er nødt til at læse for at kunne lave de her kommende øvelser.
Der er som sædvanlig en rigtig god grund til at jeg vælger netop denne firewall. Dels er den gratis så alle kan arbejde med den, den har som standard ingen intelligens, grafisk interface eller peg og klik konfigurering, vi skal selv gøre det hele fra kommandolinien og dermed sætte os ind i alle detaljerne og dermed er den helt perfekt til at lære med.
Når du kommer lidt i gang med at konfigurere din firewall vil du skulle bruge en editor til at skrive din firewall konfigurations fil med. Her vil jeg anbefale at du bider i det sure æble og tager editoren VI der bestemt ikke i udgangspunktet er let at lære at bruge. Grunden til at jeg anbefaler denne i stedet for meget lettere editore som f.eks. Nano eller Emacs (der er en helt fantastisk editor, der kan utroligt meget mere end blot editerer) er at du finder VI på selv helt barberede installationer af Linux, f.eks. firewall installationer, du har altid VI og ofte ikke de andre.
Øverser:
1. start med at sætte netfilter op som lokal/personlig firewall på din linux maskine. Konfigurer den så maskinen er helt lukket ned. Du må ikke kunne komme ud på nettet indefra, (snif på ydersiden af din Linux maskine, altså fra en anden maskine og husk at sniffe før du lukker firewallen så du er sikker på at du vil fange trafikken hvis der kommer noget). Prøv også at portscanne udefra så du er sikker på at maskinen slet ikke svare på noget som helst.
2. Herefter åbner du for en ting af gangen. Start med browsning (husk her at du også skal kunne lave DNS opslag for at kunne browse (hint: port 53)), derefter mail, FTP, SSL, SSH, osv. osv. Hver gang du har fået en ting til at kunne gå gennem din firewall så husk at portscanne udefra og snif på begge sider af firewallen så du er sikker på at fange både udefra og ind og indefra og ud.
3. Så skal der læses igen for nu skal du ibrugtage nogle af de special moduler der findes til netfiler. Igen er du nødt til at læse hvis du ikke er sikker på begreberne. Du skal tage følgende funktionaliteter i brug.
- Sørg for at din netfilter firewall er en stateful inspection firewall, kontroller at det er sådan og læs dig til præcist hvad dette betyder. Husk her at der er forskel på om en firewall er stateful eller statefull inspection. Kontroller hvad der sker hvis du f.eks. henter en meget stor fil med FTP (Filen skal være så stor at det tager mere end 10 minutter at hente) henholdsvis når firewallen er statefull inspection og når den kun er en almindelig pakkefiltreringsrouter.
- etabler ingress og egress filtrering
- prøv at blokkerer nogle IP adresser aktivt, både udefra og ind og indefra og ud
Igen skal du bruge snifferen til at sikre at det virker og til at se hvordan det virker
4. sæt herefter en Netfilter firewall op som en bastions firewall med en klientmaskine bagved og hvis du har muligheden så opsæt også nogle servere, f.eks. en mail- og en web server som du skal kunne tilgå både udefra og indefra, kig på DMZ begrebet og især flere (virtuelle) netkort i din firewall maskine
Til alle de forskellige øvelser bør du bl.a. bruge namp til at portscanne dem og forsøge at lave firewall omgåelse, kig også på tracerout, tracert og firewalker (ind til dine servere bag firewallen og brug tcpdump til at opnå indgående forståelse for hvad disse værktøjer gør og hvordan de virker)
5. (lidt avanceret og tager meget lang tid) Sæt et netværk op med flere forskellige maskiner bagved firewallen. Maskinerne behøver ikke alle være fysiske, du kan sagtens have flere virtuelle servere på en fysisk maskine. Du kan f.eks. bruge denne opgave jeg har skrevet til at designe dit net efter, her vil du også kunne få hjælp til opsætning af firewallen http://www.giac.org/certified_professionals/practicals/gcfw/526.php det er væsentligt at du forstår firewall scriptet og kan se sammenhængen med kravene til løsningen. Du kan endda læse hvordan du tester funktionaliteten af din firewall i et af kapitlerne
Til alle de forskellige øvelser bør du bl.a. bruge nmap til at portscanne dem og forsøge at lave firewall omgåelse, kig også på tracerout, tracert og firewalker (ind til dine servere bag firewallen og brug tcpdump til at opnå indgående forståelse for hvad disse værktøjer gør og hvordan de virker)
Firewallens log er også et sted du bør bruge nogen tid. Hver gang du laver et eller andet som firewallen håndterer vil det normalt resulterer i en log entry. Sørg for at se hvordan dette ser ud, du skal nemlig bruge det i næste lektion.
Hacking med bufferzone.dk