02. november 2004 - 22:13Der er
23 kommentarer og 1 løsning
iptables til firewall i linux
Jeg har nu brugt flere uger på at få iptables til at virke, og nu kommet så langt (synes jeg selv:D) at jeg skal have sat nogle regler op, men må indrømme jeg ikke forstår ret meget af hvordan det gøres. Så hvis nogle skulle kende en god artikel til hvordan det sættes op, er jeg meget interesseret, og med god mener jeg selvfølgelig nem.
Foreslag til scripts er også velkommen, men spørgsmålet går hovedsageligt ud på at få noget viden om iptables, da jeg gerne vil vide hvad jeg har til at køre.
Nu til facts: Jeg bruger Redhat fedora Core 2 (Hvis det skulle have nogen betydning)
Jeg skal bruge iptables til at lave en firewall, som skal placeres lige før min router, routeren understøtter NAT. Serveren med linux har 2 netkort, hvor det ene så er forbundet til netværket og det andet til routeren. Der skal ind til videre ikke køre nogen betydelige services på serveren til at starte med, men meningen er at der nok kommmer en Counter-strike server, samt FTP, så dette burde måske tages med i overvejningen når sådan et script laves?
På nedenstående link kan du hente en rapport skrevet af Protegos tekniske chef. Den indeholder bl.a. en rigtig god tutorial til hvordan du kan opsætte en NetFilter firewall (IPTables)
"Jeg skal bruge iptables til at lave en firewall, som skal placeres lige før min router, routeren understøtter NAT."
Det blir jo litt spesielt, å plassere en netfilter firewall foran en nat router.
Litt av hengig av hva slags internettilkopling du har så kan det tenkes at den eneste måten å sette opp dette vil være ved å sette opp en netfilter firewall som kjører i bridge mode. De aller fleste guides og slikt omhandler jo kun oppsett i routing mode som er "standardmåten" ved konfigurering av Linux firewall.
Dersom du eventuelt hadde satt opp i motsatt rekkefølge, så ville det faktisk ha vært vesentlig enklere, først adsl router modem ut mot internett og så Linux router firewall på innsiden av denne. Å kjøre to slike routere eller routing firewalls i serie på denne måten er faktisk ganske like til.
(Har testet den varianten med Linux routing firewall på innsiden mange ganger. Har også laget og testet ut en Linux bridge firewall som for så vidt, kanskje kunne stå utenfor et adsl router/modem, men jeg har så langt regnet en slik løsning som så spesiell at jeg ikke har sett noen grunn til å teste det.)
Mener at dersom man ønsker å ha to routere eventuelt routing firewalls i serie, så bør Linux varianten av denne stå på innsiden på grunn av pålogging og slike ting.
Eller kan det være at du mener "før" sett fra innsiden, dvs fra lan, slik at det allikevell dreier seg om en firewall som skal stå på innsiden av adsl router/modem ?
Ovenstående er hvad jeg for ud af scriptgeneratoren. Jeg synes bare det ser ret simpelt ud, er den så sikker? Der skal somsagt køre ftp på serveren, og jeg vil gerne kunne fjernstyre den over ssh.
De tre linier der lukker for alt, er god firewall script kultur. Da du efterfølgende appender regler til reglsættet, bør du altid starte med at flushe kæderne og lukke alt, så risikere du ikke at et eller andet er åbent før resten appentes.
Hvis alt er åbent fra starten, vil de andre regler aldrig komme i brug.
Når det gjelder det scriptet som står over og som er hentet ut fra firewall script generatoren så kan dette ikke benyttes til å beskytte et lan som ligger bak denne firewall.
Skriptet mangler postrouting rule, dvs det kan ikke ivareta source nat eller en delt utgående internettforbindelse. (Hvis det var meningen.) Det mangler dessuten firewall filtering rules som åpner for trafikk fra lan til wan (internett). (Og her står policy til drop.)
Scriptet fra firewall script generatoren er et meget simpelt script som til en viss grad vil kunne beskytte firewall maskinen selv, dersom den brukes som work station. Ved siden av å kunne fungere som workstation så vil den også kunne kjøre som ftp server.
Det vil være helt lukket av for trafikk til PC'er på lan bak firewall.
Lastingen av disse kernelmoduler er meningsløs:
modprobe ip_nat_ftp modprobe ip_conntrack_ftp
Fuksjonen til disse er å støtte en nat funksjon som ikke står definert i dette scriptet i det hele tatt. (På den annen side så er det heller ingen stor ulykke å laste dem, selv om de ikke har noen fornuftig funksjon.)
"Jeg synes bare det ser ret simpelt ud, er den så sikker ?"
De scriptene som kommer ut fra script generatoren er script i iptables på nesten aller enkleste nivå. De inneholder blandt annet følgende begrensninger:
1. Er bare beregnet for å kunne fungere som routing eller filtering firewall. Er ikke beregnet for bridge mode. Må fungere som en router i forhold til et bakenforliggende lan. (Med de ulemper og spesialiteter som følger av dette.)
2. Har full åpning for utgående trafikk. Ingen begrensninger for trojanere, ormer, og hva det skulle være, for eksempel de som måtte befinne seg på Windowsmaskinene bak firewall. Her er det full åpning ut. (Slik at det vil kunne være en fordel å kombinere med en personal firewall på Windows maskinene.)
3. Har ingen beskyttelse mot spoofede, dvs forfalskede ip pakker som benyttes i mange hacker programmer.
4. Har ingen ting som kan beskytte mot dos eller ddos angrep (overbelastingsangrep).
5. Har ingen ting som kan beskytte mot buffer overflow.
6. Ingen beskyttelse mot virus, trojanere, osv, osv.
7. Statefull inspection "mekanisme" har tidligere vist seg å være mulig å "spoofe" dvs å trenge gjennom. (Det har kommet kernel upgrades i forbindelse med dette.)
8. Ingen setting av systemvariabler som bidrar til å "hardne" det bakenforliggende Linux operativsystemet.
De firewall scripts som genereres ut fra web siden er ikke spesielt sofistikerte eller spesielt avanserte, men til daglidags hjemmebruk, så kan det i praksis holde bra allikevell. Scriptene kan lages vesentlig mye mer avansert enn dette, men det er på den annen side bedre å ha et meget enkelt lett overskulig script der man vet eksakt hva scriptet gjør, enn et meget avansert og uoverskuelig script som i realiteten kan ha store sikkerhetsmangler som følge av at man ikke kan overskue hvordan scriptet egentlig fungerer.
Man må vurdere totalen og helheten i det hele.
Dersom Linux firewall står bak en annen Nat router (som i realiteten også vil fungere som en firewall), og dessuten personal firewall på arbeidsstasjonene så skal det ikke særlig mye til før at Linux firewall blir sikker nok.
Med litt en litt mer utfyllende beskrivelse av hva firewall i dette tilfellet faktisk skal gjøre, dvs oppgaven den skal utføre, så går det ann å legge noen flere tips (hvis de kan brukes.)
Ved ikke rigtig hvordan jeg bedre kan beskrive hvad den skal bruges til. Men firewallen skal bruges til at beskytte 3-4 pc'er på mit lan. Så alt trafik på LAN'et skal igennem Linux firewallen. Grunden til dette er mine forholdsvis "dumme" familliemedlemmer der ikke kan administrerer en personlig firewall på deres pc ordenligt.
Jeg har tegnet en lille tegning af mit LAN i paint, men man burde kunne se meningen med det: http://upit.dk/files/lan.JPG
Tegningen viser et oppsett med faktisk to firewall/routere i serie. Ut i fra et slikt oppsett så må vel en standard Linux firewall a la iptables script dk holde i lange baner.
Men skal det ikke være noen server funksjoner i dette oppsetet ?
Slik som du har tegnet tingene så finnes det jo flere muligheter. En av dem er et ganske avansert oppsett med dmz basert på 2 separate firewalls, ettersom det jo allerede er to firewall tegnet inn på tegningen.
Pr dags dato, dvs før du har satt opp noen Linux firewall, mon om du da bruker lokale ip adresser på lan ? Hvis du i linux taster "ifconfig" eller i Windows "ipconfig" hva slags ip adresser finner du da at det er på lan ? (Dersom dette er lokale adresser, da er sannsynligvis den eksisterende router en nat router, dvs en router som i praksis også har innebygget firewall funksjon.)
Og der skal være et par server funktionen, glemte dem bare. Jeg regner med at PC'en, som skal køre linux firewall, og skal køre FTP, og CS-server. Som det er nu kører den faktisk FTP.
All den tid at det hele skal stå bak en nat router og det dreier seg om et hjemme pc nettverk, så holder det fint med en Linux firewall av den type man kan sette opp ved hjelp av script generatoren .. dvs, det kan vel diskuteres om hvirvidt dette er overkill allerede.
Har selv prøvd ut stort sett alle de prinsipp variantene som jeg har lest om på internett, men med opp til 5 bokser for å ivareta firewall og serverfunksjoner, i et vanlig hjem så bli liksom dette litt vel mye mht plass og støy.
Har nå endt opp med å kjøre en enkelt hardware nat router (Netopia) som inngang og så alle servere og arbeidsstasjoner på et felles lan. Det er i grunnen det som jeg synes gir "passende sikkerhet" for meg. Brukte div personal firewalls på arbeidsstasjonene, men nøyde meg etterhvert med XP sin innebygde. Selvfølgelig så ville det jo gi litt ekstra såkalt "sikkerhet", men ut i fra mitt "sikkerhetsbehov" så synes jeg ikke det har så mye for seg. Kjører forresten alltid input firewall på Linux serverne, fordi dette er enkelt å sette opp og ulempene nesten ingen.
Hvis man ønsker å sette opp en nat gateway med div serverfunksjoner, så kan man selvfølgelig det. (Har testet med 2 og 3 nat routere i serie og det har fungert helt ok).
Hvis man skal bruke script generatoren til å lage en slik firewall/gatway/server så blir det vel omtrent noe slikt: #!/bin/sh
# iptables script generator: V0.1-2002 # Comes with no warranty! # e-mail: michael@1go.dk
Ja, har ikke haft så meget tid til at se på det, men det lader til at virke, tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.