ホームページ > バックエンド開発 > PHPチュートリアル > Nginx がドメイン名によって悪意を持って解決されるのを防ぐ方法

Nginx がドメイン名によって悪意を持って解決されるのを防ぐ方法

WBOY
リリース: 2016-07-29 09:09:42
オリジナル
1312 人が閲覧しました

今日は、サーバーのポート 80 が IP 経由でアクセスできないことに気づき、言葉を失いました。他のポートは正常でした。ファイアウォールを使用して。そこでコンピューター室に問い合わせると、サーバーに登録されていないドメイン名があり、中国電信から何度も通知を受け、IP ポートがブロックされたという、ぎこちない返事が返ってきた。 。 。 。閉まっているんです。 。 。おかしなことに、重要なのは、このドメイン名 TMD が私のものではないということです

いくつか考えた結果、nginx 設定に抜け穴があるようで、サーバーに解決されたドメイン名が通常どおりに要求されることがわかりました。空白のページ、HTTP ステータス コードは 200 です。

主に、次の設定コードが欠落していることが原因です: nginx バージョン 1.8.0

<code><span>server</span> {
    listen       <span>80</span>  default_server;
    server_name  _;
    <span>return</span><span>403</span>;
}</code>
ログイン後にコピー

により、すべての未設定のserver_name が 403 エラーを返します

これまでにこの設定を Nginx に追加したことはありませんが、これに再び遭遇したことはありません。このような問題が発生し、別のサーバーでテストしましたが、このコードがなくても正常に解析してリクエストすることは不可能です。

補足:

色々調べてみたところ、この種の問題にはNginx独自の444ステータスコードを使うのが一番良さそうです

<code><span>server</span> {
    listen       <span>80</span>  default_server;
    server_name  _;
    access_log   off;
    <span>return</span><span>444</span>;
}</code>
ログイン後にコピー

このように、ブラウザ側でアクセスすると自動的にプロンプ​​トが表示されます。アクセスできないことをユーザーに通知します

Nginx 防止被域名恶意解析的方法

CURL を通じて取得された結果 (出力は HTTP エラー メッセージです)

Nginx 防止被域名恶意解析的方法

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記では、関連する側面も含めて、Nginx の悪意のあるドメイン名解決を防ぐ方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート