どの ICMP タイプ (v4/v6) をブロックしてはいけませんか?

どの ICMP タイプ (v4/v6) をブロックしてはいけませんか?

私はこの件について多くの調査を行った結果、いくつかの参考文献が互いに矛盾していることを発見しました。

6.1.1. IPv6について 例えばRFC4890最適な機能のために、次のタイプを許可する必要があると述べています。

タイプ 1、2、3、4、128、129、および移動補助の場合は 144、145、146、147。

しかし、これはソース移動支援が必要であったとは記載されていない: (タイプ 1 と 4 も省略)

タイプ 128、129、2、3、および NDP および SLAAC 133、134、135、136、137

一方、前者の参考人は、NDPとSLAACは特別な注意を払う必要はないと述べた。いずれにせよ落とされるだろうでは、どちらが正しいのでしょうか? 安全のためには、両方の情報源が言及しているこれらすべてを受け入れるのが最善でしょうか?

IPV4: 驚いたことに参照IPv4については何も推奨されていないが、他のソースIPv4 にはタイプ 8、0、3、11 が必要であると記載されています。どの IPv4 ICMP を許可すべきかを推奨する公式リファレンスはありますか?

アップデート: 回答は良いのですが、実際の解決策として受け入れるには一般的すぎると思います。ブロッキングが解決策ではない場合、レート制限は保護レベルを提供する正しい方法であるに違いありません。正しいコード サンプルを含む回答の方が確実だと思います。

答え1

すべての ICMP をブロックしないでください。デフォルトではありませんが、これは許可リストではなく拒否リストになる場合があります。

まず、ICMP のレート制限から始めますが、それ以外のフィルタリングは行いません。

読むRFC 4890 セクション 3 予想されるセキュリティ上の考慮事項について。特に、パケットをリダイレクトしますが、標準では、それらがリンク上でローカルであることが要求されます。大量のサービス拒否が発生しますが、多くの場合、レート制限で軽減できます。ホストの検出は可能ですが、それほど明らかになるものではありません。ICMP はそれほど危険ではありません。

関連情報