Skip to content(if available)orjump to list(if available)

Should I Block ICMP?

Should I Block ICMP?

99 comments

·May 21, 2025

protocolture

ISP: No you should definitely have ICMP available for testing.

SAAS Engineer: Leave it on so I can tell when your shit goes down without having to consult your service status page.

Sysadmin: I really dont care what you do, just enable it when you raise a complaint with your ISP so they can tell you what you broke.

Residential: Your TP Link hyper dreadnought super hawk that is taking up every inch of the 5ghz indoor spectrum in your home is probably already blocking icmp for you. Its probably also already part of a botnet. YMMV.

wahern

> Sysadmin: I really dont care what you do

Dropping ICMP breaks path MTU discovery (PMTU). It's the biggest reason why sites break when accessed (or served) over VPNs. This is often mitigated on the server, or in NAT-ing routers, by clamping TCP MSS, but that doesn't really resolve the problem. It doesn't fix it for UDP, nor likely for double VPN scenarios, etc, plus you're just losing bandwidth that way.

Some people make fatalistic arguments that even if they allow ICMP, something downstream may not have, so it's futile. But the networks in the middle rarely if ever block ICMP; those engineers know better. The real issue is on the ends. If you're a sysadmin dropping ICMP, you're half the problem. Fix ICMP on your end, and half the problem goes away. The other half of the problem are those NAT-ing routers, firewalls, and VPNs that don't handle ICMP properly. You can't fix those, but plenty of residential and commercial equipment on the other end, as well as VPN setups, actually do the right thing. Don't make perfect the enemy of better.

protocolture

You are absolutely correct, but also, I am already having to clamp MTU for most business customers anyway, for a hundred reasons.

The issue is that sysadmins make this the ISP's issue anyway. They wont do any kind of investigation but simply yell at the telco. Telcos are ready willing and able to clamp. Its as natural as breathing at this point.

The only thing that gets me is when the some small business refuses to enable ICMP for troubleshooting when they raise a complaint. You have to come to the table at least that far.

Avicebron

> small business refuses to enable ICMP for troubleshooting

Depending on your definition of small business, asking someone "hey can you enable ICMP real quick" is like asking them "hey can you build a rocket ship while skydiving?"

slt2021

the problem is ICMP can be abused for attacks like ICMP flood, ICMP smurf, because src.ip can be easily spoofed.

its very easy and cheap to saturate a link with flood traffic, but fixing this issue requires large investments in big expensive firewalls that can block these stupid attacks

eqvinox

> ICMP smurf

IP stacks haven't responded to broadcast pings for ≥20 years now. If you find one that does, please report it so it can get fixed.

> because src.ip can be easily spoofed

Operators have been pushing to get BCP38 everywhere for ≥ 20 years now. If you find one that doesn't do it, please report it so I can depeer and shame them on public mailing lists.

> ICMP flood

So you'll just get flooded with UDP instead (cf. sibling comment).

citrin_ru

DNS and SNMP with a spoofed src IP have higher amplification factor and the root of the problem here are ISP which allow they customers to spoof src IP.

yjftsjthsd-h

Are you blocking UDP, too?

eqvinox

> Residential: Your TP Link […] is probably already blocking icmp for you.

If it does, it generally won't pass telco CPE certification, i.e. Comcast and the likes won't be selling it to you in any bundle. Blocking ICMP Fragmentation Needed / ICMPv6 Packet Too Big is a hard fail on all of those, other message types can vary.

(Source: I work in this area.)

[Ed.: to be clear, there is no single "telco CPE certification"; each telco decides this on their own. A bunch of them form groups/"alliances" though, and a lot of the certification requirements are the same everywhere.]

protocolture

Inbound echo request and echo reply are almost always blocked in my experience.

eqvinox

Which is ≈mostly≈ fine; I'm just saying people in appropriate places (deciding which CPEs get sold to you) have gotten rather touchy about the PMTU bits. And rightfully so!

walrus01

> Your TP Link hyper dreadnought super hawk that is taking up every inch of the 5ghz indoor spectrum in your home is probably already blocking icmp for you. Its probably also already part of a botnet

The more spiky black angular antennas you put sticking up on a router that makes it resemble a science fiction movie arachnid-form robot, the faster it goes. This seems to be the universal design language now.

For routers that consumers purchase themselves, the design language seems to have been optimized to look amazing and cool and grab the attention of someone browsing the aisles at the local Best Buy.

ziml77

I bought a TP Link router to run in AP mode for WiFi 7. It has none of those antennae sticking out. It does have a little grid of LEDs on the front that I have set to the UwU face option though...

alabastervlog

My newest router doesn't have any of that shit and works just as well, with at least as much range, as the one it replaced, which had six(!) of those insectoid antenna things.

I wouldn't be surprised if the damn antennas are just empty. They don't seem to serve any purpose.

namibj

They aren't for range, but for MIMO (exploiting that the signal bounces differently between the antennas either end of the connection, while some antenna pairs behave poorly, others may well be perfect, so it essentially matches them (through a mixing matrix, to be more abstract/generic) to form good pairs that are also independent from another, so they can simultaneously run different data streams over different antennas to severely increase speed.

It also compensates for interference dead spots when you hold your phone into such a spot.

The long sticks typically radiate in the plane normal to the stick, i.e., if you make them all perfectly vertical, they are focused to the same floor. Individual ones can be rotated readily to cover special spots, especially if you have more than 4 antenna.

eqvinox

Considering a single radio, the antennas are for MIMO, which in theory is supposed to multiply bandwidth by number of antennas (i.e. 3 antennas = 3× bandwidth). In practice this is highly reliant on signal propagation characteristics in your rooms, particularly including position (and angle!) of all antennas (both senders and receivers). The second antenna is useful, third maybe, fourth is gonna be quite questionable.

However, they also have more than 1 radio these days, and sharing the antennas on them not exactly beneficial; if you have one 2.4GHz, 5GHz and 6GHz radio each, you might as well optimize the antennas for each radio. And even if it's the same band, separate antennas allow you to have distinct radios cover distinct space with different RF propagation characteristics.

(They're not empty, or at least I haven't found any fake ones yet.)

protocolture

I wish I knew more about RF engineering to comment, but the impression I get is that they cause more problems with interference than they solve.

isatty

No, don’t block ICMP.

Also, implement ssl because it’s trivial and prevents garbage isps from injecting ads.

Third, how about no ads to begin with?

bastard_op

Blocking ICMP tends to come with blocking ICMP Unreachables, that happens to handle Path MTU Discovery (PMTUD), which you definitely want on if you work around VPN's at all, or certain ISP's that might not allow a full 1500 byte frame. Microsoft loves to particularly set application traffic to Do-Not-Fragment, and this will play chaos on many Microsoft things if PMTUD is disabled around reduced MTU environments.

It's best left on at least inside a private/protected network.

toast0

Everybody sets traffic to Do-Not-Fragment. Nobody wants their routers to fragment packets anyway; you might as well ask to get a notification when too big packets are dropped.

Nobody wants to have their servers reassemble fragments, it's too much work; many servers just drop any fragments they do get. I ran servers pushing 20 gbps of downloads, and would receive on the order of two fragments per second. It looked legitimate, so I preferred not to disable fragment assembly, but I'd set the reassembly buffer as small as possible; there's no need to keep more than say 16 fragments... if you're getting more than a handful of fragments, it's ddos and that one guy with a weird network will just have to deal. They probably can't use any other sites anyway.

rfl890

Clicked expecting a fat "NO", wasn't even surprised when I saw it.

vaxman

You aren't wrong..'nd I wrote one of the first Ethernet drivers (for any platform) almost half a century ago and spent a long time at the company that invented twisted pair Ethernet; but sharing MY insight gets me downvoted unless it aligns with pop views and is phrased so as not to amuse or confuse...

If they're going to "Ask HN", they should ask something like "what are most others doing in regards to X" because that's the only information that can be accurately gleaned in this kind of environment; otherwise, consider asking Reddit/Gemini. https://youtu.be/V-SJQdREDKM

rfl890

I don't understand. Did you RTFA? This isn't a person asking whether they should block ICMP, it's a webpage designed to answer that question. Unless you're just ranting about your poor experience on HN under my comment, in which case carry on, I couldn't care less.

vaxman

There is an ad at the bottom of your clickbait. I think you understand very well.

truekonrads

Path MTU discovery lives off ICMP. Block ICMP and expect connections to fail.

taikahessu

Should I block port 80?

master_crab

Port 53 isn’t necessary either if you have a good memory for numbers.

aleph_minus_one

Yes. And port 443, too.

Sohcahtoa82

You people jest, but I once worked under a CISO that started an initiative to close all ports on production systems.

Yes, including 80 and 443.

He was purely a GRC monkey that had absolutely zero technical knowledge, he just knew how to check boxes. It took way too long for me to explain to him that closing those ports would take our SaaS down entirely, and I was absolutely appalled that I had to have that discussion and started questioning how the hell this guy became a CISO.

I've heard some people argue that CISOs don't need to be technical, but I wholeheartedly disagree and can't fathom how anybody could think that someone who manages something should be able to get away with not having any knowledge in the field they manage. Like, I get that the IC track and the management track are completely different skillsets, but once you get to that level, you should have both sets of skills. I wouldn't want a CTO that doesn't know how to code, and I'd be terrified of a CFO that doesn't know accounting.

deepsun

As a SWE working in Information Security team now, I'm confident that InfoSec team should belong to Accounting department, just by the nature of our tasks. And it makes sense.

Btw, compliance auditors are required to be CPAs.

wink

I mean I know people value your uptime, but isn't that simply a case of getting the order in writing, a quick CC'd email to the CEO and then putting the site offline as advertised? Some people just don't learn any other way.

tuatoru

Should I disable the fan on my cpu?

Dwedit

In all seriousness, there is fan control software where you can request a speed of 0 when temperature is in a particular range.

LoganDark

Apple Silicon machines do this

labster

Only if you leave the spacebar heating config set to off

gosub100

Yes if the machine is operating in a vacuum.

DigitallyFidget

Genuine question here: what's the actual benefits of blocking icmp?

Not asking "Why should I leave it on", I'm specifically asking for legitimate valid use cases for disabling it.

I really can only think of one, abd that's if your server just gets a relentless amount of pings that it takes up a significant portion of your bandwidth. (There was a news article about a news site in Australia, I think, that had that happen)

paffdragon

I am not a network engineer, but when I hear ICMP, I associate it with consuming CPU on my shitty router and DDos potential. I only block ICMP for unknown external traffic (response to packets not otherwise blocked by firewall, then aggressively rate limit that) and allow it internally. I used to go overboard in the past and learned how annoying it is to not being able to do a simple ping...

eqvinox

If people can send packets to you, they can DDoS your shitty plastic router CPU regardless of you blocking ICMP or not. And whether your router generates a reply is really ancillary to the question — so long as that reply isn't notably larger than the triggering packet. (Otherwise you're running a reflection amplifier and some people would like to have words with you.)

These days with cheap bandwidth about, the only way to really prevent DDoS is to catch them at the source(s). Hell, I have 25Gbit at home (Init7), I can blow entire small telcos off the internet. Once. Then Init7 terminates my service. And that's really the only thing that can prevent this…

paffdragon

Fair enough. For me personally it's not that big of a concern. I just remember from a previous network monitoring gig that using ICMP had a few problems with rate limiting. But that wasn't my cheap router at stake. It's probably just something that stuck with me and not that relevant in my context anymore.

mmis1000

Block icmp don't even fix the cpu issue though, the router still use cpu to decide which packet should be blocked.

If you really care about the cpu usage, you should drop raw traffic instead (when dos from certain ip is detected)

paffdragon

Indeed. What I meant was that it's cheaper to drop than to generate a reply. But you are right, and I also mentioned in the other reply, that my router wouldn't stand a chance dropping or replying to a DDoS anyway, so probably this concern is not relevant in the home router context.

sidewndr46

It's probably just a result of my incredibly slow home internet, but the CPU part was never an aspect for me. It's primarily related to the wasted bandwidth on the outbound side by sending a reply

babuloseo

Its like me blocking youtube on hosts file or even on Pihole or related manually. I realize blocking youtube BREAKS a lot of things in the network.

Retr0id

What does blocking youtube break, aside from youtube?

gavinsyancey

There's a YouTube domain that's somehow a load-bearing part of Google's OAuth login flow.

cj

I’ve never understood this (and really would like to). Why on earth does Google redirect to YouTube and then back to Google when logging in…

The only reason I can think of is to sync user session cookies across domains?

prirai

Yes, I noticed this. Perhaps due to different handling of logins on both the sites. This could be handled in the backend by not redirecting as well, but therd should have been design choices there.

guyzero

shouldiimplementssl.com

branon

The explanation I've seen before is that it doesn't really matter for websites that don't _want_ anything from you. No credentials, no login forms, no text entry fields.

Maybe there are edge cases associated with this?

baby_souffle

> The explanation I've seen before is that it doesn't really matter for websites that don't _want_ anything from you. No credentials, no login forms, no text entry fields.

Still worth creating a bit of a shield between you and the site to make it just hat much harder for anybody in the middle to inject anything / change anything.

Back before Lets Encrypt made it inexcusable to not have https, it was a common-ish prank to MITM all the HTTP traffic you could see and do something harmless like rotate images 180 degrees.

sidewndr46

If the argument is that Lets Encrypt make its "inexcusable" to not have HTTPS, then Lets Encrypt effectively controls most of the domains on the internet

timewizard

That also requires either a shared wifi network or ARP spoofing. It's not something that HTTP itself inherently allows.

justin_oaks

Without TLS, sometimes still referred to as SSL, a webite's content can be modified by anyone controlling the network path. This includes ISPs and WiFi operators.

Sure, your website may have unimportant stuff on it that nobody relies on, but do you want visitors to see ads in your content that you didn't put there?

crote

> Maybe there are edge cases associated with this?

Plenty. There are a lot of information-only websites where you might want to keep your visit to yourself.

To give an obvious example: some parts of the United States are trying very hard to make abortion impossible. The state government could mandate that ISPs MitM your traffic, and alert the police when you visit a website giving you information about the legal abortion clinics in a neighboring state. Guess you'll be getting a home visit...

The same is going to apply with looking up info on LGBT subjects, civil rights, Tiananmen Square, a religion not explicitly allowed by the state, whether Eurasia has always been at war with Oceania, and so on. Heck, even a seemingly innocent website visit could theoretically come back to haunt you years later. Just some bored scrolling on Wikipedia? Nope, you were planning a crime - why else were you reading pages about chemical warfare during WW I? That neighbor who died due to mixing bleach and ammonia was obviously murdered by you.

If it's unencrypted, you should assume it's being logged by someone nefarious. Are you still okay with it?

briHass

To be fair, TLS doesn't stop the authorities from performing dragnet searches. Just supeona Google for search keywords, mobile service providers for geofence data, DNS logs, IP logs from ISPs, etc. If that gives them enough for a warrant, they can get emails, SMS, browser history, account data, and detailed location logs. Not to mention license plate readers, surveillance cam footage and financial transactions.

It's honestly surprising that anyone gets away with any significant crimes, given just how much potential evidence is recorded.

pessimizer

Without TLS, people (service providers and intermediaries) can tell what pages I'm reading on your site. They can make the kind of inferences from these that get people convicted at trial.

TLS is more important on sites that are just serving information. It's easy to reconstruct your train of thought as you click around.

Librarians have fought (and lost) to defend our privacy to read.

https://www.ala.org/advocacy/intfreedom/privacyconfidentiali...

SAI_Peregrinus

In addition to what everyone else has said, having everything be encrypted means encryption isn't "special", there's no metadata that indicates that the communication contains secret data due to encryption. If people don't encrypt non-sensitive traffic, then sensitive traffic stands out. So there's a sort of civic duty element to enabling TLS (or using encrypted messaging, etc.).

kccqzy

The website might not be designed to have credentials or login forms, but now you have allowed attackers to place fake login forms on your website. And given the prevalence of password reuse for the general population, attackers can easily harvest real passwords this way.

Not to mention injected ads which used to be very common in the late 2000s.

immibis

I used to think that, but at this point the Internet is sufficiently hostile that it's everyone's responsibility to encrypt everything all the time to reduce the utility to bad actors to zero.

It's a little bit like using Tor for some of your ordinary browsing (which I do) so that spy agencies can't infer everyone using Tor is doing something wrong.

AStonesThrow

Remember the C-I-A triad of security.

I consider the integrity of messages to-and-from the web to be very important.

Many of us lived through days when ISPs or some other greedy middleman injected ads into unsecured web pages. They played DNS tricks too.

Imagine if you had an app download that could be maliciously modified in-flight.

Furthermore, a certificate can guarantee you’re not connected to an imposter. What if the TFA link was redirected to “abevigoda.com”? Catastrophe!

null

[deleted]

paulnpace

I don't know people focus on blocking protocols when IP addresses are more useful. I've blocked most of DO's IP address space and it really cleaned up the logs.

chedabob

I wish I could block any IP that runs CPanel and Wordpress.

Every time a server is hammering our corporate firewall, I know that if I put it into Shodan, it's going to be running out of date versions of those two. It's rare they come from the same IP block, so at best I can block a /32 if they're a persistent offender.