Firewallaufbau mit Linux - Linux-Praxis 1 Vorwort Die vorliegende Dokumentation beschreibt Funktionsweise, Aufbau und Wartung eines Firewallrechners unter Linux. Sie ist als begleitendes

  • Published on
    06-Feb-2018

  • View
    214

  • Download
    1

Embed Size (px)

Transcript

  • CrashkursFirewallaufbauunterLinux

    FlorianKalhammer

    21.Marz2001

  • Inhaltsverzeichnis

    1 Vorwort 5

    2 Grundlagen 62.1 DasOSI Referenzmodell. . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.1.1 Die Bitubertragungsschicht. . . . . . . . . . . . . . . . . . . . . . 72.1.2 Die Sicherungsschicht. . . . . . . . . . . . . . . . . . . . . . . . 72.1.3 Die Vermittlungsschicht . . . . . . . . . . . . . . . . . . . . . . . 82.1.4 Die Transportschicht. . . . . . . . . . . . . . . . . . . . . . . . . 82.1.5 Die Sitzungsschicht. . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.6 Die Darstellungsschicht . . . . . . . . . . . . . . . . . . . . . . . 92.1.7 Die Anwendungsschicht. . . . . . . . . . . . . . . . . . . . . . . 9

    2.2 DasTCP/IPReferenzmodell . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 Die Vermittlungsschicht . . . . . . . . . . . . . . . . . . . . . . . 112.2.2 Die Transportschicht. . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.3 KommunikationsablaufeinerTCPVerbindung . . . . . . . . . . . . . . . 15

    3 Grundlagen der Fir ewalltechnik 183.1 Die Voreinstellungfur Paketfilter . . . . . . . . . . . . . . . . . . . . . . . 203.2 REJECToderDENY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4 Filter n von eingehendenPaketen 244.1 Filtern nachIPAdressen. . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.1.1 FilternnachAbsenderAdressen. . . . . . . . . . . . . . . . . . . 244.1.2 FilternnachEmpfangerAdressen. . . . . . . . . . . . . . . . . . 25

    4.2 Filtern nachPortnummern . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2.1 FilternnachderAbsenderPortnummer. . . . . . . . . . . . . . . 254.2.2 FilternnachderEmpfangerPortnummer . . . . . . . . . . . . . . 26

    4.3 Filtern nachTCPStatusFlags. . . . . . . . . . . . . . . . . . . . . . . . 264.4 Angriffsformenvon auerhalb . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.4.1 Portscans. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.4.2 DenialofServiceAttacks. . . . . . . . . . . . . . . . . . . . . 27

    5 Filter n von ausgehendenPaketen 295.1 Filtern nachIPAdressen. . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    5.1.1 FilternnachAbsenderAdresse . . . . . . . . . . . . . . . . . . . 295.1.2 FilternnachEmpfangerAdresse. . . . . . . . . . . . . . . . . . . 29

    5.2 Filtern nachPortnummern . . . . . . . . . . . . . . . . . . . . . . . . . . 305.3 Filtern nachTCPStatusFlags. . . . . . . . . . . . . . . . . . . . . . . . 30

    6 Gestaltungeiner Fir ewall mit Linux 316.1 Die drei StandardKetten . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.2 DasHandwerkszeug:ipchains . . . . . . . . . . . . . . . . . . . . . . . . 326.3 FormatderAngaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    6.3.1 IPAdressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2

  • INHALTSVERZEICHNIS 3

    6.3.2 Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.4 PraktischerAufbaueinerFirewall . . . . . . . . . . . . . . . . . . . . . . 34

    6.4.1 Grundeinstellungen. . . . . . . . . . . . . . . . . . . . . . . . . . 346.4.2 Ein paarTechnikenzur Abwehrvon gefalschtenPaketen . . . . . . 356.4.3 AusfilternoffensichtlichfalscherAdressen . . . . . . . . . . . . . 366.4.4 ICMPNachrichtenfiltern . . . . . . . . . . . . . . . . . . . . . . 396.4.5 DiensteaufunprivilegiertenPorts . . . . . . . . . . . . . . . . . . 416.4.6 WichtigeDiensteerlauben . . . . . . . . . . . . . . . . . . . . . . 42

    7 Die Fir ewall alsRouter ins Inter net 467.1 RouteroderProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    7.1.1 Die ProxyTechnik . . . . . . . . . . . . . . . . . . . . . . . . . . 467.1.2 Die RouterTechnik . . . . . . . . . . . . . . . . . . . . . . . . . 47

    7.2 DasProblemderreserviertenAdressen. . . . . . . . . . . . . . . . . . . . 487.3 MasqueradingalsProblemlosung. . . . . . . . . . . . . . . . . . . . . . . 497.4 VerschiedeneModellevon routendenFirewalls . . . . . . . . . . . . . . . 50

    7.4.1 Die BastionHostFirewall . . . . . . . . . . . . . . . . . . . . . . 507.4.2 Die DemilitarisierteZone(DMZ) . . . . . . . . . . . . . . . . . . 51

    8 ExemplarischerAufbau einer DMZFir ewall 538.1 Die symbolischenKonstanten . . . . . . . . . . . . . . . . . . . . . . . . 54

    8.1.1 Die Konstantenfur die Bastion. . . . . . . . . . . . . . . . . . . . 548.1.2 Die Konstantenfur die Choke . . . . . . . . . . . . . . . . . . . . 55

    8.2 WeitereGrundeinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . 558.3 ICMPNachrichtenfiltern . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    8.3.1 SourceQuenchNachrichten. . . . . . . . . . . . . . . . . . . . . 588.3.2 ParameterProblemNachrichten. . . . . . . . . . . . . . . . . . . 598.3.3 DestinationUnreachableNachrichten. . . . . . . . . . . . . . . . 598.3.4 TimeExceededNachrichten. . . . . . . . . . . . . . . . . . . . . 598.3.5 PingKonfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    8.4 Diensteauf unprivilegiertenPorts . . . . . . . . . . . . . . . . . . . . . . 618.5 DomainNameService . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    8.5.1 NutzungeinesoffentlichenNameservers . . . . . . . . . . . . . . 618.5.2 BetreibeneigenerNameserver . . . . . . . . . . . . . . . . . . . . 62

    8.6 Der identService(auth) . . . . . . . . . . . . . . . . . . . . . . . . . . . 648.6.1 KonfigurationderBastion . . . . . . . . . . . . . . . . . . . . . . 648.6.2 KonfigurationderChoke . . . . . . . . . . . . . . . . . . . . . . . 65

    8.7 EMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658.7.1 AbgehendeMails uberdieBastionverschicken . . . . . . . . . . . 658.7.2 MailempfanguberPOPServeraufderBastion . . . . . . . . . . . 66

    8.8 Alle weiterenDienste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.9 LAN Zugriff auf dieChoke . . . . . . . . . . . . . . . . . . . . . . . . . . 678.10 Und schlielichdasMasquerading. . . . . . . . . . . . . . . . . . . . . . 68

    A Wichtige Portnummern 69A.1 HaufiggescanntePorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69A.2 ICMP NachrichtenTypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    B Die BeispielScripts 72B.1 DasersteFirewallscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72B.2 DasBastionFirewallscript . . . . . . . . . . . . . . . . . . . . . . . . . . 78B.3 DasChokeFirewallscript . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

  • 4 INHALTSVERZEICHNIS

    C Protokollbeschreibungen 90C.1 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91C.2 identdoderauth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92C.3 UsenetNews (NNTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92C.4 E-Mail (SMTP/POP/IMAP) . . . . . . . . . . . . . . . . . . . . . . . . . 93C.5 Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94C.6 SecureShell(SSH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94C.7 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95C.8 HTTP - Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96C.9 HTTP - mit SecureSocketLayer(SSL) . . . . . . . . . . . . . . . . . . . 96C.10 HTTP-ProxyZugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

  • Kapitel 1

    Vorwort

    Die vorliegendeDokumentationbeschreibtFunktionsweise,Aufbau und WartungeinesFirewallrechnersunterLinux. Sie ist alsbegleitendesMaterial fur eineSchulunggedacht,nicht als SelbststudiumHilfe.DasThemaFirewall ist ein weit gefacherterBereich,derhier nicht abschlieendbehandeltwerdenkann,es sollen die in der Schulungund demAufbauvorkommendenPunktebesprochenunddargestelltwerden.

    EineFirewall ist ein Sicherheitssystem,das wie alle anderenSicherheitssystemeauchim Idealfall nichtgenutztwerdenmu,weil z.B.keinAngriff aufdasComputersystemvor-liegt. Wie aberbei Sicherheitssystemenublich,nutzt unsdiesesSystemnur dann,wennesim Bedarfsfall perfektfunktioniert.Fur dieseGarantiederperfektenFunktionist abereineSachewesentlicheVoraussetzung:DasVerstandnisder zugrundeliegendenTechnologie.DiesesVerstandniskannbeivielenMenschen,diemit Computernzwarzutunhaben,dieseabernicht restlosverstehen,nicht vorausgesetztwerden.Aus diesemGrundbeginnt dieseBeschreibungmit einemKapitel Netzwerkgrundlagen,die fur viele vielleicht ubertriebengenauerscheint.Trotzdemmu damitspaterdieFunktionsweisederFirewall hinlanglichsicheraufgebautwerdenkann diesesWissenvorhandensein.. .

    Die BeschreibungderTechnikenbeziehtsichhierauf einLinuxSystemmit einemKernelderVersionen2.2.x,dermit ipchainsarbeitet.In denfruherenVersionenwurdestattdieserTechnikein Programmmit Namenipfwadmeingesetzt,in derallerneuestenKernelversion(2.4)wird eineneueTechnik(iptables) verwendet.In Sicherheitstechnikensolltenaberim-merausgereifteunderprobteWerkzeugezumEinsatzkommen.Daherscheintmir ipchainsdie besteLosungdarzustellen.Der Umstieg auf die neueTechnikist im wesentlichenauchnureinsyntaktischer, die Regelnbleibengrotenteilsdieselben.

    DieseDokumentationkanneinesnicht sein,eineEinfuhrungin bzw. ein Lehrgangfur Li-nux selbst.Eswerdenhier alsowederdie Installation,nochdie grundlegendenTechnikendesUmgangsmit Linux beschrieben.Eine StandaloneFirewall mit Linux bedarfaller-dingsauchnicht einergroenVerwaltungsarbeit,sodaein durchschnittlichesWissenumLinux sicherausreichendist, um die hier beschriebenenVorgangenachzuvollziehenundreproduzierenzu konnen.Wo immer esnotwendigist, genaueAngabenzu machen,wobzw. wie etwasin Linux einzustellenist, wird esausreichendbeschrieben.

    Daim vorliegendenFall dieLinuxDistributionderS.u.S.EGmbHeingesetztwird (S.u.S.E7.0 Professional),bezieheich mich im wesentlichenauchauf die in dieserDistributionublichenDateienundVerzeichnisse.Im GroenundGanzensolltenaberalle Technikenmit kleinenAnderungen auchin jederanderenmodernenLinuxDistribution implemen-tierbarsein.Die Unterschiedewerdensichim Wesentlichenauf verschiedeneStartdateienreduzieren,in denendieentsprechendenFirewallRegelneingetragenwerden.DieseStart-dateiensind in fastjederDistribution unterschiedlich,daherwurdeeineallgemeingultigeBeschreibungdenRahmendieserDokumentationsichersprengen.

    5

  • Kapitel 2

    Grundlagen

    Der Begriff Firewall hatkeineeindeutigeDefinition undkeinestandardisierteBedeutung.EshandeltsichvielmehrumeinModell zurAbsicherungeinesComputernetzesgegenuberanderen meistoffentlichen Netzen.Im RahmendieserAnforderungkommen je nachGroeundKonzeptdeszuschutzendenNetzes verschiedeneLosungsansatzein Frage.InjedemFall mudiegewunschteSicherheitin verschiedenenSchichtenangegangenwerden,eineinzigerMechanismus,wie etwanur einePaketFirewall alleineist niegenug.

    Im Allgemeinenwird beim ThemaFirewall zwischendem zu schutzendenNetz (inter-nesLAN oder auchsicheres Netz) und dem offentlichenNetz (meist das InternetoderauchunsicheresNetz) unterschieden.Im einfachstenFall ist die Firewall hier ein physi-kalischerRechner, der mit zwei Netzwerkverbindungen(Netzwerkkarten,ISDN-Karten,Modems,.. . ) ausgestattetist. Eine davon ist mit demsicheren,die anderemit demunsi-cherenNetzverbunden.Der einzigeWeg, derbeideNetzeverbindet,ist ebendieFirewall.Auf diesemVerbindungsrechnerwerdennun Strategien implementiert,die die Sicherheitdeszu schutzendenNetzes aberauchdie Regeln,die beschreiben,wer im sicherenNetzwasim unsicherenNetzmachendarf festlegen.Dazuzahleninsbesondere:

    WelcheInternetDienstedurfenvomlokalenNetzausgenutztwerden? WelcheDienstedarfdieganzeWelt in Anspruchnehmen? WelcheDienstedurfenausgewahlteBenutzeroderComputerin Anspruchnehmen? WelcheDienstedurfennur lokal genutztwerden?

    DergrundlegendeAnsatzzurImplementierungdieserStrategienistdiesogenanntePaketfilterFirewall. Im weiterenVerlaufdieserDarstellungwird esalsohauptsachlichum die Kon-zeptionund Wartungeiner solchenPaketfilterFirewall gehen,implementiertmit einemLinuxSystem.Linux bietet fur dieseAufgabealle notwendigenWerkzeugebereitsimBetriebssystemKern,es ist alsonicht notwendig,komplizierteZusatzinstallationenvor-zunehmen,dieeinSystemnur instabilerwerdenlassen.

    Auf deranderenSeitewurdeja schonerwahnt,daeinehinreichendeSicherheitnur uberverschiedene,aufeinanderaufbauendeMechanismenherzustellenist.Auchfurdiesehoher-gelegenenSicherheitsstufensindunterLinux alleWerkzeugebereitsin derStandardInstallationvorhanden.Zunachstgilt unserAugenmerkjedochdenMechanismendesPaketfilterns.UmgrundsatzlichdiesenVorgangverstehenzukonnen,ist esnotwendigeinpaargrundlegendeBegriffe undTechnikenderComputervernetzungzu beschreiben.Wasist uberhauptKom-munikationin Netzwerken,wie lauft sieabundwelcheMittel desEingreifensstehenunsalsozurVerfugung?

    2.1 DasOSI Referenzmodell

    EndedersiebzigerJahrewurdeein theoretischesReferenzmodellfur die VernetzungvonComputernentworfen,dasauchheutenochvielen Darstellungenzugrundeliegt. Es han-

    6

  • 2.1. DAS OSIREFERENZMODELL 7

    delt sich dabeium dassogenannteOSIReferenzmodell.OSI stehtfur OpenSystemIn-terconnection, alsoetwa VerbindungoffenerSystemeuntereinander. DiesesModell ist einSchichtenmodellmit siebenSchichten,die die KommunikationderComputeruntereinan-derbeschreiben.Esist sehrakademischangelegt undwurdevonkeinemrealexistierendenNetzwerksystemvollstandigimplementiert.Trotzdemwird eszurDarstellungderverschie-denenMechanismennochheutebenutzt.Daherfolgt hier einekurzeBeschreibungdiesesModells:

    Anwendungsschicht (application layer)

    Sitzungsschicht (session layer)

    Transportschicht (transport layer)

    Verbindungsschicht (network layer)

    Sicherungsschicht (data link layer)

    Bituebertragungsschicht (physical layer)

    Darstellungsschicht (presentation layer)

    Bild 2.1: DasOSI-Referenzmodell

    Die beidenunterstenSchichtensind im FalleeinerherkommlichenNetzverbindungetwauber EthernetKarten auf der Netzwerkkarteselbstimplementiert.Sie sind also nichtBestandteilderSoftwareoderdesBetriebssystems.

    Von untennachobenbetrachtetkommendenverschiedenenSchichtendie folgendenAuf-gabenzu:

    2.1.1 Die Bit ubertragungsschicht

    Die Bitubertragungsschicht(physicalLayer)ist verantwortlich fur dieUbertragungderein-zelnenBits,siehatalsoeinfachdieAufgabedafur zusorgen,dawo eine1 gesendetwurdeaucheine1 empfangenwird undwo eine0 gesendetwurdeebeneine0 empfangenwird.TypischeFragendieserSchichtsinddieSpannungen,diejeweilseiner1 oder0 entsprechenundwielangedieseSpannungenaufrechterhaltenwerdenmussen,damitein Bit gesendetwird. DieseSchichtist immer direkt mit der Hardwareverbunden,ihre KonstruktionistalsoAufgabedesHardwareherstellers.

    2.1.2 Die Sicherungsschicht

    Die Sicherungsschicht(datalink layer) verarbeitetdie ubertragenenRohdatenindemsieeineDatenreihedarauserstellt und dieseDatenreihegewohnlichermaenin einensoge-nanntenDatenubertragungsrahmen(dataframe)packt.Die Sicherungsschichtkommuni-ziert mit ihrer gegenuberliegendenSicherungsschichtdurchsogenannteQuittungsrahmen,diekorrektverarbeitetwerdenmussen.

  • 8 KAPITEL 2. GRUNDLAGEN

    Um dasGanzeeinmal im Detail zu sehenfolgt hier die Darstellungder FramestruktureinesDatenrahmens(engl.f...

Recommended

View more >