現在、私はWebサーバーを実行しています。
サーバー自体は、HTTP「ポート80」とHTTPS「ポート443」の両方を使用しています。 SSL証明書を購入し、問題にインストールしました。アプリケーションの製造元は、実行に関連する他のアプリケーションを維持するために、ポート80を開いたままにしておくことを強くお勧めします。保護のために提案された方法はリダイレクトをインストールすることでした、これはサーバーを保護する適切な方法ではないように感じます
私の質問は、サーバーを適切に保護してアクセスできるようにするための最善のオプションは何でしょうか?
ありがとうございました!
サーバーに対する攻撃に関しては、HTTP用にポート80を開いている方が、HTTPS用にポート443を開いているよりも安全です。提供されたWebアプリケーションのサーバー側にバグがある場合(つまり、SQLインジェクションなど)、HTTPまたはHTTPSのどちらであっても悪用される可能性があります。
HTTPとHTTPSの関連する違いは、HTTPSがクライアントとサーバー間のデータの転送を保護することです。適切に使用された攻撃者は、転送されたデータにアクセスできず、データを変更できず、クライアントとサーバー間の接続の中間者であったとしても、元のサーバーになりすますことはできません。
クライアントが保護を利用できるようにするには、サーバーがHTTPSへのアクセスのみを提供する(つまり、HTTPをオフにする)か、HSTSを使用するか、からのすべてのHTTP要求をリダイレクトすることによってクライアントがHTTPS部分にアクセスするようにする必要があります。クライアントからHTTPSへ。サーバープロバイダーが、クライアントが常にHTTPSでサーバーにアクセスすることを確認できる場合は、HTTPを完全にオフにすることができます。残念ながら、今のところ、ブラウザのデフォルトのプロトコルは依然としてHTTPであるため、簡略化されたURLを入力しようとします(つまり、example.com
の代わりに https://example.com
)HTTPでサイトにアクセスしようとしますが、HTTPポートがオフになっていると、(通常はユーザーフレンドリーではない)エラーメッセージが表示されて失敗します。これが、HTTPをアクティブに保つ必要がある主な理由です。つまり、ユーザーをHTTPSにリダイレクトするためです。
HTTP Strict-Transport-Security応答ヘッダーを使用できます。これにより、クライアントはhttps要求のみを要求するようになります。詳細については、これを参照してください: [〜#〜] hsts [〜#〜]