ホームページ  >  記事  >  運用・保守  >  Nginx の IPv6 セキュリティ設定

Nginx の IPv6 セキュリティ設定

WBOY
WBOYオリジナル
2023-06-10 14:16:386731ブラウズ

IPv6 の普及に伴い、IPv6 のセキュリティを考慮する必要がある Web サイトが増えています。高性能 Web サーバーである Nginx も、Web サイトの安全な動作を確保するために IPv6 セキュリティ設定を必要としています。この記事では、管理者がWebサイトのセキュリティをより良く守るためのNginxのIPv6セキュリティ設定方法と注意点を紹介します。

  1. IPv6 サポートを有効にする

まず、Nginx で IPv6 サポートを有効にすることが非常に重要です。 Nginx が正しい IPv6 オプションでコンパイルされていることを確認してください。コンパイル時に、必ず --with-ipv6 オプションを使用して IPv6 サポートを有効にしてください。 Nginx をコンパイルした後、次のコマンドを使用して、IPv6 が適切に動作しているかどうかを確認できます。

$ curl -g -6 http://[::1]/ -I

このコマンドは、IPv6 アドレスを使用してローカル ホストにアクセスし、HTTP ヘッダー情報を表示します。正しく動作すると、次のような出力が表示されます。

...
Server: nginx/1.17.3
...
  1. IPv6 アドレスの構成

IPv6 を使用する場合、IPv6 アドレスを使用して、 Nginx のリスニング ポートとサーバー名。 IPv4 とは異なり、IPv6 アドレスは区切り文字としてコロン (:) を使用するため、ウェイター名を角括弧 ([]) で囲む必要があります。例:

listen [::]:80; 
server_name [::]:example.com;

さらに、IPv6 アドレスを使用する場合は、構成ファイルに不整合やエラーがないことを確認する必要があります。次のコマンドを実行して、Nginx 構成にエラーがあるかどうかを確認できます。

$ sudo nginx -t
  1. DoS 攻撃の防止

攻撃者は多数の IPv6 アドレスを使用する可能性があるためNginx における DoS 攻撃を防ぐことは非常に重要です。これを行うには、Nginx 構成で次の設定を行うことができます。

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 20;

この設定では、各 IPv6 アドレスが 10 分間に最大 20 の接続に制限されます。

  1. ファイアウォールの構成

IPv6 を使用する場合は、ファイアウォールが適切に構成されていることを確認する必要があります。攻撃を防ぐために、サーバーで ip6tables を使用することをお勧めします。一般的な ip6tables ルールをいくつか示します。

-A INPUT -s 2001:db8::1 -j DROP
-A INPUT -s 2001:db8:1::/64 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP

ルールの最初の行は、単一の IPv6 アドレスからのすべての接続を拒否します。ルールの 2 行目では、2001:db8:1::/64 ネットワーク内のすべてのアドレスからの接続が許可されます。 3 番目のルールでは、ポート 80 への HTTP 接続が許可されます。最後のルールは他のすべての接続をブロックします。

  1. DNS クエリを避ける

IPv6 アドレスは長いことが多いため、DNS クエリが必要になる場合があります。応答時間を短縮し、セキュリティを強化するために、IPv6 名の代わりに IPv6 アドレスを使用できます。例:

server {
    listen [2001:db8::1]:80;
    server_name example.com;
}

この例では、最小限の応答時間とセキュリティを確保するために、ホスト名を使用する代わりに特定の IPv6 アドレスが使用されます。

つまり、以上がNginxにおけるIPv6セキュリティの設定方法と注意点です。 IPv6 を使用する場合は、セキュリティの問題を考慮し、Web サイトとサーバーを攻撃から保護するために Nginx に必要な設定を行う必要があります。この記事があなたのインスピレーションとなり、セキュリティ設定に関するガイダンスになれば幸いです。

以上がNginx の IPv6 セキュリティ設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。