Weeeel, that's a difficult one. I assume this is an INBOUND firewall rule, like one in front of a web server or load balancer. Outbound would be different.
ICMP can, inadvertently pass back more data than you want it to. Reading through the different
ICMP packet types, there's actually a lot that I'd block and only a few that I'd allow.
Ones that I'd want to allow would be echo reply, echo, time exceeded, and traceroute. The destination unreachable is a good one, but it's the one that can send back more information that you might really want to send back, from a security perspective.
Decide what you want to let through, from a security and functionality perspective and only allow it. As a general rule, you ALWAYS block everything and permit only what you want through - Never, never the other way around.
- G