Avatar billede geputzt Nybegynder
05. september 2003 - 23:05 Der er 12 kommentarer og
1 løsning

Hvordan implementerer man en firewall?

I et øjebliks angreb af storhedsvanvid blev jeg grebet af tanken om at implementere min egen firewall ála ZoneAlarm.

Jeg tænkte: "Hvor svært kan det være?! Du opsnapper da bare den udgående trafik fra dine applikationer og viser en pæn brugergrænseflade, hvor brugeren kan vælge om applikationen må gå på nettet eller ej! Den indgående trafik ditto!".

Men efter timers googlen, er det meget sparsomt hvad jeg har fundet frem til. Så hvis nogen har nogle tips til hvordan jeg går igang - eller endnu bedre har nogle gode links - så sætter jeg de maksimale 200 point på højkant. Information om hvordan man får adgang til TCP/IP protokol-stakken er specielt velkommen, da det virker til at være det største problem. Findes der et C/C++ API??? Skal der skrives en driver???
Avatar billede bufferzone Praktikant
05. september 2003 - 23:11 #1
Deter ikke så let det du der vil igang med, jeg foreslår at du studere tcp/Uip protokollen i alle dens detaljer, kikker på linux implementering af tcp/ip (da den jo er open source og så kunne du jo studere Smoothwall og IP-chains til linux da de jo også er open source, men jeg vil ikke lægge skjul på at denne opgave ikke er for begyndere.

Hvis din firewall skal være mere avanceret end som så, er du også nødt til at kikke på de andre protokoller og så bevæger vi os ind på applikatios proxyen og nu bliver det rigtig sjovt
Avatar billede bufferzone Praktikant
05. september 2003 - 23:12 #2
Du bør nok også kikke på stateful inspection, da dette begreb er et must hvis din firewall skal rejse sig bare lidt over gennemsnittet
Avatar billede geputzt Nybegynder
05. september 2003 - 23:28 #3
Den behøver nu ikke hæve sig over gennemsnittet. Det er mere for sjov. Jeg forstår bare ikke, hvorfor det skal det være så kompliceret. Da må da findes et API til TCP/IP et eller andet sted.

Hvis det bare nogenlunde lykkes for mig, så bliver det naturligvis open source. Apropos open source - findes der ikke en open source firewall til Windows? Ellers så kunne det her jo være en anledning til det, hvis der er nogen der er friske på en joint effort?!
Avatar billede squashguy Nybegynder
05. september 2003 - 23:34 #4
du kan jo prøve at kigge på http://sourceforge.net

http://www.rfc-editor.org kan du læse om de forskellige protokoller
Avatar billede langbein Nybegynder
06. september 2003 - 01:08 #5
Selve filtering funksjonene og for så vidt også routing funksjonene er jo bygget inn i Linux kernel. Slik har det vært i mange år, men det skjedde jo en del vesentlige endringer fra kernel 2.4.x Her kan man jo for så vidt printe ut selve source koden og studere detaljene hvis man ønsker det.

"Hovedkvarteret" for Linux kernel firewall er vel her:
http://netfilter.org

Videre så benyttes det jo en kommando eller script basert konfigureringsdel ved navn iptables, som gir en særdeles nøyaktig kontroll over datatrafikken gjennom kernel. Her kan man for eksempel sette opp forskjellige sett med firewall rules som vil kunne virke inn på forskjellige datastrømmer innenfor kernel.

Det interessante med Linux det er jo at den inneholder stort sett alle kjente firewalling prinsipper om enn ikke alle like godt gjennomførte, samtidig som det er åpen source. Mener at Linux så absolutt er det ideelle sted å starte og fjennomføre studiet av amlle firewall prinsipper.

Det er vel ellers prisippielt sett en ganske stor forskjell på det å prgrammere og senere konfigurere en firewall som kontrollerer trafikken internt innfor kernel kontra det å tilsvarende lage en firewall som ligger nærmest som et tillegg utenfor kernel og filtrerer trafikken til fra kernel.
Mange av de personal firewalls som leveres til Microsoft Windows er vel nærmes laget på denne måten (?)

Når det gjelder Linux så er det vel gjort diverse forsøk på å lage et standard grafisk grensenitt for konfigurering. Synes ingen av dem er helt vellykket. Noe av det bedre må vel være smoothwall, som er en dedikert Linux som bare er beregnet for å kjøre som firewall. Konfigureres via web basert grensenitt.
http://www.smoothwall.org

En annen variant for konfigurering av Linux er automatiske programmer for firewall script generering, bla denne som ble utviklet av eksperten medlem dank etter diverse diskusjoner her på eksperten: http://iptables.1go.dk

Synes at Linux firewall fortsatt må konfigureres "for hånd" dersom man skal få alle mulgheter med, men en slik script generator kan saktens gjøre at man kommer vesentlig hurtigere av gårde.

Linux firewalling anbefales i et minste som et godt utgangspunkt for å se nærmere på alle kjente og generelle firewalling prinsipper. Det vil vel faktisk være mulig å programmere endringer i ens egen private Linux kernel, men det vil vel neppe være overkommelig å programmere en ny. (Dagens variant av firewall delen av Linux 2.4.x kernel ble vel faktisk opprinnelig programmert i løpet av et års tid på heltid av Rusty Russel. Han hadde imidlertid den fordel at han først hadde programmert firewall delen av 2.2.x kernel også, slik at han hadde et godt utgangspunkt. Prosjektet ble etter det jeg kjenner til sponset og betalt av et amerikansk firma.)
Avatar billede langbein Nybegynder
06. september 2003 - 01:27 #7
Linux 2.4.x kernel firewall (Ca RedHat 7.0 og opp.) baserer seg på prinsippene for packet filtering og statefull inspection. (2.2.x kernel, for eksempel RedHat 6.2 benytter static packet filtering.)

Skal man studere prinsippene for "application level firewalling" så kan man gå i gang med å konfigurere firewall delen i "Suid proxy server". Den er temmelig tungvint å konfigurere hva firewall filtering angår, men det lar seg gjøre.
http://www.squid-cache.org/ (Selvfølgelig open source.)

En type firewalling som jeg faktisk tror mangler i Linux det er såkalt "prosessorientert firewalling" a la Zonealarm og Bitguard, altså et en prosess får lov til å slippe ut på nettet fordi den har et bestemt navn eller et bestemt prosessnummer.
Avatar billede langbein Nybegynder
06. september 2003 - 01:32 #8
Det finnes ellers også en litt spesiell proxy firewalling tilgjengelig for bla Linux ved navn socks 5 http://www.socks.permeo.com/ (har ikke spesielt mye erfaringer med den. Vet ikke om den fungerer like bra som det øvrige.)
Avatar billede langbein Nybegynder
06. september 2003 - 23:17 #9
Hvis man elles skulle lage en softwarefirewall som et slags tillegg til for eksempel Windows, så er jo problemet det at det allerede er etablert en komunikasjonskjede som fungerer i alle ledd fra brukerprogram og ut til internett. Dersom man programmerer en eller annen fitreringsenhet så vil jo ikke denne være i ingrep med denne dataflowen i det hele tatt, dvs den ville uansett ikke fungere som "firewall". En variant av dette måtte være dersom man selv gikk i gang med å programmere en web browser. Da skulle man jo i teorien kunne legge inn firewalling funksjoner i denne som fungerer ut fra et "application level" prinsipp.

Tror ikke det vil være videre enkelt å programmere prosgrm eller systemmoduler som erstatter og tar over for de eksisterende fuksjoner i Windows (Slik som utviklerne av Bitguard vel faktisk opplyser at de har gjort.)

Det overkommelige alternativet for en privatperson det må vel være å se på de mange muligheter som ligger i Linux. Her kan man helt klart for eksempel implementerer sin egen personlige variant av en hardwarefirewall a la smoothwall som fungerer ganske eksakt slik som man mener en firewall skal fungere. Variasjonsmulighetene skulle vel være tilnærmet uendelige.
Avatar billede langbein Nybegynder
07. september 2003 - 20:26 #10
Kom på en ting i etterkant .. Det som etterlyses i dette spørsmålet det er jo en API for programmering av firewalls.

API det betyr jo "Aplication Programming Interface". Har aldri tenkt over det fra den vinkel før, men Linux sitt iptables grensenitt er jo nærmest akkurat dette. "Firewall Scripting Interface" ville kanskje være mere dekkende, men prinsippet er jo nær identisk det samme.

I Linux så har man med andre ord to muligheter med hensyn til impementering av en firewall. Enten så kan man jobbe ut fra noe som likner på et API, dvs iptables og konfigurere ut i fra dette. Alternativt så kan man gi seg ut i selve kildekoden til kernel og forandre på denne. Skal man jobbe ut fra et API liknende grensenitt så må vel dette forutsette at dette grensesnittet er innarbeidet i operativsystemet ? Dette finnes hos Linux og navnet på dette grensesnittet er iptables.
Avatar billede geputzt Nybegynder
25. september 2003 - 14:50 #11
Jeg lukker nu.....At implementere en firewall er vist ude af scope for øjeblikket, men I skal have tak for forsøget. Det var meningen bufferzone skulle have halvdelen af pointene, men jeg kom vist til at give langbein dem alle. Kan I finde ud af at dele dem?
Avatar billede langbein Nybegynder
26. september 2003 - 01:17 #12
Takker for points :) Skal forsøke å finne ut av fordelingen !!
Avatar billede kenp Novice
26. september 2003 - 09:10 #13
bufferzone du skal hente point her: http://www.eksperten.dk/spm/405985
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester