最近、小さなストアを備えた WordPress ウェブサイトを、ホスティング プロバイダーから、Ubuntu Server 12.04.2 LTS と Apache 2.2.22 を実行している自分のサーバーに移動しました。ストアには SSL が必要です。サーバーの新しい IP にいくつかのシンプルな vhost をセットアップしました。1 つは特定の IP のポート 80 にバインドし、もう 1 つはポート 443 にバインドします。両方のvhost 構成にServerName www.example.com
と があります。 があります。ServerAlias example.com
SSLStrictSNIVHostCheck off
サイトの動作は非常に遅いですが、動作しています。エラー ログには次の内容が記録されています。
[Error] Hostname example.com provided via SNI and hostname www.example.com provided via HTTP are different
速度低下は上記のメッセージに関係していると思います。なぜこのメッセージが表示されるのか、また、それに対して何ができるのか、何かアイデアはありますか?
答え1
アクセス ログ (エラー ログではありません) を確認してください。エラーの日時がわかれば、問題となっているリクエストを特定し、ユーザー エージェントを見つけることができます。私の場合は、ボットでした。
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)"
サーバーは HTTP 400: Bad Request で応答します。
私が間違っていなければ、TLS ネゴシエーションでは、クライアントはホスト名を 2 回送信します。1 回は SSL 接続が確立される前に SNI (Server Name Indication) で送信され、もう 1 回は実際の HTTP 要求で送信されます。サーバー名が一致しない場合は、クライアントが壊れていることを示しており、サーバーの構成方法とは関係ありません。
おそらく彼らはいつかボットを修正するでしょうが、その間は無視してかまいません。リクエストが非常に高いレートで来ない限り、これがホストの速度低下を引き起こすことはないと思います。
答え2
このエラーはおそらく意図的に一部のクライアントは、サーバーの脆弱性をテストするために、 からのリクエストを使用しています。私が管理しているサーバーで、 からのリクエストによってエラーがトリガーされたことがわかりましたresearchscan367.eecs.umich.edu
。この場合、エラーが発生したことは良いことです。
どのような攻撃が可能なのか興味があったので、Security Stack Exchange で次のような質問をしました。Apache2 のエラーコード AH02032 によってどのような攻撃が防止されますか?
答え3
私の場合、アンダースコア付きの新しい仮想ホストの作成が問題でした。ワイルドカード SSL 証明書を持っています。
動作しませんでした:
<VirtualHost *:443>
SSLEngine on
ServerName sub_domain.example.com
Redirect / https://www.example.com/restofmyredirectlink
</VirtualHost>
Apache は正常に再起動しましたが、HTTP 400 エラーが発生しました。エラー ログには次のように表示されます。
[Wed Sep 05 11:28:00.349960 2018] [ssl:error] [pid 19906:tid 140392626808576] AH02031: Hostname sub_domain.example.com provided via SNI, but no hostname provided in HTTP request
しかし、アンダースコアを削除するとうまくいきました:
<VirtualHost *:443>
SSLEngine on
ServerName subdomain.example.com
Redirect / https://www.example.com/restofmyredirectlink
</VirtualHost>
答え4
/etc/hostsファイルをチェックして、ドメイン名をローカル(内部)IPアドレスに割り当てているかどうかを確認します。/etc/hostsを変更した後は、ネームサービスキャッシュデーモンを再起動することを忘れないでください。service nscd restart