Er det en dårlig idé for en firewall at blokere ICMP?

Dette spørgsmål er inspireret af dette svar , som delvis siger:

Den generiske firewallmanifestfil afsluttes ved at slippe alt, hvad jeg ellers ikke tillod (foruden ICMP. Slå ikke ICMP fra).

Men er det virkelig en god praksis for en firewall at tillade ICMP? Hvad er sikkerhedsimplikationerne, og er der tilfælde, hvor ICMP skal slukkes?

Kommentarer

Svar

Sammenlignet med andre IP-protokoller er ICMP ret lille, men den tjener et stort antal forskellige funktioner. ICMP blev i sin kerne designet som fejlfindings-, fejlfindings- og fejlrapporteringsmekanismen for IP. Dette gør det sindssygt værdifuldt, så en masse tanker skal ned for at lukke det ned. Det ville være lidt som at klæbe >/dev/null 2>&1 til slutningen af alle dine cron-poster.

Det meste af tiden, når jeg taler med folk om at blokere ICMP, er de virkelig taler om ping og traceroute. Dette oversættes til 3 typer

  • 0 – Echo Reply (ping response)
  • 8 – Echo Request (ping request)
  • 11 – Tid overskredet

Det er 3 typer ud af 16. Lad os se på et par af de andre tilgængelige ICMP-typer.

  • 4 – Source Quench (sendt af en router for at bede en vært om at bremse sine transmissioner)
  • 3 – Destination Unreachable (består af 16 forskellige slags meddelelser lige fra rapportering af et fragmenteringsproblem til en firewall rapportering om, at en port er lukket)

Begge kan være uvurderlige for at holde ikke-ondsindede værter fungerer korrekt på et netværk. Faktisk er der to (sandsynligvis flere, men disse er de mest oplagte for mig) meget gode tilfælde, hvor du ikke vil begrænse ICMP.

  • Sti MTU Discovery – Vi bruger en kombination af Don t Fragment flag og type 3 kode 4 (Destination Unreachable – Fragmentation required, and DF flag set) for at bestemme den mindste MTU på stien mellem værterne. På denne måde undgår vi fragmentering under transmissionen.
  • Active Directory kræver, at klienter pinger domænekontrollerne for at trække GPOer ned. De bruger ping til at bestemme den “nærmeste” controller, og hvis ingen svarer, antages det, at ingen er tæt nok. Så politikopdateringen sker ikke.

Det betyder ikke, at vi nødvendigvis skal lade alt være åbent for hele verden. Rekognoscering er mulig med ICMP, og det er generelt årsagen til blokering. Man kan bruge pings til at bestemme, om en vært faktisk er tændt, eller Time Exceeded (som en del af en traceroute) til at kortlægge netværksarkitekturer, eller Rory forbyder en omdirigering (type 5 kode 0) for at ændre en værts standardrute. / p>

I betragtning af alt dette er mit råd som altid at tage en målrettet og tankevækkende tilgang til din beskyttelse. At blokere ICMP i sin helhed er sandsynligvis ikke den bedste idé, men at vælge og vælge hvad du blokerer og til / fra hvor sandsynligvis får dig, hvad du vil.

Kommentarer

  • lille detalje: Mens ICMP er valgfri i IPv4, kræves det af IPv6 at fungere normalt. ICMPs rolle har ændret sig meget. Letvægtslæs om det: blogs.cisco.com/security/icmp-and-security-in-ipv6
  • @Mike Åh sikker, Jeg var vel ikke ‘ ikke klar, men jeg talte specifikt om v4. IPv6 er et anderledes nok udyr, at vi virkelig har brug for at behandle det som en helt anden protokol, når vi designer og beskytter v6-netværk.
  • +1 ” .. . eller Rory forbyder … ” Jeg lo faktisk højt.
  • @tylerl: Jeg lo og skrev det også. Indrømmet, at jeg havde haft noget vin, og det var 1,5 timer efter min sengetid.
  • Source Quench er formelt forældet ( RFC 6633 ). Og har næsten aldrig været set på Internettet i årtier.

Svar

ICMP findes af en grund, og ikke alt dette er ping. Det er “meta” -protokollen, der bruges til at kommunikere kontrolmeddelelser om selve netværket. Se på ICMP på Wikipedia for at få en bedre idé om, hvad det er, og hvad det er til.

Andre ICMP-meddelelser inkluderer også destinationsvært, der ikke kan nås, fragmentering kræves, overbelastningskontrol, TTL overskredet, IP-protokolfejl og et antal andre.

Netværket fungerer uden ICMP – modstandsdygtighed over for pakkedråber er en af IPens kernestyrker – men det fungerer langsommere, mindre effektivt og uden fordelen ved disse signaler for at hjælpe dig med at diagnosticere og løse problemer .

Sikkerhedsproblemer med ICMP har tendens til at være de mere tåbelige “informationsoplysninger” -problemer. F.eks. Hvis din router sender en ICMP-besked tilbage til nogen, ved den person, at du har en router. Måske kender angriberen dig have en router er noget, du er bekymret for, eller mere sandsynligt er det ikke. Men sikkerhedsforskning har en tendens til at fejle ved siden af stilhed bare for at være på den sikre side, bare i tilfælde.

Lejlighedsvis er der en ICMP-relateret “ping of death” -stil sårbarhed i et operativsystem. I øjeblikket findes der ingen i nogen almindelige OSer. Men endnu en gang fejler sikkerhedsforkæmpere sig ved forsigtighedssiden, bare i tilfælde af.

Kommentarer

  • Du ‘ er forkert, men jeg er enig med dig i at sige, at almindelige brugere / administratorer ikke bør blokere ICMP. Der er flere kritiske sikkerhedsproblemer med ICMP. Hovedproblemet er at have feedback på kontrolniveau (ttl-overskredet), der ikke kun sendes af destinationen, men også af mellemliggende humle. Den kan bruges til enhedens fingeraftryk baseret på karakteristika (indledende TTL, IP-flag og vigtigere IP ID) for ICMP-meddelelsen. Derudover kan ICMP-meddelelser også være en feedback til firewall-traversering, og kombineret med TCP-vinduesjekning af firewalls kan du udføre sekvensnummer-inferensangreb.

Svar

For at være ærlig er det smart at filtrere noget udgående ICMP både router niveau og software firewall niveau som et ekstra lag af sikkerhed.

Det er ikke relevant for mig at stoppe en DoS eller DDoS men ondsindede bruger stadig ICMP til at forsøge at hente så mange oplysninger om et netværk som muligt, før de forsøger at bryde det.

Jeg siger ikke, at de KUN bruger ICMP, men det er et af de få pakketyper, de bruger, og afhængigt af om du har floder, åbnes de, kan de få en stor detalje af information på meget kort tid.

Tag dig tid til at google og se oplysninger om, hvordan NMAP og en få andre programmer bruger ICMP som en af ressourcerne til at indsamle information, så baser dine filtre på det, du føler er nødvendigt for at beskytte dig selv og dit netværk.

Hvis det overhovedet er muligt, skal jeg oprette et internt testnetværk (jeg har personligt købt en sekundær wifi-router en billig og har en sekundær pc som en firewall til at teste alle mine routere / ipchains / softwarefirewalls indstillinger, inden jeg anvender dem på tværs af mit hovednetværk til min husstand og enhver kunde, der ansætter mig til at sikre deres netværk.

Jeg opfordrer stærkt folk til at prøve at undersøge havnescanning og hvordan man bryder firewalls på deres eget netværk, så de bedre kan beskytte sig selv og enhver familie, de hjælper.

Her er et par ressourcer, jeg tidligere har brugt og henvist venner til. Sans informationssikkerhed Hvordan ICMP bruges til rekognoscering

Og også

InfoSec Institute ICMP-angreb

Nogle af angrebene er ikke længere levedygtige, men der er nyere former for Smurf, der stadig fungerer på grund af, hvordan programmøren var i stand til at kode det oprindelige angreb og ændre, hvordan det fungerer og bruger ressourcer.

Grav rundt og google er din ven sammen med Stack Exchange, og også duckduckgo-søgemaskine er vidunderlig for ressourcer, som google måske filtrerer ud, bare vær forsigtig og brug dine kløer!

Jeg har været pc-teknologi i 22 år og netværkssikkerhedsspecialist i 10 år. Jeg er i øjeblikket i skole for min ECH og min CPTS, og jeg kigger på offensive sikkerhedskurser, når jeg er færdig med disse.

Håber dette hjælper, og andre finder disse oplysninger nyttige, når jeg gendanner sikkerhedskopier, jeg har lavet til dette system, og jeg finder mine andre links og ressourcer i denne sag, jeg opdaterer dette svar.

Svar

Blokering af ICMP er ikke kun ubrugelig, men i de fleste tilfælde er det også skadeligt. Der er flere grunde til, at du ikke skal blokere ICMP, hvis du ikke er helt sikker på, hvad du laver, og specielt hvorfor du gør. Ja icmp ping kan hjælpe andre med at “profilere” dit netværk. Men lad os være ærlige, hvis du overhovedet har en tcp-tjeneste åben, vil du blive set. Hvis du bare smider pakker, vil du blive set. Hvis du svarer forkert, vil du blive set.Så hvis du mener teori om, at du skal skjule vores vigtige servere på netværket, fordi det gør dem mere sikre, så når du blokerer din icmp, er det mere muligt, at din vært er endnu mere lyst mål. Der er bare masser af måder at gøre det forkert, så du bryder mtu-opdagelse, overbelastningskontrol osv. Og endda får din server til at skille sig ud fra masse. Så i nødcellen, bloker ikke din icmp, hvis du ikke har rigtig god grund til at gøre det, og gør det derefter med omhu og læs icmp-protokolspecifikationer, så du forstår, hvad og hvorfor du gør, hvad du er. Ja, det kan være en god ide at blokere icmp-omdirigering ved kanten af dit net, hvis du ikke er sikker på, om du har gamle kerner. Men en anden hånd er det bare bedre at opdatere dine servere og andre værter (løse reelle problemer) end at skjule dem under tæppe, hvor nogen alligevel finder dine fejl.

Svar

Som du kan se fra protokolstrukturen, afhænger det hele af det område, det bruges i, og da firewalls er i stand til at handle på type og kode parametre, kan du beslutte, hvad der skal passere gennem firewallen, og hvad ikke. Det er klart, at hvis firewallen modtager ICMP Echo-anmodningen, og du ikke har noget problem med at fortælle den, om destinationsværten er aktiv eller ej, skal firewallen også være i stand til at lade et Echo Reply passere. Men vær forsigtig: ICMP-pakker skal udsættes for DPI, dvs. de skal være i overensstemmelse med pakkens specifikationer: Hvis en ICMP-pakke passerede gennem den indgående / udgående firewall, og der var malware på en eller flere værter inde i dit netværk, disse værter kunne erhverve kommandoer fra en C & C-server og exfiltrere oplysninger til denne server. Generelt synes jeg ikke, det er klogt at bruge det på grænserutere, men til intern netværksdiagnostik, ja.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *