; TeX output 2003.04.04:1557_2 ~?Ձ[Iqqecss2074Linuxf2.4PwmacketfFilterHOwmWTO(NL) cG 1 ecrm1000Rusty VRussell, #mailinglistqL ectt1000netfilter@lists.samba.org,vertaalddoGorSjoerdLangkemper,sjoerd@linuxonly.nl 37$Revision:q1.2U $$Date:2003/02/0820:41:49$$T*ranslation2001/05/2022:31:47V*ersionU 0.04$&6 ecss1000DezeU HOWTObGeschrijfthoejepakketjesopeennetwerkkanlterenondereenLinux2.4kernel.(&Lt$ffffecbx1440Inhoudsopgacve]f ecbx10001Inleiding22W aark\|anikmeerinformatievinden?Y33W atiseenpakk>etlter?E3ؼ3.1%W*aaromU zouikeenpakketlterwillen?.荍.............................w33.2%HoGeU kqanjehetpakketlterinstellenonderLinux?Í.荍.......................w4%3.2.1IPiptablesI.荍...........................................w4%3.2.2ERegelsU instellenbijhetopstarten.荍.............................w44WieisRust>y? WieisSjoQerd?+nj45(Rust>y'sT urbQoPakketFiltercursus C56(HoQedeltersw>erkenQ57(iptablesgebruik>ena16ؼ7.1)RW*atU ergebGeurtalsjejecomputeropstart '.荍...........................w67.2)REenU regelopgevenw.荍.........................................w77.3%FilterU spGecicatiesK'.荍.........................................w7%7.3.1EHerkomstU endoGelM.荍.....................................w8%7.3.2EInversieU opgeven .荍......................................w8%7.3.3EProtoGcolU opgeven !q.荍.....................................w8%7.3.4EEenU interfaceopgevenii.荍...................................w8%7.3.5EF*ragmentenU opgevenwy.荍....................................w9%7.3.6EHetU uitbreidenvqaniptablese.荍................................w97.4%DoGelU specicatiesÍ.荍..........................................x?13%7.4.1EGebruikersreeksen%?.荍.....................................x?14%7.4.2EUitbreidingen:qNieuweU doGelen F.荍..............................x?14%7.4.3ESpGecialeU ingebouwdedoelen\).荍................................x?157.5%ReeksenU onderhouden׍.荍.......................................x?15*_2 ~?G1.8Inleiding"2ՁV%7.5.1EEenU nieuwereeksmaken Y.荍.................................x?16ؼ%7.5.2EEenU reeksverwijderenL.荍...................................x?16%7.5.3EEenU reeksleegmakenLٍ.荍...................................x?16%7.5.4EDeU regelsineenreeksbGekijken].荍..............................x?16%7.5.5ET*ellersU opnulzetten卍.荍....................................x?16%7.5.6EHetU bGeleidinstellenڱ.荍....................................x?178(IpQc>hainsofipfwadmgebruiken]179(NA Teneenpakk>etltertegelijkgebruikenۭ[1710(V ersc>hillentussenipQchainseniptables[1811(P>akketlteradviesU18(1Inleiding:V*oGordezeHOWTOisenigebasiskennisvereist;jebGehoorttewetenwatipadressen,netmasks,routingen DNSU zijn.qIsditniethetgevqal,danraadikjeaandeNetworkU ConceptsHOWTOtelezen.ؼT*oGen}ik(Sjoerd)dezeHOWTO}uaanhetvertalenwas,liepiktegeneenpaarproblemenenhetkqanzijndatjesommigedingenraarvertaaldvindt.dPIsdathetgevqal,Lwaarschuwmedan.dPHierzijnwatdingenwaariktwijfelde: !", cmsy10packetlterisvertaaldmetpakketlter.HiermeewordtbGedoeldeenstukjesoftwarewatpakketjeskqanU tegenhoudenendoGorlaten.pruleU chainiseenserielterregels,enisvertaaldmetreeks.interfaceisvertaaldmetinterfaceeniseennetwerkkqaartofmoGdem,3ofwelietswaarmeeeennetwerk bGenaderdU kqanworden.connectionjtrackingisvertaaldmetconnectietracking.ConnectietrackingisdatnetlterbijhoudbijwelkeU connectiepakketjeshoren.user-dened$chainsisvertaaldmetgebruikersreeks.acDitiseenreeksdienietingebGouwdis,.sendiedoGordeU gebruikersamengesteldis.queuetenqueue-handlerzijnnietvertaald,wanttditiszoeenspGeciekonderwerpdatalsjehierwatmeeU gaatdoGen,datjeechtU welweetwatditbGetekent.PakketjesLdie`geDROPt'worden,Nworden`tegengehouden'.nDatwilzeggendatzein/dev/nullkomenomU voGoraltijdteverdwijnen.DezedHOWTOdgaatonderandereinophoGehetpakketlterwerkt,hoGeNA*Tdwerkt,enhoGejedeoudeipGchains#5enipfwadmregelskqangebruiken.`NahetlezenvqandezeHOWTO#(enhettoGepassenvqanalledingenerinisjenetwerknietgegarandeerdv>eilig.BErisnietzoietsalsveilig.JekqannietallepakketjestegenhoudenenU verwachtendathetoGoknogwerkt.ؼGelukkigkqanjemetiptablespreciesbGepalenwelkepakketjesjetegenwilthouden,dusjekqanzelfbGepalenhoGeU veelrisicojeneemtenhoGeveelgebruiksvriendelijkheidjeinlevert.!ݠ_2 ~?G2.8W aark\|anikmeerinformatievinden?3ՁV(C)U 2000Paul`Rusty'Russell.qLicencedundertheGNUGPL.ؼV*ertaaldU doGorSjoerdLangkemper,sjoerd@linuxonly*.nl(2W(aarG\kanikmeerinformatievinden?:ErU zijndrieocielewebsites:ؼMetU dankaanHЃ ecti1000Filewatcher.MetU dankaanHetSamb}/aT;eamenSGIU .MetU dankaanJimPick.DieU laatstesitewasoinedelaatstekeerdatik(SjoGerd)keek.ؼDeU ocielemailinglistkqanjevindenopSamb}/a'sListserver.(3W(atG\iseenpakkcetlter?:EenApakketlteriseenstukjesoftwarewatnaardehe}/aderTvqanpakketjeskijktterwijlzelangskomen.jInde headerstaatinformatieoverhetpakketjeendatwordtonderanderegebruiktomhetlotvqanhetpakketjeteU bGepalen.qMeestalisdatofweldoorlaten(accept),ofweltegenhouden(drop).OndervmLinuxzithetpakketlterindekernelingebGouwdendatbiedtwatmeermogelijkhedenvoGorwatermetLdepakketjeskqangebGeuren.UNatuurlijkishetideenogsteedshetzelfde:GaandehandvaninformatieoverhetU pakketjewordtbGeslotenwatermeegebGeurt.#Í!N ecbx12003.1Waaromzouikeenpakketlterwillen?#Gezag:Alsa:jejeLinuxcomputergebruiktomjeinternenetwerkaanhetinternetofeenandernetwerktehangen,Lkrijg}CjedemogelijkheidombGepaaldepakketjesweldoGortelaten,Lenandereniet.WiljenietdatU jewerknemersnaarwww.playbGoy*.comgaan,dankqandatmeteenpakketlter.V eiligheid:AlsmjeLinuxcomputerdegrensistussenhetchaotischeinternetvolmetcrackers,hackersenscriptkid-diespenjeeigenveiligenetwerkje,danishetjnomtewetendatjealditslechtsbuitenkqansluitenmeteenpakketlter.AangeziendemeestemensenalleendeconnectiesnaarbuitenwillenmakenenvoGorkomenO datereenconnectienaarbinnenwordtgemaakt,kqaneenpakketlterinveelsituatiesveiligheidU bieden.Con>trole:AlsZerietsvreemdsgebGeurtopjenetwerk,zoalsZeenmachinedieopeensallemaalpakketjesbegintteverstureṅzonderreden,`wiljeervqastvanafweten.״AlsjeweetwatergebGeurtopjenetwerk,`kqanjeingrijpGenU alshetnodigis.6_2 ~?G4.8WieisRust>y? WieisSjoQerd?)J4ՁV3.2Ho_ek@ anjehetpakketlterinstellenonderLinux?MLinuxhadaleenpakketltersindsde1.1kernels.:DezeeerstelterskwamenoGorspronkelijkuitBSDcen werdenV;doGorAlanCoxinLinuxingevoGerd.tT*oenV;kernel2.0uitkwamwasereennieuwetoGol,VdoorV;JosV*os:ipfwadmCwasnuhetprogrammaomdelterregelsmeeintestellen.Inkernel2.2werdweereennieuwprogrammaontwikkeld,onamelijkipGchains.TvNuishetzoverdatde2.4kernelserzijnennogmaalseennieuwepakketclterhebbGen:3iptables.HAIptablesbrengtookechtcnieuweoptiesmetzichmee,#dieipGchainsenipfwadmnietxhadden.WHZokqanjenuoGokregelsmakenopbasisvqandegebruikerdiehetpakketjeverstuurt,3ofopbasisvqanU hoGeveelconnectieseralzijn.ؼOmhetpakketltertekunnengebruikenmoGetjejekernelwelcompilerenmetnetlter.SNetlterishetdeelvqanL dekernelwatiptablesgebruiktomzijnregelsterealiseren.nJehebtminimaalkernel2.3.15noGdig,MenjemoGetU deoptieCONFIG_NETFIL*TERaanschakelen. 3.2.1&tiptablesHetQprogrammaiptablesgeeftaandekerneldoGorwelkeregelsinwerkingmoGetentreden,Rendekernelzorgtdatelkpakketjegecontroleerdwordt.DitbGetekentechterweldatalsjedecomputeropnieuwopstart,deregels,-weerverlorengaan.cErzijnwelmanierenomdittegentegaan,4]ziehiervoGor3.2.2(RegelsinstellenbijhetU opstarten).ؼiptablesvervqangtipfwadmenipGchains, maarmeteenspGecialemodulekqanjenogsteedsjeouderegelsgebruikenU onderiptables.qZiehiervoGor8(Ipchainsofipfwadmgebruiken) 3.2.2#!\RegelsinstellenbijhetopstartenOmdatCdepakketlterregelsindekernelwordenopgeslagen,WzullendezeverlorengaanbijhetopnieuwopstartenU vqandecomputer.ؼErzijntweemanierenomdittevoGorkomen. Erzijntweeprogramma's,xnamelijkiptables-saveeniptables-restoreWdieeensetregelsineenbGestandkunnenopslaan.J$JekqandanbijhetopstartenvanjecomputerderegelsU ladenuiteenbGestandje.Je^jkqanoGokdelterregelsineenscriptjezettenenhetscriptjeelkekeerladenbijhetopstartenvqandecomputer.qInU hetscriptjestaandandecommando'sdiejeoGokgebruikteomdehuidigeregelsintestellen.(4WieG\isRustcy? WieisSjoperd?:Rustyf@isdemandiehetLinuxIPepakketlteronderhoudt.HijschreefipGchainsenheeftdaarveelvqangeleerdRomiptablesbGetertemaken.NatuurlijkheefthijditnietalleengedaanenhijzouooknietgenoegtijdGhebbGen,QalsW;atchGuar}/dhemhiernietvoorbetaalde.QRustyisgeenkernelbguru.\AnderemensenzoalsDavidS.Miller,#AlexeyKuznetsov,#AndiKleenenAlanCoxhebbGenhemhiermeeU geholpGen.HetU schrijvenvqaniptableskostteRustyenandereneenjaar,maardatwaszoGdathetinnkeergoGedkon.SjoGerd8iseenvqandewebmastersbijLinuxOnly.nlenwasvqanplaneeniptablesHOWTOteschrijventoGenhijdeEngelseversievqanditdoGcumenttegenkwam.HijvondhetweleengoGedideeU omditnaarhetNederlandstevertalen.Alsje`ik'leest,ڨbGetekenthet`Sjoerd'.AlsRustyietsheeftgezegdals`Ithinkit'sagoodidea'danwordtdatU meestalvertaaldmet`HetismisschieneengoGedidee'ensomsmet`Rustydenkt...'.B_2 ~?G5. XRust>y'sT urbQoPakketFiltercursus,5ՁV5xRustcy'sG\T(urbpoPakketFiltercursus:De meestemensenhebbGeneenPPPconnectienaarhetinternetenwillennietmeerdanvoGorkomendater connectiesU gemaaktwordenvqanafhetinternet.卑qL ectt0900##NVoegmodulesin(nietnodigalsdezezijningebouwdindekernel). =#Ninsmodip_conntrack#Ninsmodip_conntrack_ftp##NNieuwereeksregelsmaken,diealleinkomendeconnectiestegenhoud.#Niptables-Nblock#Niptables-Ablock-mstate--stateESTABLISHED,RELATED-jACCEPT#Niptables-Ablock-mstate--stateNEW-i!ppp0-jACCEPT#Niptables-Ablock-jDROP##NGanaardiereeksvanuitdeINPUTenFORWARDreeks.#Niptables-AINPUT-jblock#Niptables-AFORWARD-jblock(6xHopeG\delterswcerkenJe^fkqanjepakketltervormgevendoGorregelstoetevoegenaanreeksen.QZulkereeksen(c>hainsinhet Engels)U wordenregelvoGorregelnagelopenomtekijkenofereenregelisvoGorhethuidigepakketje.ؼErzijnstandaarddriereeksenindekernel,namelijkINPUT(inkomend),OUTPUT(uitgaand)enF>OR-WARDU (doGorsturen).DeU reeksenzijnalsvolgtgerangschikt:ؼwx_____InkomendY:l/>\\/= Uitgaand$-->[?Router]--->|FORWARD|------->4|[?keuze X]>\\_____/)`^N|} |Nvsx____I{h___hp/\D;/\^z|OUTPUT|>|INPUT|^z\____/D;\___/sx^N|} |N-->?Lokaleprogramma's--^DeudrierondjesstaanvoGordedriereeksen.Alseenpakketjebijzo'ncirkelaankomtwordenderegelsnagelopGenTomhetlotvqanhetpakketjetebepalen.DAlshieruitblijktdathetpakketjemoetwordengenegeerd(DROP)[dan[Fwordthetpakketjegelijkdaargestopt.AlsuitdereeksblijktdaternietsmisismethetpakketjeU (ACCEPT)dandoGorloopthetpakketjederestvqanhetschema.ؼElkereeksbGestaatuiteenaantalregelseneenbGeleid(policy).Elkeregelheeftdevormvqan:"AlshetpakketjedezeeigenschappGenheeft,7doedanditendatmethetpakketje.".MAlsdezeregelnietvqantoepassingisrophetpakketje(hetpakketjeheeftnietdeeigenschappGenvoGordezeregel),danwordtdevolgenderegelgelezen.YAls delaatsteregelisgelezenenerisgeenregeldievqantoGepassingisopditpakketje,danwordtdeactie~uitgevoGerddiehetbeleidis.DitisduseenstandaardactiedievqantoepassingisopallepakketjesdieR_2 ~?G7. Xiptablesgebruik>en]ƥ6ՁVniet,doGoreenregelgespecifeerdzijn.:Hetbeleidismeestalhetpakketjenegeren(DROP)zoGdatonbGekende pakketjesU nietdoGorkunnendringen.J+ 9b1.Alseenpakketjebinnenkomt(viaeenmoGdemofethernetkqaartbijvoGorbeeld),bepaaltdekerneleerstwaarU hetpakketjeheenmoGet.qDitheetrouting.Aڍ 9b2.Als:hetpakketjevoGordezecomputerbedoeldis,wordthetpakketjedoGorgegevenaandeINPUT$reeks.AlsU hethierdoGorkomt,U wordthetdoGorgegevenaandeprogramma'sopdecomputer. 9b3.AlsNhetpakketjevoGoreenanderecomputerbedoeldis,endekernelkqannietforwardenofhetweetniethoGeBhetgeforwardmoetworden,FwwordtBhetpakketjegenegeerd.kdAlserwelgeforwardkqanworden,FwdankomtohetpakketjeindeFORWARDoreeks.KomtohethierdoGor,v%danwordthetdoGorgestuurdnaareenandereU machine. 9b4.AlsCeenprogrammaopdecomputereenpakketjeverstuurd,݌moGetheteerstdoordeOUTPUT'reeksomU verzondentekunnenworden.(#Ս7xiptablesG\gebruikcen:iptables heefteengoGedegebruikershandleiding(man?iptables)endezeisdustegebruikenalsjeergensmeervqan@wilweten.NAlsjealbGekendbGentmetipGchainskqanjehethoGofdstuk10(DierencesBetweeniptablesandipGchains)U lezen,maarjekqannatuurlijkookgewoondoorlezen.ؼErzijndriestandaardreeksendiejenietkqanverwijderen,?maarjekanoGoknogzelfextrareeksenmaken.HierU zijnwatoptieswaarmeejereeksenkqanonderhouden:J+ 9b1.EenU nieuwereeksmaken(-N); 9b2.EenU legereeksverwijderen(-X); 9b3.HetU bGeleid(policy)vooreenstandaardreekswijzigen(-P); 9b4.DeU regelsweergevenU ineenreeks(-L); 9b5.AlleU regelsuiteenreeksverwijderen(-F); 9b6.DeU pakketenbytetellersopnulzetten(-Z).ErU zijneenpaarmanierenomregelsineenreeksteonderhouden: 9b1.V*oGegU eenregeltoeaanheteindevqaneenreeks(append)(-A); 9b2.V*oGegU eenregeltoeopeenbepaaldepositieineenreeks(insert)(-I); 9b3.V*ervqangU eenregeldoGoreenandereregelineenreeks(replace)(-R); 9b4.V*erwijderU eenbGepaalderegeluiteenreeks(-D)."7.1#=Watergeb_eurtalsjejecomputeropstartMiptablesSkqanineenkernelmoGdulezitten,'namelijkiptable_lter.o.^Dezemodulezouautomatischgeladen moGetenU wordenzodrajeiptablesopstart.qDezecodekqanookindekernelingebouwdworden.ؼV*oGordatiptableseenkeergestartiszijnallestandaardreeksenleegenhebbenhetbeleidACCEPT,ofwelallesdoGorlaten.JekqanhetbeleidvqandeFORWARDreekswijzigendoordeoptie"forward=0"meetegeven^aandeiptable_ltermoGdule.}Alsopjoucomputernietallereeksenleegzijnbijhetopstartenvqanjecomputer,U dankqanhetzijndatjedistributieindebGootscriptsU deregelsaanpast.^3_2 ~?G7. Xiptablesgebruik>en]ƥ7ՁV7.2#=EenregelopgevenMNatuurlijk'kqanjenietsmeteenpakketlteralsjegeenregelsopkangeven.[MeestalwiljegewoGoneenregel aanDpheteindetoGevoegenDp(-A)Dlofverwijderen.kEenregelergensinvoGegen(-I)DlishandigalsdevolgordevqanjeregelsU bGelangrijkiseneenregelvervqangen(-R)ishandigalsbijvoGorbeeldU eenIP-adresverandert.ؼElkeregelbGepaaltwelkeeigenschappGeneenpakketjemoGethebbenzodatdezeregelervoorgeld,enwatindatזgevqalmethetpakketjemoGetgebeuren.JekqanbijvoorbeeldallepakketjesdievqanhetprotocolICMPzijn endievqanhetIP 127.0.0.1afkomen,tegenhouden(DROP).DeeigenschappGenzijndandathetprotocolICMPU is,hetIP127.0.0.1.qHetdoGelisDROP*.127.0.0.1lisdeloGopbackadapter.vDitIPlhebjezelfsalsjegeennetwerkhebt.vJekqanICMPlpakketjesproGducerenU methetprogrammaping,wateenpakketjestuurtenmeldofhetaangekomenis.卑#Nping-c1127.0.0.1 =PINGN127.0.0.1(127.0.0.1):56databytes64Nbytesfrom127.0.0.1:icmp_seq=0ttl=64time=0.2ms---N127.0.0.1pingstatistics---1Npacketstransmitted,1packetsreceived,0%packetlossround-tripNmin/avg/max=0.2/0.2/0.2ms#Niptables-AINPUT-s127.0.0.1-picmp-jDROP#Nping-c1127.0.0.1PINGN127.0.0.1(127.0.0.1):56databytes---N127.0.0.1pingstatistics---1Npacketstransmitted,0packetsreceived,100%packetloss#ؼJeziethierbGovendatdeeerstepingwellukt,maarnietmeeralsderegelistoegevoegdaandeINPUTreeks.EenCregelkqanoptweeCmanierenverwijderdworden:HofweldoGorhetnummeroptegeven,ofweldoGordezelfde optiesU optegevenalsdatderegelgemaaktwerd.DenummeringbGegintbGovenaanmet1enomdaternogmaarnregelindereeksstaat,ĺisdezeregelnummer1.qDezeU regelkqandusalsvolgtverwijdertworden:卑>r#Niptables-DINPUT1 =>r#ؼDebtweedemanierishetzelfdealsderegelmaken,alleenwordtde-ACnuvervqangendoGor-D.DitisvoGoralhandigxalsjeveelregelshebtenjehebtgeenzinomtetellen.5HOnzeregelzoudenwedusalsvolgtverwijderen:>r#Niptables-DINPUT-s127.0.0.1-picmp-jDROP =>r#ؼAlsU ermeerdereregelszijndiehetzelfdezijn,wordtalleendeeersteverwijderdmetdezemanier.#Í7.3Filtersp_ecicatiesMBehalve4protoGcol(-p)endeherkomst(-s)zijnernogandereeigenschappGenwaaraanjebGepaaldepakketjeskqanU herkennen.qHiervolgenalleeigenschappGenwaarjepakketjesmeekqanaanduiden.qil}_2 ~?G7. Xiptablesgebruik>en]ƥ8ՁV7.3.1#!\Herk>omstendoQelMHerkomst[(`-s',`source'of`src')endoGel(`-d',`destination'or`dst')IP[adressenkunnenwordenopgegeven opviermanieren.SNatuurlijkkqanjegewoGoneenIP-adresopgeven, maarjekqanoGokeenhostnamegebruiken,zoalsU `loGcalhost'of`www.linuxhq.com'.ؼDe @derdeenvierdemanierenlatenhettoGeommeerdereIP-adressentespeciceren.`199.95.207.0/255.255.255.0',bijvoGorbeeld geeft255ip-adressenaan. Ookgeldigis`199.95.207.0/24'.AllebGeiU gevenzeIP-adressenaanvqan199.95.207.0tot199.95.207.255.T*wee\rspGecialevqariantenhiervqanzijn1.2.3.4/32,.waarde/32aangeeftdathetIP-adreshelemaalmoGetvoldoGen.Ditisstandaard.61.2.3.4/0kqanoGok,9inwelkgevalhetIP-adreshelemaalnietuitmaakt.6InditgevalwordtmeestalR0/0opgegevenalsIPRadres.pDitisstandaardalsde-sof-doptieweggelatenwordt,S#dusalsergeenherkomstU ofdoGeladresopgegevenwordt.qDaaromwordthetoGokweiniggebruikt:卑>r[NNOTE:`-s0/0'isredundanthere.] =>r#Niptables-AINPUT-s0/0-jDROP>r# 7.3.2#!\In>versieopgevenMV*eelAoptieskunnenvoGorafgegaanwordendoGor``!',EwatstaatvoGor`niet'.k`-s!loGcalhost'heeftdusbetrekking totU allepakketjes,bGehalvedievqanloGcalhostafkomen.7.3.3#!\ProtoQcolopgev>enHetprotoGcolkqanwordenopgegevenmet`-p'ofmet`protoGcol'.ZHetprotocolkqaneennummerzijn,7ofeen naamU zoalsTCP*,UDPofICMP.HoGofdlettersmakenhiernietsuit.ؼOokdeprotoGcoloptiekqanvoorafwordengegaandooreenuitroepteken:O`-p!JTCP'ubetekentallepakketjesbGehalveU TCP*.Het ,opgevenvqaneenprotoGcolisnodigalsjeregelswiltmakendieafhankelijkzijnvqanhetpGoortnummerwaaropneenconnectiegemaaktwordt.iOmdatICMPgeenpGoortennondersteund, moeterTCPofUDPopgegevenU worden. 7.3.4#!\Eenin>terfaceopgevenMDe`-i'of`in-interface'optiegeeftdeinterface(netwerkkqaart/moGdem)aanwaardepakketjesdecomputermee inkomen.IDe`-o'of`out-interface'optiegeeftdeinterfaceaanwaardepakketjesuitdecomputergaan.JeU kqanifconfiggebruikenomeenlijstvandehuidigeinterfacestekrijgen.Pakketjes=diedoGordeINPUT=reekskomenhebbengeeninterfacewaarmeezeuitdecomputergaan.iRegelsmetp-oerinzullendusnoGoitwaarzijnenovergeslagenworden.oBijregelsindeOUTPUTSreekswerkthetnetU zo:qdezehebbGengeeninterfacewaarmeezebinnengekomenzijn.Pakketjes(diedoGordeFORWARDreeks(gaanhebbenzowel(eeninterfacewaarmeezenaarbinnenzijngekomen,U alseeninterfacewaarmeezeweernaarbuitengaan.JemagoGokeeninterfaceopgevendienognietbGestaat._DeregelgeldnietzolangdezeinterfacenietbGestaat,maarX]zoGdradezeinterfacegaatwerkentreedderegelinwerking.{6DitishandigvoGorinbGel-connecties,Y,zodaterU regelsingevoGerdkunnenwordenvoGorhetgevqaleringebeldwordt.Bijinterfaceswerkthet`+'tekenalseensterretje;;hetzalmeerdereinterfacesspGeciceren.Q-i?ppp+bijvoGor-bGeeldU zalvoorallePPPinterfacesgelden,maarnietvoGorethernetinterfaces. xߠ_2 ~?G7. Xiptablesgebruik>en]ƥ9ՁVOokU deinterfaceoptiekqanvoGorafgegaanwordendoGoreen``!'qomdeoptieomtekeren. 7.3.5#!\F ragmen>tenopgevenMSoms?$iseenpakketjetegroGotominnkeerverstuurdtekunnenworden.j,Inzo'ngevqalwordthetpakketje opgesplitst#/infragmentenenverzondenalsmeerderepakketjes.`HetprobleemwathierbijkomtkijkenisdatheteerstepakketjedeheadersheeftendusmoGeiteloosdoorderegelskomt,maardeopvolgendepakketjeshebbGenU deheadernietenduszullenzetegengehoudenworden.ؼAlsnjeNA*TngebruiktzullendefragmentenaanelkqaargelijmdwordenvoGordatzedoordereeksengaan,u:dushoGefU jejeoverU fragmentengeenzorgentemaken.Isdatniethetgevqal,ߑdanishetbGelangrijkomtewetenhoefragmentenbehandeldwordendoorderegels.Als*eenregelvraagtombGepaaldeinformatie,2kqaneenfragmentdienietverschaen(hetheefttenslottegeenheaders)enduszalderegelnietgeldenvoGorditpakketje. HeteerstepakketjezalduswaarschijnlijkdoGordeU reekskomen,maaropdeanderepakketjeswordthetbGeleiduitgevoGerd.OmU ditprobleemteomzeilenkqanjefragmentsdoGorlatenoftegenhoudenmetde-foptie.HetwordtalsveiligbGeschouwdomfragmentendoGortelaten,hoewelerwelbugsinsommigesystemenzittendieU hetlatencrashenalsereenlosfragmentopkomt.qDezebugszijnechteropgelostinmoGdernesoftware.DeU volgenderegelzalallefragmententegenhoudendienaar192.168.1.1gaan:卑#Niptables-AOUTPUT-f-d192.168.1.1-jDROP =# 7.3.6#!\Hetuitbreidenv\|aniptablesMiptablesismakkelijkuittebreiden,watnieuwemogelijkhedenmetzichmeebrengt.Sommigevqandezemogelijkhedenzijnstandaard,anderewordenslechtsinenkelegevqallengebruikt.OInhetlaatstegevalwordenzeU meestalapartverstrektvoGordemensendiedeextramogelijkheidnodighebben.Uitbreidingen.\vqandekernelgaanmeestalindekernelmoGduledirectory*,dmeestal/lib/modules/2.4.x/net.Als{jekernelgecompileerdismetCONFIG_KMOD,danwordenzegeladenalsdatnoGdigisenhoefjezenietU handmatigteladen.UitbreidingenWvqaniptableszijn`sharedlibraries',X@diemeestalinde/usr/loGcal/lib/iptables/directorystaan,hoGewelU sommigedistributiesdezein/usr/lib/iptableszetten.ErczijntweectypGeuitbreidingen:nieuwedoGelenennieuweregelopties.yJSommigeprotoGcollenbiedenjeau-tomatischnieuweregelopties.VDezezijnTCP*,UDPenICMP,dieonderanderepGoortenkunnenspeciceren.Metde`-p'optiewordtautomatischeennieuweuitbreidinggeladenenomexplicieteenuitbreidingteladengebruikU jede`-m'optie.Omhulptekrijgenbijeenuitbreiding,geefeenoptieomdezeteladen(`-p',`-j'of`-m')engeefdeoptie`-h'ofU `help':卑#Niptables-ptcp--help =# TCPuitbreidingenDe>LTCP>uitbreidingenwordenautomatischgeladenalshetTCP>protoGcolwordtgekozen.qDeU volgendeoptieskunnendangebruiktworden:ؼtcp-ags A_2 ~?G7. Xiptablesgebruik>enX10ՁVwordt2gevolgddoGortweelijstenmetTCP2markeringen. DeeersteoptiegeeftdeTCP2markeringen (ags) aandiejewiltonderzoGeken,OdetweedegeeftaanwelkehiervqangeactiveerdmoGetenzijn.EBi-jvoGorbeeld:=/#Niptables-AINPUT--protocoltcp--tcp-flagsALLSYN,ACK-jDROPDezeregelgeeftaandatdeTCPڭpakketjesdiedeSYNenACKmarkeringenhebbGengeactiveerd,DmaardeHrestniet,RtegengehoudenmoGetenworden. `ALL'%ishetzelfdeals`SYN,ACK,FIN,RST,URG,PSH'.WilU jegeenmarkeringenopgeven,dankqanje`NONE'gebruiken.synDitU ishetzelfdeals`tcp-agsSYN,RST,ACKSYN'.source-pQortkqanSgevolgdwordendoGoreenpoortnummerofeenpoortbereik.WV*oorpoortnummerskqanjeooknamen gebruiken,zoalsdiein/etc/serviceswordengenoGemd.\EenpoortbereikkqanwordenaangegevendoGortwee&pGoorten,gescheidenmeteendubbelepunt,zoals1000:2000.W*ordtheteerstepoortnummerweggelatenwa(`:2000')dangeldtdezeregelvoGorallepoortentot2000.BW*ordthetlaatstepoortnummerweggelatenU (`1000:')qdangeldtdezeregelvoGordepoort1000enverder.spQortisU hetzelfdeals`source-pGort'.destination-pQortendpQortzijn{hetzelfdealsdebGovenstaande, Ralleen{gevenzedepGoortenvqandedoelbestemmingaaninplaats vqanU deherkomst.tcp-optionwordtNgevolgddoGoreennummer.\$DezeregelgeldtvoGorTCPMpakketjesmetdemarkeringvoGordit nummer.3Als hetpakketjeeennietvolledigeheaderheeft,danwordthetpakketjeautomatischtegenge-houden. Eenuitlegv\|anTCPmark>eringen SomsaishethandigomTCPaconnectiesmaarnkqantoptelatenwerken;U jewiltwelconnectiesmakennaarbuiten,maarnietandersom.ؼDezoplossinghiervoGorisomdepakketjestegentehoudendieeenconnectiewillenopGenen.VDezepakketjeshetenSYN׹pakketjes(hetzijneigenlijkpakketjesmetdeSYNmarkeringgeactiveerdendeRSTenACKmarkeringenУnietgeactiveerd).DoGordezepakketjestegentehouden,wordtergeenconnectiegemaaktenzullenU dusopvolgendeU pakketjesgenegeerdworden.DeR`syn'optiewordthiervoGorgebruikt.jDezeisalleengeldigvoGorhetTCPRprotocol.jOmeenregeltemakendiegeldtvoGordepakketjesdieeenconnectiewillenmakenvqanaf192.168.1.1kanjedevolgende(nietcomplete)U regelgebruiken:卑-pNTCP-s192.168.1.1--synؼNatuurlijk)kqanoGokdezeoptieweervoGorafgegaanwordendoGoreenuitroepteken,ZompakketjestespGecicerendieU geenconnectiewillenmaken. _2 ~?G7. Xiptablesgebruik>enX11ՁVUDPTUitbreidingenDezeuitbreidingenwordenautomatischgeladenalsereenregelisdiehetUDP protoGcolgebruikt(dusalserergensinderegel`-pudp'voorkomt).iDezeuitbreidingbrengtdeopties`source-pGort',EF`sport',`destination-port'APen`dpGort'metzichmeeendezezijnidentiekaandievqanTCP*. ICMPExtensies 9Deze uitbreidingwordtautomatischgeladenalshetICMPprotoGcolgebruiktwordtenkomtU metslechtsU nextraoptie:ؼicmp-t>ypQewordt5;gevolgddoGoreenICMP53typGenaam(zoals`host-unreachable'),;doGoreennummerwatstaatvoGoreenStypGe,T)ofdoortweeSnummersgescheidendoGoreen`/'.qDetweenummersstaanvoGorhettypGeendecoGdeU vqanhetICMPpakketje.qDenummerskqanjeopzoGekendoGor`-picmphelp'tegebruiken.Andereoptieuitbreidingen DezeCuitbreidingenkunnenwordengebruiktdoGorde`-m'optietegebruiken.ؼmacDezemoGdulekqangebruiktwordenomhethardwareadresvqandenetwerkkqaarttegebruikeninjeregels.Het^werktalleenmethethardwareadresvqandekaartwaarmeedepakketjesindecomputerkomen.HetU heeftnoptie:mac-source/gevolgdU doGoreenhardwareadres,zoalsin`mac-source00:60:08:91:CC:B7'.limitDeze}moGdulewordtgebruiktomhetaantalgeldenderegelsineenbGepaaldetijdterugtedringen.>Zo kqanojebijvoGorbeeldozorgendaterslechts3keerpGeruureenberichtjeoinjelogkomtotestaanalserdeheleU tijdgeldendepakketjeskomen.qHetspGeciceerttweeopties:limit/wordtMgevolgddoGoreennummerenhetgeefthetaantalpakketjeswaardezeregelvoGorgeldt,/ineenbGepaaldtijdsbestek.pHetnummerkqanookeentijdaangeven,2doorgebruiktemakenvqan/`/second',vJ`/minute',`/hour'enX12ՁV/#Niptables-AFORWARD-ptcp--syn-mlimit--limit1/s-jACCEPT"F*urtiveU pGortscanner:eK/#Niptables-AFORWARD-ptcp--tcp-flagsSYN,ACK,FIN,RSTRST-mlimit--limit1/s-jACCEPTPingU ofdeath:/#Niptables-AFORWARD-picmp--icmp-typeecho-request-mlimit--limit1/s-jACCEPTHoGeU ditwerktlaatdevolgendegraekzien:ҍ=+snelheidN(pkt/s) =lh^%p.---.lh|!"/NDoS\lh|W/!"\/RandNvanDoS-|.....:.........\.......................3P=N(limit* r|8/:/= \/limit-burst)N|+/:3Z\*.-.lh| r/:8\!"/+\lh|N/+:=h\/\/EideNvanDoS-|/....:..............:.../.......\..../.3P=Nlimit|:B"D:`-'*`--'/-------------+-----+--------------+------------------>Ntijd(s)/RESULTAAT=> rGeldtN|Geldtniet|8GeldtDe_volgendegraekisvqaneengrensvannpakketjepGerseconde,bmeteen`burst'vanvijfpakketjes. PakketjeskomenbinnenmetvierpGerseconde,͹driesecondenlang.V*ervolgensnogeensnaweerdrieseconden: =Tr<--FloodN1-->3Z<---Flood2--->/Total r^YLine__--WYNNN/Packets|FےRate r__--WYNNNP$|8mum r__--WYNNNA:10N|%pMaxi__--*YP$|*__--8YP$|__--FےYP$|N__--8YNNNP$|-8YNNNF5N|8YP$|+Y)Key: rYN->MatchedRuleP$| rY:NN->Didn'tMatchRuleP$|NYP$|YF0N+--------------------------------------------------> rTime(seconds)Tr0+123456789 r101112JeAziethierdatdeeerstevijfpakketjessnellerbinnenkomendannpGersecondeenookdoorgelaten worden.[DanpasbGegintdegrenstegelden.[DevolgendepakketjeszullendusslechtsmetnpakketjepGer:secondedoorgelatenworden. dNadepauzekunnenerweermeerpakketjesdoGorgelatenworden,totdatU degrensweergaatgelden."o>wnerDeze moGdulezorgtdatjedeeigenaarvqanhetpakketjekanlatenmeetellenineenregel.&HetwerktalleenU indeOUTPUTreeks,ensommigepakketjeshebbGengeeneigenaar. _2 ~?G7. Xiptablesgebruik>enX13ՁVuid-o>wneruserid/GeldtU alshetpakketjegemaaktwerddoGordezegebruiker.gid-o>wnergroupid/GeldtU alshetpakketjegemaaktwerddoGoreengebruikerindezegroGep.pid-o>wnerproQcessid/GeldtU alshetpakketjegemaaktwerddoGorditprogramma.sid-o>wnersessionid/GeldtU alshetpakketjegemaaktwerddoGoreenprogrammaineensessiegroep.uncleanDezemoGdulekijktofdepakketjeswelgeldigzijnenverschaftgeenextraopties.^Hetzounietgebruikt moGetenU wordenomdeveiligheidvqaneencomputerteverhogen. De`state'uitbreiding \Dev'state'uitbreidingsteltjeinstaatomregelstemakenopbasisvqanwatvqaneenpakketjebGekendisinverbandmetconnectietracking.IConnectietrackingwordtgerealiseerddoGorde`ip_conntrack'ЪmoGdule.EYDezeuitbreidingismakkelijkalsjewiltwetenofeenpakketjedeeluitmaaktvqaneenbGestaande+connectieofniet.OHetwordtaangeradendezeoptietegebruiken,zoGdatjegeenpakketjesdoGorlaatdieU eenanderdoGelhebbendaneenconnectieteopenen.ؼJegebruiktdezeuitbreidingmetdeoptie`-mstate'enhetleverteenextra`state'optie,DdiegevolgdwordtdoGoreenreekstoestanden(states)vqandepakketjes,Egescheidendoorkomma's.hDetoestandendiebGeschikbaarU zijn:ؼNEWDitU pakketjemaakteennieuweverbinding.EST ABLISHEDDitnpakketjebGehoortntoteenbGestaandeverbinding(d.w.z.eenantwoGord-pakketje,u:ofeenpakketjeopeenU connectiewaaralverkeerisgeweest).RELA TEDEena4pakketjewattemakenheeft,maarnietdeeluitmaaktvqaneenbGestaandeconnectie. 2ZulkepakketjeszijnU ICMPerrorpakketjesofpakketjesdeeluitmakendvqaneenFTPconnectie.INVALIDV*anditpakketjekonnietuitgemaaktwordenwaarhetbijhoGort.3DitkqanvoGorkomenalsjegeenvrijgeheugenumeerhebtofalsjeICMPTerrorpakketjeskrijgtdienietstemakenhebbGenmeteenbestaandeconnectie.qZulkeU pakketjeskunnennormaalgesprokentegengehoudenworden.#Í7.4Do_elspecicatiesMNu &wewetenhoGeweeenpakketjekunnenspGeciceren,%kunnenweietsdoGenmetzo'npakketje.XW*atermoGetgebGeurenU meteenpakketje,heethetdoel(target).ؼEr!zijntwee!simpGeledoelenalingebouwd:DROP en!ACCEPT.MetDROP wordthetpakketjetegenge-houden.Met*ACCEPT*SwordthetpakketjegewoGondoorgelaten.Alseenpakketjeeendoelheeftbereikt(DROP*,lACCEPTIofeenanderdoGel)doorloopthetderesterenderegelsnietmeermaarwordthetdoelgelijkafgehandeld.ErU zijntweeU soGortendoelenbehalvedebovenstaande:quitbreidingenU engebruikersreeksen.X_2 ~?G7. Xiptablesgebruik>enX14ՁV7.4.1#!\Gebruik>ersreeksenMEen.vqandekenmerken.waariptableszijnkrachtvqandaanhaaltisdathetdegebruikerinstaatsteltomzijn eigen4Yreeksentemaken.+Behalve4YdeingebGouwdereeksen(INPUT,FORWARD4en4YOUTPUT)kqanjedusnog@meerreeksenmaken,DPdienaarelkqaarkunnenverwijzenendieoGokweerregelsbGevqatten.jMeestalzijndenamenU vqangebruikersreekseninkleineletters,omzetekunnenonderscheidenvqandeingebGouwderegels.ؼAlseenpakketjeovereenkomtmeteenbGepaalderegelendieregelverwijstnaareenanderereeks,)danwordtdiePreeksdoGorlopen.pBepaaldPdiereeksnietwatermethetpakketjegebGeurenmoet,QdanwordtdevolgenderegelU indevorigereeksuitgevoGerd.InU demoGoieASCIIarttekeningziejetweereeksen:qINPUTentest.卑C`INPUT'v`test' =>r-----------------------------+---------------------------->r|NRegel1:-pICMP-jDROP+||NRegel1:-s192.168.1.18|>r|---------------------------|+|---------------------------|>r|NRegel2:-pTCP-jtest8|+|Regel2:-d192.168.1.1|>r|---------------------------|+----------------------------->r|NRegel3:-pUDP-jDROP8|>r-----------------------------ؼZoalsQjezietverwijstregel2naardereeks`test'.psSteldaternueenpakketjebinnenkomtvqanaf192.168.1.1, datgaatnaar1.2.3.4./HetkomtbinnenindeINPUTzreeksenerwordtnaardeeersteregelgekeken./AangezienditpakketjegeenICMPpakketjeis,wordtdetweederegelbGekeken.?yDezegeldtwelvoGorditpakketje,duswordthetdoGeluitgevoGerd:reekstestwordtuitgevoGerdopditpakketje.Regel1geldtvoGorditpakketje,maarerishiergeendoGelopgegeven.]Ergebeurtdusnietsmetditpakketje.]Regel2geldtnietenwezijnaanU heteindevqandezereeks.qErwordtmeerverdergegaanbijregel3vqandeINPUTreeks.DeU wegvqanhetpakketjeisdusalsvolgt:卒v8__________________________ =C`INPUT'PN.|+/8`test'Kv>r-------------------------|--/+------------------------|---->r|NRegel1PN.|/|+|Regel1K||>r|------------------------|/-|+|-----------------------|---|>r|NRegel2PN./ r|+|Regel2K||>r|---------------------------|+------------------------v---->r|NRegel3PN./--+___________________________/>r-------------------------|---vؼGebruikersreeksenIkunnenverwijzennaaranderegebruikersreeksen.Alsjeechterheenenweerverwijst kqanàhetvoGorkomenàdatjepakketjesineenluskomen.DitvergtveelproGcessortijdenjepakketjeswordentegengehouden. 7.4.2#!\Uitbreidingen: Nieu>wedoQelenMMetTuitbreidingenkqanjenieuweTdoGelenopgeven.pdEendoel-uitbreidingbestaatuiteenkernelmoduleeneventueelU eeniptablesuitbreiding.qDevolgendeuitbreidingenzijnbGeschikbaarbijnetlter:ؼLOGMetU dezeuitbreidingkqanjepakketjesloggeninjesyslog.qHetbiedtdevolgendeopties:ȧ_2 ~?G7. Xiptablesgebruik>enX15ՁVlog-lev>el͍/wordt1gevolgddoGoreennummerofeennaam,%zoals`debug',`info',`notice',`warning',`err',`crit', /`alert'qof`emerg'.tDezenamenkomenovereenmetdenummers7totenmet0.tDehandleiding/vqanU syslog.confgeeftaanwatdezenamenbGetekenen.}log-prex/wordt~gevolgddoGoreenregelvqanmaximaal29letters.DezeregelkomtvGrdeeigenlijkebGood-/schapU inhetlogbGestand,zodatjedeboodschapmakkelijkkqanterugvinden.}Hetwordtaangeradenomdelimit-uitbreidingtegebruikenincombinatiemetdezemoGdule,YzodatjenietU jelog(enmisschienjehardeschijf)volzetalsjeopGeensveelpakketjeskrijgt.REJECT͍Deze_moGdulewerkthetzelfdeals`DROP',alleenwordtdeafzenderopdehoGogtegestelddathetpakketjeistegengehoudendoGormiddelvqaneen`portunreachable'(onbGereikbaar)ICMPpakketje.-'Zo'npakketjewordtU nietverzondenalse?%/HetU pakketjewatgelterdwerdeenICMPerrorpakketjewas,ofeenonbGekendICMPpakketje.}%/HetU pakketjeeenfragmentwas.%/ErU alteveelICMPerrorpakketjeszijnverzonden.REJECTeheeftvoGokeenextraoptie`reject-with'waarmeejekqanbepalenwelkpakketjeteruggestuurd moGetU worden.qZiedehandleidingvoGormeerinformatiehierover. /7.4.3#!\SpQecialeingebou>wdedoelenMErU zijntweeU ingebGouwdedoGelendieeenspecialefunctiehebben:qRETURNenQUEUE.ؼRETURNչbGeeindigd$eengebruikersreeks.Hetheefthetzelfdeeectalsaanheteindevqandereekskomen,namelijkϪdatnaardeoGorspronkelijkeϪreekswordtteruggekeerdendatdevolgenderegeluitgevoGerdwordt.AlsU ditineeningebGouwdereekswordtgebruikt,wordthetbGeleidvqandiereeksuitgevoGerdophetpakketje.QUEUEU bGewaarthetpakketjeomlaterdoGoreenprogrammaverwerktteworden.qDitisalleennuttigals:ishaspGecialtarget,WwhichqueuesthepacketforuserspaceproGcessing.F*orthistobeuseful,WtwohfurthercompGonentsU arerequired:_ZerU een"queuehandler"(afhandelaar)is,diehetpakketjevqandekernelaanpakt.}erU eenprogrammaiswatietsmethetpakketjedoGet.DeU queue-handlervoGorIPv4isdeip_queuekernelmoGdule,dienogexperimenteelis.Alsergeenprogrammaiswatopdepakketjeswacht,danwordenzetegengehouden.Omzo'nprogramma teKschrijvenkqanjedelibipGqAPI,gebruiken.GHetbGestand/proc/net/ip_queuegeeftdestatusvqanip_queueaaneenhetbGestand/proc/sys/net/ipv4/ip_queue_maxlengeeftdemaximalelengtevqandequeue(normaal1024).#ݍ7.5ReeksenonderhoudenMAls(jeveelregelshebtkqanhetweleenseenchaoswordenalsjezeallemaalinnreekszet.6Daaromishet[handigomzelfreeksentemaken.JekqanjeeigenreeksennoGemenzoalsjewilt,]maaraangeradenwordtkleineletterstegebruikenomzetekunnenonderscheidenvqaningebGouwdereeksen,σdienameninhoGofdlettershebbGen.qDeU namenvqanreeksenkunnennietlangerzijndan31letters.ֳ_2 ~?G7. Xiptablesgebruik>enX16ՁV7.5.1#!\Eennieu>wereeksmakenMHierU volgteenvoGorbeeldU vqanhoGejeeenreekskanmakenmeteenheleoriginelenaam:qtest:卑#Niptables-Ntest =#ؼDatU isalles.qNuhebjeeenreekszonderregelserin,dietestheet. 7.5.2#!\Eenreeksv>erwijderenEentreeksverwijderenisoGoksimpel,0maarkqanalleenalsdereekshelemaalgeenregelsmeerbevqat.2Ermoeten oGokgeenverwijzingenmeerzijnnaardereeksdiejewiltverwijderen.YJeverwijderteenregelmet`-X'of`delete-chain':#Niptables-Xtest =#ؼAlsU jedenaamvqandereeksweglaat,wordenallegebruikersreeksenverwijdert. 7.5.3#!\Eenreeksleegmak>enMErU iseensimpGelemanieromalleregelsuiteenreeksteverwijderen,namelijkmetde`-F'of`ush'optie:#Niptables-FFORWARD#ؼAlsU jegeenreeksopgeeft,wordenallereeksenleeggemaakt. 7.5.4#!\DeregelsineenreeksbQekijk>enMOmU alleregelsineenreekstebGekijkengebruikjede`-L'optie,ofde`list'optie.ؼBijmgebruikersreeksenziejeeen`refcnt'staan.Ditishetaantalverwijzingennaardezereeks.DitmoGetnul zijnU voGordatdereekskqanwordenverwijdert.Jekqannogdrieextraoptiesgebruikennaast`-L'.Metde`-n'optiekanjezorgendatIPadressennietomgezetworden=naardomeinnamen.vDitisnuttigalsjeDNS'nietgoGedwerkt.vHetopzoGekenvqannamenzorgtdannamelijk#+voGorgrotevertragingen.`PoGortenwordenoGokweergegevenalsnummers(`80')inplaatsvqannamen(`www').MetU de`-v'optiekrijgjeallepikqantedetailstezien,zoalsdeinterfacesenpakkettellers.DepakketenbytetellersgebruikenachtervoGegselszoals`K'Ю(kilo)en`M'(mega)voGor1.000en1.000.000.GebruikU de`-x'optiealsjedehelecijferswiltweten,zonderachtervoGegsels. 7.5.5#!\T ellersopn>ulzettenMJeU kqaneentelleropnulzettenmetde`-Z'of`zero'optie.AlsU jehetvolgendedoGet:嗠_2 ~?G8. XIpQc>hainsofipfwadmgebruikenJݹ17ՁV#Niptables-LFORWARD =#Niptables-ZFORWARD#ؼKunnenJernogpakketjesdoGorkomenindetijddatjehettweedecommandoaanhettypGenbent.mOmditte voGorkomen2ikqanjede`-L'2`en`-Z'optiestegelijkgebruiken,9[omdetellerstegelijktelezenenopnultezetten. 7.5.6#!\HetbQeleidinstellenMAls#eenpakketjeaanheteindevqaneenreekskomt,-wordthetbGeleiduitgevoGerd.aAlleeningebouwdereeksen(INPUT,U OUTPUTenFORWARD)hebbGeneenbeleid.ؼHetU bGeleidkqanACCEPT(doorlaten)ofDROP(tegenhouden)zijn.卑#Niptables-PFORWARDDROP =#DitU voGorbeeldstelthetbeleidvqandereeksFORWARDinopDROP.(8xIppcchainsG\ofipfwadmgebruiken:T*wee0;moGdules,7ipchains.o0;enipfwadm.o,7stellenjeinstaatomjeouderewallregelstegebruiken.e4LaadnvqanU dezetweeU alsmoGduleinjekernelenjekangewoGonipchainsofipfwadmgebruiken.ؼJekqanslechtsnvandedriemoGdulesladendieuitmakenwelkeregelsjegebruikt:P4ipfwadm.o,ipGchains.oofiptables.o.qLaadU ernietmeerdann.Ipfwadm]&enipGchainswordennatuurlijknieteeuwigondersteund.ErkomteentijddatjeiptableswelmoGetgebruiken.qV*olgensU RustyhoGefjejegeenzorgentemakentot2004alsjeipfwadmofipGchainsgebruikt.(9xNA(TG\eneenpakkcetltertegelijkgebruiken:NA*T staat$voGorNetworkAddressT*ranslationenhetsteltjeinstaatompakketjeseenanderdoGelofbestem-mingTtegeven.IMeerdetailshierovervindjeindeNA*T+HOWTO.JekqanNA*T+eneenpakketltergoGedcombineren.Alsw>jeeenpakketlteropzet,kqanjegewoGonjeNA*Tvnegeren:debestemmingvqanjeregelisde`echte'bGestemmingIenwordtnietbenvloeddoorNA*T.AlsjebijvoorbeeldjeNA*TIzohebtingestelddatpakketjesdienaar1.2.3.4pGoort80gaan,,naar10.1.1.1pGoort8080gestuurdworden,zietjepakketlterdepakketjesnaarz,10.1.1.1pGoortz,8080gaanennietnaar1.2.3.4.Depakketjesgaantenslottenietnaar1.2.3.4,odusheefthetU oGokgeenzinhierregelsvoortemaken.Bijmasquerading(SNA*T)komendepakketjesdusvqanhuninternenetwerkqadres(192.168.1.1)engaannaareentexternadres(www.linux.org).Ingaandepakketjeswordeneerstomgeschreven,|dangelterd,uitgaandepakketjesU wordeneerstgelterd,danomgeschreven.Jewkqande`state'uitbreidinggebruikenzonderdathetextramoGeitekostvoGorhetpakketlter,2wantdiemoGethetttoGchalbijhoudenomNA*TStekunnendoen.FGOminkomendeconnectiestegentehoudenenmasqueradingteU gebruikenkqanjehetvolgendedoGen(ditstaatookdeelsindeNA*Thowto):卑#NMasqueradeuitgaandppp0 =iptablesN-tnat-APOSTROUTING-oppp0-jMASQUERADE _2 ~?G10. XV ersc>hillentussenipQchainseniptables18ՁV =#NHoudNEWenINVALIDinkomendeofdoorgestuurdeconnectiestegen.iptablesN-AINPUT-ippp0-mstate--stateNEW,INVALID-jDROPiptablesN-AFORWARD-ippp0-mstate--stateNEW,INVALID-jDROP#NIPforwardingaanzettenechoN1>/proc/sys/net/ipv4/ip_forward(10$V(erscchillenG\tussenippchainseniptablesDe^namenvqandeingebGouwdereeksenhebbennunameninhoofdletters.+;Zehetendusgeen`input', `forward'en`output'meermaar`INPUT',`FORWARD'Ӕen`OUTPUT'.DeINPUTenOUTPUTreeksenkrijgenrespGectievelijkalleenpakketjesdievoGordezecomputerbedoeldzijnofdiedoordezecomputerU gemaaktzijn.qBijipGchainskwamalhetverkeerdoGordezereeksen.DeU`-i'optiebGetekentUnudeinterfacevqanhetinkomendeverkeer,enwerktalleenindeINPUTTenFORWARD reeksen.8;Sommige^regelsindeFORWARD reeks^enalleregelsindeOUTPUTreeksmoGeten>0aangepastworden:f`-i'moetvervqangenwordendoGor`-o',BdeoptievoGordeuitgaandeinterface.De TCPenUDPoptiesomeenpGoort tespGecicerenzijnnusource-portofsport(ofdestination-pGort/dport)endezemoGetenna`-ptcp'of`-pudp'komen,7fomdatdezeoptiesdeTCP֎enUDPuitbreidingenU laden.DeU TCP`-y'optieisveranderdnaar`syn'enmoGetna`-ptcp'komen.HetU DENYdoGelisveranderdnaarDROP*.JeU kqanreeksenleegmakenterwijljedeinformatieervanbGekijkt.HetU leegmakenvqaningebGouwdereeksenleegtnuoGokdebeleidstellers.FIXME:U Listingchainsgivesyouthecountersasanatomicsnapshot.REJECTU enLOGzijnnuuitbreidingen,watbGetekentdatzeapartgeladenmoGetenworden.ReeksenU kunnennamenhebbGentot31tekens.MASQ8:is8veranderdinMASQUERADEenwerktoGokanders. CREDIRECTheeftdezelfdenaamgehoudenU maarwerktoGokanders.qMeerinformatiehieroverkqanjevindenindeNA*THOWTO.DeD`-o'optiebGetekentDnudeuitgaandeinterfaceinplaatsvqanpakketjesnaar`userspace'testuren.PakketjesU wordennunaar`userspace'gestuurdviahetQUEUEdoGel.DuizendenU dingenmeer.(11$PcakketG\lteradvies:HetisvqaakeengoGedideevoormaximaleveiligheidomallestegentehouden,[endanselectiefsommigedingendoGorU telaten.qIetsonbekendsU wordtdantegengehouden.ؼDraaiU geendaemons,serversenservicesalsjezenietnoGdighebt,zelfsalsjedenktdatjezegeblockthebt.Het<|kqangeenkwaadveiligedingentecombineren.'JekqanbGeterteveelveiligheidhebbGendanteweinig. Gebruiktcp-wrappGers,proxies,routevericatieeneenpakketlter.ynRoutevericatieispakketjesblokkendie:eenIP:hebbGenopeenverkeerde:interface.hAlsjeinternenetwerkaddressenheeftals10.1.1.1enerkomt_2 ~?G11. XP>akketlteradviesM19ՁVeenzpakketjevqanafIPg10.1.1.2injecomputerviajeexterneinterface,kqanjehembGetertegenhouden.PDoe jePdatniet,dandenktjecomputerdatheteenpakketjevqanjenetwerkis,dusvqanmensendievertrouwdkunnenU worden.qDitkqanalsvolgtingesteldworden:卑#Necho1>/proc/sys/net/ipv4/conf/ppp0/rp_filter =#ؼOfU voGoralleinterfaces:#Nforfin/proc/sys/net/ipv4/conf/*/rp_filter;do#echoN1>$f#Ndone#ؼDebianۓdoGetditstandaardal,/maarbijsommigeroutersmoetdituitgezetwordenomdatzepakketjesuit rareU richtingenhorentekrijgen.ؼLoggingisnuttigommeerinformatietekrijgen,maaralsjerewallheviggebruiktwordtkqanjelogweleensovervolBraken.DitkqanzelfsresulterentoteenDoS6situatie.OmdittevoGorkomenkqanje`limit'gebruiken,zieU hierbGoven.Rustyraaddringendaanomconnectietrackingintestellen.d|HetmaaktdebGoelietslangzamer,^maarhetis{ergnuttigomdetoGegangtotjenetwerktebGepalen.AlsjeconnectietrackingniethebtingebGouwdmoGetjedemoGdule`ip_conntrack.o'laden.[kAlsjeingewikkeldeprotocolenwilttracken, !danmoetjehulpmodulesladen,U zoals`ip_conntrack_ftp.o'.qHierU eenvoGorbeeldjeU vqanwatjekqandoGenmetconnectietracking:卑#Niptables-Nno-conns-from-ppp0 =#Niptables-Ano-conns-from-ppp0-mstate--stateESTABLISHED,RELATED-jACCEPT#Niptables-Ano-conns-from-ppp0-mstate--stateNEW-i!ppp0-jACCEPT#Niptables-Ano-conns-from-ppp0-ippp0-mlimit-jLOG--log-prefix"Badpacketfromppp0:"#Niptables-Ano-conns-from-ppp0-i!ppp0-mlimit-jLOG--log-prefix"Badpacketnotfromppp0:"#Niptables-Ano-conns-from-ppp0-jDROP#Niptables-AINPUT-jno-conns-from-ppp0#Niptables-AFORWARD-jno-conns-from-ppp0ؼEenJgoGederewallbouwenJisniethetonderwerpvqandezeHOWTO.ZiedaarvoGordeSecurityHOWTO.Een goGedeU tipisaltijdzominmogelijkdoortelaten. ;_2GqL ectt0900!N ecbx1200HЃ ecti1000]f ecbx1000&Lt$ffffecbx14406 ecss1000qL ectt1000Iqqecss2074 1 ecrm1000 !", cmsy10