Tomcatは、Javaアプリケーションを提供するために設計されたWebサーバーおよびサーブレットコンテナーです。実稼働環境での展開や小規模なアプリケーションのニーズによく使用されるTomcatは、柔軟で強力です。TomcatインストールをSSLで保護する方法について説明します。デフォルトでは、インストール時に、入力されたパスワードや機密データなど、Tomcatサーバーとクライアント間のすべての通信は暗号化されません。TomcatのインストールにSSLを組み込む方法はいくつかあります。このガイドでは、SSL対応のプロキシサーバーを設定してクライアントと安全にネゴシエートし、リクエストをTomcatに渡す方法について説明します。*の両方でこれを設定する方法を説明します。逆プロキシなのか?Tomcatインストール用にSSLをセットアップする方法はいくつかありますが、それぞれにトレードオフのセットがあります。Tomcatに接続をネイティブに暗号化する機能があることを知った後、リバースプロキシソリューションについて説明するのは奇妙に思えるかもしれません。Tomcatを使用したSSLには、管理が困難になる多くの欠点があります。Tomcatは、非特権ユーザーで推奨されるように実行された場合、従来のSSLポート443のような制限されたポートにバインドできません*:回避策があります。ファイアウォールなどでポート転送を設定しますが、それでも追加の複雑さを表しています。Encryptのようなプロジェクトは、Tomcatと対話するネイティブな方法を提供しません。Javaキーストア形式では、使用前に従来の証明書を変換する必要があるため、自動化が複雑になります。従来のWebサーバーはTomcatよりも頻繁にリリースされます:これは、アプリケーションに重大なセキュリティ上の影響を与える可能性があります。SSL暗号スイートはすぐに古くなる可能性があり、アプリケーションの保護が最適ではなくなります。セキュリティアップデートが必要な場合は、TomcatをインストールするよりもWebサーバーを更新する方が簡単です。リバースプロキシソリューションは、Tomcatインストールの前に強力なWebサーバーを配置するだけで、これらの問題の多くを回避します。Webサーバーは、SSLを使用してクライアント要求を処理できます。SSLは、処理するように特別に設計された機能です。その後、通常の非特権構成で実行されているTomcatにリクエストをプロキシできます。この懸念の分離は、追加のソフトウェアを実行することを意味する場合でも、構成を簡素化します。前提条件このガイドを完了するには、サーバーにTomcatが既にセットアップされている必要があります。8]の手順を使用したことを前提としています。インストールガイド]を設定します。Tomcatを起動して実行したら、希望するWebサーバーのセクションに進んでください。*の設定は少し先にスキップして見つけることができます。+」というモジュールがあります。このプロトコルのコネクタはデフォルトでTomcat内で有効になっているため、Tomcatはこれらのリクエストを処理する準備がすでに整っています。Webサーバーをインストールして保護する必要があります。Webサーバーをインストールできます。MySQLまたはPHPをインストールしないでください。その後、サーバーでSSLをセットアップする必要があります。これを行う方法は、ドメイン名を持っているかどうかによって異なります。Encryptを使用することです。Apacheの暗号化ガイドに従って設定してください。*ドメインがない場合...*この構成をテストまたは個人的な使用のために使用している場合は、代わりに自己署名証明書を使用できます。これにより、同じタイプの暗号化が提供されますが、ドメイン検証は行われません。[自己署名SSLガイドApache]をセットアップします。WebサーバーをTomcatインストールに接続する方法を学習します。+`モジュールをインストールする必要があります。JServプロトコルを使用してTomcatと通信します。mod_jk`をインストールできます。次を入力して、ローカルパッケージインデックスを更新し、インストールします。libapache2-mod-jkモジュールはインストール時に自動的に有効になります。次に、モジュールを構成する必要があります。テキストエディタでこのファイルを開きます。`ディレクティブを見つけます。これをTomcatインストールホームディレクトリに設定します。tomcat`になります:/etc/libapache2-mod-jk/workers.propertiesworkers.tomcat_home=完了したら、ファイルを保存して閉じます。+`でプロキシに調整する次に、TomcatインストールへのリクエストをプロキシするようにApache仮想ホストを調整する必要があります。開く仮想ホストファイルは、SSLのセットアップに使用した方法によって異なります。EncryptでSSLを設定した場合、ファイルの場所は、証明書プロセス中に選択したオプションによって異なります。次のように入力して、SSL要求の処理に関係する仮想ホストを見つけることができます。-S出力はおそらく次のようなもので始まります。.SSLポート443に関連付けられている行(この例では行3〜6)を見ると、これらのドメインの提供にどの仮想ホストファイルが関係しているかを判断できます。+`ファイルの両方が関係していることがわかります。したがって、これらの両方を編集する必要があります。結果は異なる可能性があります。/etc/apache2/sites-enabled/default-ssl.confどのファイルを開く必要があるかに関係なく、手順は同じです。+`タグ内のどこかに、次を入力する必要があります。.</VirtualHost>ファイルを保存して閉じます。編集する必要があると特定した他のファイルについて、上記のプロセスを繰り返します。終了したら、次を入力して構成を確認します。Webサーバープロセスを再起動します。apache2これで、WebブラウザでサイトのSSLバージョンにアクセスして、Tomcatのインストールにアクセスできるはずです。https://次に、以下のNginx設定をスキップして、設定を完了するためにTomcatへのアクセスを制限する方法を詳述するセクションに進みます。Webサーバーよりも望ましい場合、Nginxを使用しても簡単です。JServプロトコルと通信できるモジュールはありませんが、堅牢なHTTPプロキシ機能を使用してTomcatと通信できます。セクションの前提条件TomcatへのNginx接続をプロキシする方法について説明する前に、Nginxをインストールして保護する必要があります。16.04でのNginxのインストールに関するガイドに従ってNginxをインストールできます。その後、サーバーでSSLをセットアップする必要があります。これを行う方法は、ドメイン名を持っているかどうかによって異なります。Encryptを使用することです。Nginxの暗号化ガイドに従って設定してください。*ドメインがない場合...*この構成をテストまたは個人的な使用のために使用している場合は、代わりに自己署名証明書を使用できます。これにより、同じタイプの暗号化が提供されますが、ドメイン検証は行われません。[自己署名SSLガイドNginx]をセットアップします。WebサーバーをTomcatインストールに接続する方法を学習します。ステップ1:Nginxサーバーブロック構成の調整TomcatにプロキシするようにNginxを設定するのは非常に簡単です。サイトに関連付けられているサーバーブロックファイルを開きます。このガイドでは、デフォルトのサーバーブロックファイルを使用していると仮定します。`ブロックを追加する必要があります。これにより、Tomcatサーバーがリッスンしている場所をNginxが把握できるように、接続の詳細が概説されます。+」ブロックの外側に配置します。`ブロックを変更します。`ブロックに直接渡したいです。+`ディレクティブを使用して、先ほど定義した「tomcat」アップストリームに渡します。+`設定を含める必要があります。このファイルは、Nginxが接続をプロキシする方法の詳細の多くを定義します。.}終了したら、ファイルを保存して閉じます。ステップ2:Nginxをテストして再起動する次に、構成の変更によって構文エラーが発生していないことを確認するためにテストします。-tエラーが報告されていない場合は、Nginxを再起動して変更を実装します。nginxこれで、WebブラウザでサイトのSSLバージョンにアクセスして、Tomcatのインストールにアクセスできるはずです。https://Tomcatインストールへのアクセスを制限するこれで、TomcatインストールへのSSL暗号化アクセスができました。Tomcatインストールをもう少しロックダウンできます。Tomcatへのすべてのリクエストがプロキシを経由するようにするため、ローカルループバックインターフェイスでの接続のみをリッスンするようにTomcatを構成できます。これにより、外部の関係者がTomcatから直接リクエストを試みることができなくなります。+`ファイルを開きます。*定義を変更する必要があります。現在、構成内で2つのコネクタが有効になっています。JServプロトコル要求を処理します。設定は次のようになります。/>ローカルループバックインターフェイスへのアクセスを制限するには、これらの各コネクタ定義で「127.0.0.1」に設定された「address」属性を追加するだけです。最終結果は次のようになります。/>これらの2つの変更を行った後、ファイルを保存して閉じます。これらの変更を実装するには、Tomcatプロセスを再起動する必要があります。+」ファイアウォールが有効になっています。Tomcatへのすべてのリクエストはローカルループバックインターフェイスに制限されているため、Tomcatへの外部リクエストを許可するルールをファイアウォールから削除できます。8080Tomcatインストールは、Webサーバープロキシを介してのみアクセスできるようになります。結論この時点で、Tomcatインスタンスへの接続は、Webサーバープロキシを使用してSSLで暗号化する必要があります。個別のWebサーバープロセスを構成すると、アプリケーションの提供に関連するソフトウェアが増加する可能性がありますが、トラフィックを大幅に保護するプロセスが簡素化されます。