Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
IntroduzioneaifirewallconLinux
MauroBarattineOrianoChiaradia
Belluno,27novembre2004
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Sommario
Perchproteggersi Cosaproteggereconunfirewall Approccipraticiallasicurezza Definizionedifirewall Breveintroduzionetecnica NetfiltereIptables Tabellecateneeregole Comesicostruisconoleregole Filtraggiostetelessestatefull Esempiapplicativi Conclusioni
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Perchmeglioproteggersi?
Ilnostrocomputerdicasa,unavoltaconnessoaInternettramiteun modem,raggiungibiledaognihostdelmondo!Inmancanzadi dispositividifiltraggio,ogniserviziodireteattivosulnostro computer(es.condivisioniwindows...)puessereraggiungibile dall'esterno.Dalpuntodivistadellasicurezza,inoltre,ogniservizio espostorappresentaunapossibilevulnerabilitdelnostrosistemae dellanostrarete... L'offertadiconnettivitADSLabassocostohapermessoanche all'utenzacasalingadiusufruiredilineealwaysonadaltavelocit che,proprioperchsempreattive,necessitanodiunamaggiore protezionecontroleintrusioni.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Cosadobbiamoproteggere?
Dati
Privacy Integrit Disponibilit Integrithardwareesoftware Tempodicalcolo/memoria Furtodiidentit(es.accessoachiaviprivate) Catenadiattacchi(mascheramentoprovenienzaoriginaria) Presenzamaterialeindesideratoinarchivipubblici Defacement
Risorse
Reputazione
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Tipologiediattacco
Intrusione
Accessononautorizzato Scalataprivilegi Modificadeisistemi(installazionedibackdoors) Networkflooding Resourceexhaustion Disabilitazione/danneggiamentodeiservizi Accessoagliarchivi Monitoraggiodeltrafficodirete(sniffing)
Denialofservice
Furtodiinformazioni
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Approcciallasicurezza
Hostlevel
Sicurezzaalivellodisingolamacchina Ognisistemadotatodimisurediprotezioneindividuali Nonscalabileedidifficilegestione Nonadattoadambientieterogeneiperarchitettureesoftware Sicurezzaalivellorete Controllodiaccessoconcentrato(hardware/softwarededicato) Scalabile,gestibile,adattabile Minoreflessibilit
Networklevel
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Cos'unfirewall?
Proviamoadarequalchedefinizione... Murodifuoco Ilfirewalluncomponenteattivochesiinterponefradueopireti (adesempiounaretelocaleeunaretepubblica),configuratoconun insiemediregolechedeterminanoqualicomunicazionisono permesseequaliinvecesonovietate. Ilfirewalluncomponentehardwarecondueopischededirete sulqualevieneinstallatounambienteoperativocheanalizzae gestisceiltrafficodeipacchettiinbaseallaconfigurazionefornita dall'amministratoredirete. ...insomma,unfirewallunFILTRO!
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Cosafaecosanonfa...
Cosafa...
Separazionefisicatradueopireti Restrizionesultraffico Monitoraggiodeltraffico Loggingdeltraffico Nonproteggedavirus Nonimpedisceloscaricamentodisoftwareinfetto Nonesaminailpayloaddeipacchetti(idati) Nonpufarecichenonstatoprevistoinpartenza Nonproteggedatipidiattacchinonnotiapriori Nonproteggedautentilegittimi Nonproteggeincasodipuntidiaccessononcontrollati
Cosanonfa...
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Packetfiltervs.applicationproxy
Ifirewallsidividonoinduecategorie:
Packetfilter
Applicationproxy
Nelseguitocioccuperemodipacketfilter...
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
IlprotocolloTCP/IP
Iprotocollisonoglistandardchespecificano: Comeavvengonoitrasferimentidaunamacchinaadun'altra Comesonorappresentatiidati Qualisonotecnicheperlarivelazioned'errore Ilmeccanismodiacknowledgmentperipacchettitrasmessi Taliprotocollirendonoinvisibileall'utentel'hardwaresottostante duranteunaqualsiasisessionedilavoro. PerTCP/IP,ilprotocollosucuisibasaInternet,nonsiintendesoloil protocolloditrasmissioneTCPedilprotocollodireteIP,mauna famigliadiprotocollicomprendenteanchel'UDP,l'ICMP,l'ARP,...
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
(TransmissionControlProtocol)
IlprotocolloTCPsiassumelaresponsabilitdiinstaurare(SYN)un collegamentotraduehost,direndereaffidabileiltrasferimentodidati ecomanditraessi(richiedendo,senecessario,laritrasmissionedi alcunidati)edinfinedichiuderelaconnessione(FIN). Connectionoriented Affidabile(controllodiintegritesequenzialit) Altooverhead Necessitalostabilirsidiunaconnessione Ogniservizioidentificatodaunaporta(sinoticheilTCPusala connessione,enonlaporta,comesuafondamentaleastrazione...) UsatodaiserviziHTTP,FTP,SMTPedaltri
TCP
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
(TransmissionControlProtocol)
IlprotocolloUDPfornisceunserviziodirecapitodeidatagrammi connectionlessedinaffidabile(nonprevedenessunmeccanismoperil controllodell'errore).PerciimessaggiUDPpossonoesserepersi, duplicatioppurearrivarefuoridall'ordine;inoltreipacchettipossono arrivarepivelocementediquantoilriceventesiaingradodi processarli. Nonconnectionoriented Nessuncontrollodiintegrit Bassooverhead Serviziidentificatidaporte UsatodaDNS,NFS,NetBIOS
UDP
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
(InternetControlMessageProtocol)
IlprotocolloICMPconsenteunacomunicazionestraordinariatra routersedhostspermettendoloscambiodisegnalidierroreodi controllo(adesempioimessaggidiredirect,cherichiedonoadunhost dicambiarelapropriatabelladirouting,emessaggidiecho request/echoreply,chel'hostpuusareperdeterminaresela destinazionepuessereraggiunta). Echorequest(type8) Echoreply(type0) Timeexceeded(type11) Destinationunreachable(type3) Redirect(type5)
ICMP
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
TCPThreewayhandshake
IlthreewayhandshakeassicurachelaconnessionetraduehostAeB siastatastabilitaconsuccesso. L'hostAfaunarichiestadiconnessioneversol'hostB(SYN). L'hostB,ricevutalarichiestadiconnessione,inviaall'hostAun datagrammadiconferma(SYN+ACK). Ricevutoildatagrammadiconferma,l'hostAinviaall'hostBun datagrammacheinformalostessohostBchelaconfermadi connessionearrivataallohostA(ACK).
Richiestaconnessione Confermaconnessione Confermadiaverricevuto laconfermadiconnessione
host A
Belluno, 27 novembre 2004
host B
Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
LeportedelprotocolloTCP/IP
LeportesonoilmezzoessenzialechepermetteaiprotocolliTCPeUDP digestireflussimultiplididatiattraversounaunicaconnessionefisica allarete.Leportesonoindicateconunnumerointerocompresotra0e 65.535epossonoessereassegnatesiaalprotocolloTCPcheUDP.
7ECHO 9DISCARD 13DAYTIME 20FTPDATA(FTPdatatransfer) 21FTP(FileTransferProtocol) 22SSH(SecureShell) 23TELNET 25SMTP(SimpleMailTransferProtocol) 42WINS(WindowsInternetNamingService) 53DNS(DomainNameServer) 80HTTP(HyperTextTransferProtocol) 110POP3(PostOfficeProtocol3) 119NNTP(NetworkNewsTransferProtocol) 135EPMAP(DCEEndpointMapper) 137NETBIOSns(nameservice) 138NETBIOSdgm(datagramservice) 139NETBIOSss(sessionservice) 143IMAP(InternetMessageAccessProtocol) 161SNMP(SimpleNetworkManagementProtocol) 389LDAP(LightweightDirectoryAccessProtocol) 443HTTPS(SecureHTTP) 445Microsoftds(MicrosoftDirectoryService) 465SMTPS(SecureSMTP) 995POP3S(SecurePOP3)
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Tipidiporte
LoIANA(InternetAssignedNumbersAuthority)l'entechehatraisuoi scopilastandardizzazionedelleporteel'aggiornamentocostantediun documento,chiamatoportsnumber,contenentel'elencodeiservizi registratiedellerelativeporteutilizzate.Nelsuddettodocumento,lo spaziodelle65536porteUDPeTCPstatosuddivisointreparti: WellKnownPorts(porte01023):sonoporteassegnate univocamenteesonoriservateaiserviziserverstandard. RegisteredPorts(porte102449151):l'utilizzodiquestoinsiemedi porteliberononostantecontengadeiserviziregistrati. Dynamicand/orPrivatePorts(porte4915265535):nessun servizioregistratoinquest'area.Ilsuoutilizzolibero.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Tipidiporte
Dalpuntodivistadellasicurezzarivestegrandeimportanzalostatodi unaportavistadall'esternodellamacchina.Sonoposssibilitrecasi: Portaaperta(Open):unprocessoserverinascoltosullaporta.E' possibilestabilireunaconnessionedall'esterno. Portachiusa(Closed):nessunprocessoinattesaelaportaquindi inutilizzata.Seunclientcercadiconnettersi,ilsistemaoperativo mandaunsegnalediresetdellacomunicazione. Portafiltrata(Filtered):unfirewall,filtro,ounaltroostacolodirete stacoprendolaportaimpedendodideterminareselaporta aperta.Inquestocasonessunsegnalediresetvieneinviatoalcliente ilsistemarimanesemplicementemuto.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Comerilevarelostatodiunaporta?
Strumentichecipermettonodistabilirelostatodiunaporta: Analisidelsistemalocale:visualizzazionedelleconnessioniattive (established)edelleporteinascolto(listening)permettendoquindi diindividuaretuttiiserverinesecuzionesulcomputerinesame. netstat -a Analisidaunsistemaremoto:visualizzazionedelleporteinascolto (listening)conl'ausiliodiunportscanner(es.Nmap).Questotest risultautiletuttelevoltechelanostramacchinaolanostraretenon direttamenteespostasuinternetmaseparatadaquestadaun firewall,unrouterodungenericogateway. nmap -v -sS -O www.sito.com
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Retiinterne
LaRFC1918(Requestforcomments)specificairangediindirizziIPche possonoessereusatiperleretiprivateechenonvengonoquindi utilizzatidaInternet.Taliindirizzisono: 10.0.0.010.254.254.254 172.16.0.0172.31.254.254 192.168.0.0192.168.254.254 IcomputerconquestiindirizzipossonoaccedereaInternetsolo attraversoserverproxyocollegandosiadunroutercheeffettuiil mascheramentodelleconnessioniuscenti(notocome"NAT").
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
FirewalldiLinux
Dallaversione2.4ilkernelsibasasull'infrastrutturanetfilter/iptables chepermettediconfigurareunfirewallperfare:
Packetfiltering(stateless,statefull):regoledifiltraggiodei
pacchetticheilfirewallorigina,riceveochetransitanodalfirewall.
NetworkAddressTranslation(NAT):regoleperalterare Packetmangling:modificadialcuniflagdeipacchetti.
Netfilterilsistemadifiltraggiodeipacchetti Iptablesiltoolpercreareleregole
Belluno, 27 novembre 2004
l'intestazionedeipacchetti,tenendotracciadellemanipolazioni fatteedoperandol'operazioneinversasuipacchettidirisposta.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Tabelleecatene
Sibasasuiconcettiditabelle,catene(chains)eregole(rules). Unatabellaformatadacateneeunacatenadaregole. Unacatenauninsiemediregoleconcatenatefralorochevannoad agiresulleintestazionideipacchettiperverificarnela corrispondenza. Perciascunacatena,Iptablesnumeraleregoleinordinecrescente partendodallaregolanumero1.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Tabelleecatene
filter
INPUT OUTPUT FORWARD
decisione sul routing +------------+ +---------+ +-------------+ IN ----->| PREROUTING |-----> ------>| FORWARD |-------> ---->| POSTROUTING |-----> OUT +------------+ \ +---------+ / +-------------+ DNAT | filtro | SNAT REDIRECT | | MASQUERADE v | +-------+ +--------+ | INPUT | | OUTPUT | +-------+ +--------+ | ^ filtro | | filtro,DNAT v | +------------------------------+ | Processo Locale | +------------------------------+
nat
mangle
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Lecatene
INPUT:contieneleregoledifiltraggioperipacchettiindirizzatial firewallstesso. OUTPUT:contieneleregoledifiltraggioperipacchettigeneratida unprocessointernoalfirewalledestinativersounhostesterno. FORWARD:contieneleregoledifiltraggioperipacchettinon destinatialfirewall,secondolatabelladirouting. PREROUTING:contieneledirettivechedevonoessereapplicate primadelprocessodirouting.Aquestolivellosiapplicail DestinationNAT(DNAT). POSTROUTING:Direttivechedevonoessereaplicatedopoil processodirouting.Aquestolivellonelqualevengonoapplicatele direttivediSourceNAT(SNAT).
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Filtraggio...inbaseacosa?
Livellofisico
Interfacciadirete MACsorgente
Livellodatalink Livellorete
IndirizzoIPsorgente IndirizzoIPdestinazione Tipodiprotocollo(TCP,UDP,ICMP,...) PortaTCP/UDPsorgente PortaTCP/UDPdestinazione TipodimessaggioICMP
Livellotrasporto
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Comesicostruisceunaregola
Iptablesaccettalasintassiseguente:
iptables[ttable]command[match][target]
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Command
IcomandidiIptablescheagisconosullechainsonoiseguenti:
-A -I -R -D -L -N -X -P -F -Z -E | | | | | | | | | | | --append Aggiungeunanuovaregolaincoda.precedenti. --insert Inserisceunanuovaregolainposizione... --replace Sostituisceunaregolaconunanuova. --delete Eliminaunaregola. --list Visualizzaleinformazionisullechain. --new-chain Creaunanuovachain. --delete-chainEliminaunachainsolosevuota. --policy Cambialapolicyperunachain. --flush Eliminatutteleregolesullechain. --zero Azzeraibyteeicontatoriintuttelechain. --rename-chainCambianomeadunachain.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Matchgeneriche
Lamatchgenericaagiscesuognitipodiprotocollocheilkernelcapace dicontrollare.Nonrichiestonessuncomandooopzioneper controllarelamatch.
-s -d -p -i -o | | | | | --source --destination --protocol --in-interface --out-interface
Leregolenellematchpossonovenireanticipatedalcarattere"!". Lasuafunzionedinegarelaregola.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
MatchTCP,UDP,ICMP
MatchperilprotocolloTCP:
--tcp-flags --syn --sport | --source-port --dport | --destination-port
MatchperilprotocolloUDP:
--sport | --source-port --dport | --destination-port
Portadiorigine. Portadidestinazione.
MatchperilprotocolloICMP:
--icmp-type
Tipodipacchetto.
Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Matchesplicite
MatchMAC(sonocaricateconl'opzione-m mac):
--mac-source
NumeroMACdell'indirizzosorgente.
Matchmultiporta(sonocaricateconl'opzione-m multiport):
--source-port --destination-port --port
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Matchstate
Questematchgarantisconol'accessoalleinformazionesultracking delleconnessioni.Sonocaricateconl'opzionemstate.
--state
Stato della connessione. Indica lo stato che deve essere confrontato della connessione: INVALID, ESTABLISHED, NEW e RELATED.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Approccialpacketfiltering
Statelessfiltering
Ladecisionesull'instradamentoomenodiunpacchettopresa esclusivamentesullabasedellasolainformazionecontenutanei campiheaderdelpacchettostesso Indirizzodiprovenienza/destinazione Protocolloditrasporto Informazioniaddizionali Ladecisionepresasullabasedell'informazionecontenutanel pacchettoedeltrafficoprecedente,dicuimantenutamemoria
Statefullinspection
Iptablesingradodieseguirelastatefullinspection...
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Statefulinspection
Unpacchetto(TCP,UDP,ICMP)puessereinunodeglistati: NEW:creaunanuovaconnessione ESTABLISHED:appartieneaunaconnessioneesistente RELATED:relativo,manonpartediunaconnessioneesistente (es.ICMPdierrore) INVALID:nonidentificatooerrorenonrelativoadalcunaconnessione
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Itarget
Contargetsiintendeildestinodatoaipacchettidaunaregola. Itargetsonomoltiepossonoessereestesitramitepatch,ipi comunementeutilizzatisono: ACCEPT:ilpacchettovieneaccettato. DROP:ilpacchettovienescartato,senzasegnalazione. REJECT:simileaDROP,consegnalazioneall'indirizzosorgente. LOG:ilpacchettovienememorizzatonelfiledilog. SNAT:cambial'indirizzosorgentedelpacchetto. DNAT:cambial'indirizzodidestinazionedelpacchetto. MASQUERADE:simileaDNAT... ULOG:trasmetteipacchettiloggatiinuserspace.
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Esempi
Eliminatutteleregoleimpostatenellatabellafilter(implicito):
# iptables -F
Eliminatutteleregoleimpostatenellatabellanat:
# iptables -t nat -F
Eliminatuttelecatenedefinitedall'utentenellatabellafilter:
# iptables -X
Perpolicysiintendelapoliticaadottatainunacatena. OgnicatenanehaunadidefaultchehacomevaloreACCEPT...
# iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Esempi...
Accettainingressoleconnessioniversolaportasshdelfirewall:
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Siimpediscel'ingressoaognipacchettononprovieneda192.168.0.*
# iptables -A INPUT -s ! 192.168.0.0/24 -j DROP
Nonpermetteilpassaggiodiconnessioniversolaportatelnet:
# iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport telnet -j DROP \
Accettaipacchetticheappartengonoadunaconnessionenotao relativiadessa(es.ICMPerror,ftpdata,...)
#iptables -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Esempi
Loggatutteleconnessionidell'host10.0.0.3versolaporta80locale.
# iptables -A INPUT -s 10.0.0.3 -p tcp dport 80 \ -j LOG --log-prefix "Dropped (http): "
RigettatutteleconnessioniTCP.
# iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
Visualizzaleregolenellatabellafilter.
# iptables -A INPUT -m mac --mac-source 00:0A:5E:20:10:FE \ -p tcp --dport pop3 -j ACCEPT
VisualizzaleregolenellacatenadiINPUT.
# iptables -L # iptables -L INPUT -v -n --line-numbers
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Approccialpacketfiltering
Esistonodueapprocciortogonaliperlapoliticadisicurezza: DefaultPermitStance:sivietanosoltantoalcuniserviziparticolari, partendodaunsistemaaperto. DefaultDenyStance:sivietaqualunquecosaperdefaultesi controllanodirettamenteiservizichesivoglionoabilitare.Inaltre parole,tuttocichenonesplicitamentepermessoeproibito!
Lanostraanalisisibasasulprimoapproccio.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
PCdicasa
PC LINUX MODEM
ppp0
IP DINAMICO
INTERNET
# # # #
-F -P INPUT DROP -P OUTPUT ACCEPT -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
TipidiNAT
DNAT:utilizzatoperindirizzarel'indirizzoIPdidestinazioneverso unaltronodo,appartenenteadunazonaprotettadalfirewall. SNAT:utilizzatoperriscriverel'indirizzoIPsorgentedelpacchetto. L'utilizzoprincipalesihaquandopicomputercondividonola stessaconnessioneInternetconununicoIPstaticoassegnatoal firewalloalrouter.SenzaquestatraduzionelaLANnonpotrebbe nonpotrebbecomunicareconl'esternoinquanto,generalmente, usaindirizziIPprivatienonpubblici. MASQUERADE:equivalenteaSNAT,tuttavianonrichiededi specificareunnumeroIPsorgenteinquantoquestovienecalcolato ognivolta.L'utilizzoprincipalesihaquandopicondividonola stessaconnessioneInternetconununicoIpdinamicoassegnatoal firewalloalrouter.
Belluno, 27 novembre 2004
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
LANaziendale
SERVER
192.168.0.1 192.168.0.2 192.168.0.10
CLIENT
192.168.0.11 192.168.0.12
IP STATICO
FIREWALL LINUX ROUTER
81.114.10.137
WWW
FTP
eth0
eth1
INTERNET
192.168.0.254
81.114.10.138
# # # # # # # # # # #
echo 1 > iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables
/proc/sys/net/ipv4/ip_forward -F -t nat -F -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -i eth0 -s 192.168.0.0/24 -p tcp dport ssh -j ACCEPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -j ACCEPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
LANaziendale+servizipubblici
SERVER
192.168.0.1 192.168.0.2 151.37.112.9
WWW
FTP
FIREWALL LINUX
eth0 eth1
ROUTER
81.114.10.137
DMZ
INTERNET
223.10.7.22
192.168.0.254
81.114.10.138
... # iptables -t nat -A PREROUTING -i eth1 -d 81.114.10.138 \ -p tcp -dport http -j DNAT to 192.168.0.1 # iptables -t nat -A PREROUTING -i eth1 -s 151.37.112.9 -d 81.114.10.138 \ -p tcp -dport ftp -j DNAT to 192.168.0.2
LeconnessionivannopermesseanchesullacatenaFORWARD
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Conclusioni
Ilfirewallunelementoessenzialeperraggiungereunelevatolivellodisicurezzasu unaretelocale,manonbastainstallareunsistemadifirewallperaverelacertezza dellinviolabilitdellapropriarete. Unfirewallhabisognodicostantecontrolloemantenimentodelsoftwarechelo costituisce.E'essenzialetenereaggiornatoilpropriofirewallcontuttelepatchdi sicurezzapermettersialriparodaeventualifallechepotrebberopermettereadun malintenzionatodipenetrarenelsistema.Proprioperridurrequestaeventualitsi consigliadidisabilitaretuttiiservizinonstrettamentenecessari. Esistonovarietipologiedifirewallognunadellequalipuaverepregiepuntideboli. Larealizzazionediunarchitetturadifirewallspessononbanaledarealizzaree nonesisteunaricettageneraleperrisolvereiproblemichepossononascerenella configurazione,installazioneemantenimentodiunfirewall.Ogniarchitetturadi firewallquindispecificaallatipologiaparticolarediLANacuivieneapplicata. Ilmodellodifirewallchesipuimplementaredipendemoltodallepolitichedi sicurezzachedevonoesseredeciseaprioriedapplicateconcoerenza.
BellunoLinuxUserGroup
IntroduzioneaifirewallconLinux
Bibliografia
W.R.Stevens,TCP/IPIllustrated,AddisonWesley,1994 C.Hunt,TCP/IPNetworkAdministration,O'Reilly,1995 R.RussellPacketfilteringHOWTO E.BruniLinuxFirewall,2002 C.ContavalliIptablesforFun,2003 M.Lotto,NetworkPacketFiltering,2003 G.BianchiniSistemifirewall,2002 F.BucciarelliFiltraggiodeltrafficoIPinlinux,2003 R.VeraldiFirewalls,2000 V.VecchioneNetfilter:scaccomattoall'intruso!,2002 YanRaber,LeportedelprotocolloTCP/IP UmbertoZanatta,linuxDidattica:laRete SitowebNetfilter(http://www.netfilter.org) Manpagediiptables
Belluno, 27 novembre 2004 Relatore: Ing. Mauro Barattin