Basic Tomcat Info
Try Hard Security Group
rootでの実行を避ける
Tomcatをrootで実行しないようにするための非常に一般的な構成は、ポート80/443でApacheサーバーを設定し、リクエストされたパスが正規表現と一致する場合、リクエストを異なるポートで実行されているTomcatに送信することです。
デフォルト構造
bin
フォルダには、Tomcatサーバーを起動および実行するために必要なスクリプトとバイナリが保存されています。conf
フォルダには、Tomcatが使用するさまざまな構成ファイルが保存されています。tomcat-users.xml
ファイルには、ユーザーの資格情報と割り当てられた役割が保存されています。lib
フォルダには、Tomcatの正しい動作に必要なさまざまなJARファイルが保存されています。logs
およびtemp
フォルダには一時的なログファイルが保存されています。webapps
フォルダはTomcatのデフォルトのWebルートであり、すべてのアプリケーションがホストされています。work
フォルダはキャッシュとして機能し、ランタイム中にデータを保存するために使用されます。
webapps
内の各フォルダには、次の構造が期待されています。
最も重要なファイルの1つはWEB-INF/web.xml
で、デプロイメント記述子として知られています。このファイルには、アプリケーションで使用されるルートに関する情報やこれらのルートを処理するクラスに関する情報が格納されています。
アプリケーションで使用されるすべてのコンパイルされたクラスはWEB-INF/classes
フォルダに保存する必要があります。これらのクラスには重要なビジネスロジックや機密情報が含まれている可能性があります。これらのファイルにおける脆弱性は、ウェブサイト全体の侵害につながる可能性があります。lib
フォルダには、その特定のアプリケーションに必要なライブラリが保存されています。jsp
フォルダには、Jakarta Server Pages (JSP)(以前はJavaServer Pages
として知られていました)が保存されており、Apacheサーバー上のPHPファイルに比較できます。
以下はweb.xmlファイルの例です。
上記のweb.xml
構成は、AdminServlet
という新しいサーブレットを定義し、com.inlanefreight.api.AdminServlet
クラスにマップされています。Javaはパッケージ名を作成するためにドット表記を使用します。したがって、上記で定義されたクラスのディスク上のパスは次のとおりです:
classes/com/inlanefreight/api/AdminServlet.class
次に、/admin
へのリクエストをAdminServlet
にマッピングする新しいサーブレットマッピングが作成されます。この構成により、/admin
への受信リクエストはAdminServlet.class
クラスに送信され、処理されます。web.xml
記述子には多くの機密情報が含まれており、ローカルファイルインクルージョン(LFI)脆弱性を利用する際にチェックする重要なファイルです。
tomcat-users
tomcat-users.xml
ファイルは、/manager
およびhost-manager
管理ページへのアクセスを許可または拒否するために使用されます。
ファイルには、manager-gui
、manager-script
、manager-jmx
、manager-status
のそれぞれがアクセス権を提供する内容が示されています。この例では、パスワードが tomcat
のユーザー tomcat
が manager-gui
ロールを持っており、2番目の弱いパスワード admin
がユーザーアカウント admin
に設定されています。
参考文献
Try Hard Security Group
Last updated