Tulemüür M0n0wall

From EIK wiki

Autor: Liisa Tallinn (Ltallinn)

Sissejuhatus

M0n0wall tasuta vabavaraline tulemüüritarkvara, mida saab kasutada nii tavalistel PC-del kui ka sardsüsteemidel (embedded systems). Põhiliseks M0n0walli erinevuseks teiste vabavaraliste tulemüürisoftidega on see, et M0n0wall loodi algusest peale PC sardsüsteemide jaoks. Tarkvara on püütud teha võimalikult lihtsaks, et ka vähem kogenud kasutajatel oleks mugav seda kasutada. Pärast alglaadimist töötab programm täielikult RAMil. Kogu süsteemi konfiguratsioon on kokku koondatud ühte XML faili, et hoida süsteem võimalikult läbipaistev. M0n0wall on arvatavasti esimene UNIX-i süsteem, mille alglaadimisel tehtav seadistus tehakse PHP põhiselt, mitte nagu tavaliselt shelli skriptidega. M0n0wall on vabatahtlike arendajate projekt, mida juhib endiselt selle looja Manuel Kasper.

Ajalugu

M0n0walli peamiseks autoriks on Manuel Kasper, kes hakkas M0n0walli arendama veebiliidesena FreeBSD operatsioonisüsteemile. Peagi sai sellest terviklik tulemüürilahendus. Seejärel tõdes Kasper, et tavaline shelli-põhine Unixi seadistamine on ebamugav võttis süsteemi seadistamiseks alglaadimisel kasutusele PHP. See võimaldab konfiguratsioonifaile hoida ühes kindlas XML failis ja lubab hoida süsteemikujutist väikesemahulisena. M0n0walli esimene avalik beetaversioon avaldati veebruaris 2003. M0n0wall v1.0 valmis aasta hiljem. Pareguseks (aprill 2010) on lõpetatud versioonini 1.2 arendamine, parandatakse vaid olulisi turvaauke jm suuremaid programmivigu. Käib versiooni 1.3b arendamine (põhineb FreeBSD 6.x-l), mis viib lõpuks välja m0n0wall 1.3 avaldamiseni.


Omadused ja funktsioonid

- Olekuga paketifiltreerimine (stateful packet filter firewall). Blokeerimis- ja loareeglid kõikidel liidestel ja logimistel.

- Internetiprotokolli andmeturbe (IPSec) ja kakspunkt-tunnelkontroll (PPTP) virtuaalsed privaatvõrgud (VPN)

- Nii sissetulevate kui väljuvate võrguaadressite paindlik ja vabatahtlik ümbernimetamine (NAT); pordiaadressite ümbernimetamine (PAT)

- DHCP klient, PPPoE, PPTP toetus laivõrgu liidesel

- DHCP server, eraldi seadistatav kõikidele liidestele

- DNSi edastaja puhverdamine valikuliste staatiliste sisestustega (caching DNS forwarder with optional static entries)

- Dünaamiline DNS klient

- Staatilised marsruudid

- Juhtmevaba ühenduse liidese tugi

- SNMP (lihtne võrguhalduse protokoll) agent

- VPN PPTP (kakspunkt tunnelprotokoll) lõppsõlm RADIUSe autentimistoega

- IPSec (internetiprotokolli andmeturve) VPN lõppsõlm, võrgust võrku ja mobiilsetele klientidele

- Dünaamiline DNS klient

- Püsivara täiustamine (upgrade) onlainis

- Logimine syslog kaugserverisse

- Hosti ja võrkude hägustamine (aliasing)

- Konfiguratsiooni varundus

- Kontroll-avaleht (captive portal).

- Pakettide prioretiseerimine (traffic shaping)

- Sisemiste ja välimiste portide filtreerimine (inbound and outbound port filtering)

- Toetab IEEE 802.1q kohtvõrke.

- Mitme IP aadressi toetus nii kohtvõrgu kui laivõrgu portidele

- Internetimakse kommutaator.

Puudused

M0n0wall on lihtne tulemüür, mille loojate arvates kompromiteeriks liigsed lisafunktsioonid tulemüüri turvalisust ja võtaks liialt protsessori- ja mäluressurssi. Seega ei hõlma M0n0wall:

- sissetungi tuvastamise/takistamise süsteemi

- puhverserverit

- paketi inspektsiooni muudel kihtidel kui 3 ja 4

- üldotstarbelist veebiserverit

- FTP serverit

- võrguajaserverit

- logifailide analüüsimist

- meiliedastusagenti (MTA-d)

Samadel põhjustel ei võimalda M0n0wall sisselogimisi: login prompti asemel kuvatakse menüüd.

Installeerimine

M0n0walli installeerimine standartsele PC riistvarale

Kuigi esialgselt loodud spetsiifilistele PC sardsüsteemidele, saab M0n0wali kasutada ka üldotstarbelisel PC riistvaral. Miinimumnõuded PC platvormile on:

- Inteliga ühilduv i486-100 või kiirem protsessor

- 64MB RAM-i

- 2 võrguliidest, millel FreeBSD 4.9 toetus

- 8MB IDE kõvaketas või IDE välkmälukaart

- Või ATAPI flopiajam, IDE CD-ROM ajam ja BIOS, mis toetab alglaadimist CD ROM-ilt (El Torito standard)

- VGA adapter

Need miinimumnõuded võimaldavad M0n0walli paigaldada paljudele masinatele. Neile, kes loodavad vana riistvara taas kasutusele võtta, on tõenäoliselt suurimaks takistuseks 64MB RAM nõue. See on kahetsusväärne kõrvalefekt süsteemil, mis töötab täielikult RAMil, eesmärgiks lubada tarkvarauuendusi samal ajal, mil tulemüür ise on kasutuses.

Vähema kui 64MB RAMi puhul on parim lahendus kasutada CD-ROMi või flopilt installeerimise võimalust, sest siin sarnane tarkvarauuenduseskeem ei kehti (uuendused teostatakse kirjutades uus kujutis CD-ROMile ja tehes tulemüürile uus alglaadimine). 32MB on sellisel juhul mõistlik RAMi miinimum.

Teine probleem võib tekkida võrguliidesega, ent FreeBSD 4.9 toetab enamikke kiibistikke levinumatel Etherneti võrgukaartidel.

Litsents

M0n0wall käib üsna väikeste piirangutega FreeBSD tüüpi litsentsi alla. Tsiteerides FreeBSD KKK-d, on sellel litsentsil ainult kaks põhitingimust: „Ära väida, et sina kirjutasid selle” ja „Ära kaeba meid kohtusse, kui see katki läheb”. Kokkuvõtlikult lubaba see tarkvara kasutada ja muuta ükskõik millisel eesmärgil, sh ärilisel eesmärgil, väga väikeste piirangutega – piisab originaalautoritele viitamisest.

Arendus

Igaüks on teretulnud m0n0walli koodi panustama, postitades ettepanekud m0n0wall-dev meilinglisti, misjärel keegli vastavate õigustega saab need koodi sisse viia. Funktsioonide parandusi ei aktsepteerita, kui need ei sobitu m0n0walli üldise filosoofiaga (väike, efektiivne süsteem sardsüsteemide jaoks, turvalisus – m0n0wall on tulemüür ja mitte laiaotstarbeline võrguseade.Targem on enne küsida ja alles siis panna oma ressurssi mõne uue funktsiooni arendamisse.


Tulevik

Praegune m0n0walli arhitektuur on hakanud ilmutama vanaduse märke – monoliitne disain, graafilise kasutajaliidese ja opereerimise reaktiivsus teevad raskeks uute funktsioonide lisamise ja vanade parandamise. Seetõttu käib töö uuem m0n0walli kontseptsiooni ja arhitektuuri kallal.

Kasutatud allikad

[Pingviini Viki [1]]

[Tomsguide - M0n0wall[2]]

[Smallnetbuilder [3]]

[Expertreviews.com[4]]