Linuxのいくつかのバージョンを実行しているサーバーがあり、このサーバーに10.1.1.1のIPv4アドレスを割り当てたとします。
次に、ネットワークファイアウォールを使用しています。NATこのIPをいくつかのパブリックIPアドレスに変換し、ポート80と443を除く、そのIPへのすべての受信トラフィックをブロックします。
さらに、サーバーにiptablesファイアウォールがあり、ポート80と443を除くすべての着信接続をブロックし、そのマシンでWebサーバーを実行しています。さらに、ローカルネットワークから22への接続を許可し、3306(mysqld)と言います。
現在、これらすべてがIPv4に基づいています。ただし、デフォルトでは、ネットワークインターフェースを作成すると、サーバーから(率直に言えば暗号化された)IPv6アドレスも提供されます。
私の質問は、上記は現在セキュリティ上のリスクをもたらすのですか?つまりIPv6が実行されていて、アドレスがあり、まったくフィルタリングされていないため、巨大な全体を持っていますか?
ここで実際にIPv6を使用する理由は見当たらないので、私の傾向は単にプロトコルを無効にすることです(したがって、少なくとも今のところ、その無知について何かをしなければならないという負担から解放されます)。しかし、これは必要ですか?落胆?
私はシュローダーの答えの一般的な概念に完全に同意します。ただし、具体的にはIPv6についてお答えしたいと思います。
IPv6アドレスは、ISPから委任された場合、グローバルにルーティング可能です。これは、ファイアウォールがない限り、IPv6インターネット上の他のホストが他のIPv6アドレスに到達できることを意味します(多くのコンシューマールーターは、デフォルトでドロップまたは拒否します)。これはパブリックIPv4アドレスを持つことに似ており、ホストをスキャン、プローブ、攻撃され、多くの典型的な不要なインターネットノイズにさらされる可能性があります。とはいえ、IPv6アドレススペースは不可解 IPv4のアドレススペースよりも大きいため、ランダムスキャンでシステムが検出される可能性はほとんどありません。ただし、それを検出して使用することは可能であり、IPv6でリッスンしているサービスはプローブまたは攻撃される可能性があります。
つまり、攻撃者がIPv6アドレスを認識または発見し、マシンがIPv6をリッスンするサービスを実行している場合、ホストのセキュリティを侵害するために、それらのサービスの脆弱性または設定ミスが悪用される可能性があります。
この脅威から保護するには、カーネルでIPv6を完全に無効にするか、ファイアウォールルールを設定します。 iptables
と同様に、IPv6にはip6tables
を使用します。既存のルールの多くは、最小限の変更で移行できます。もちろん、ファイアウォールを介してサービスを公開することを選択した場合でも、それらのサービスは攻撃される可能性があります。
IPv6はさておき、「システムで未使用のプロトコルが有効になっていて、技術的な制御なしにアクティブになっています。この状況ではセキュリティリスクが発生しますか?」答えは非常に短いです:はい。
「巨大な穴」ですか?いいえ、しかし穴です。リスクですか?多分。しかし、リスクを定量化できないという事実は、できる限りオフにする必要があることを意味します。
予期しないユーザビリティの問題が発生する可能性はありますか?多分。しかし、それはセキュリティの問題ではありません。