tomcat はオープンソースの Web サーバーです。Tomcat ベースの Web は実行効率が高く、一般的なハードウェア プラットフォームでスムーズに実行できます。そのため、Web マスターの間で非常に人気があります。ただし、デフォルト構成では、特定のセキュリティ リスクがあり、悪意のある攻撃を受ける可能性があります。セキュリティ強化のいくつかを以下に示します。 バージョンセキュリティ 最新の安定バージョンにアップグレードします。安定性上の理由から、バージョン間のアップグレードは推奨されません。 サービス降格 Tomcatを起動する際にはrootユーザーを使用しないでください。通常のユーザーを使用してTomcatを起動してください。クラスタ内のユーザー名はUIDと統一されています。 ポート保護 1 Tomcat 管理ポート 8005 を変更します。このポートには Tomcat サービスをシャットダウンする権限がありますが、ポートを 8000 から 8999 の間で設定し、シャットダウン コマンドを変更する必要があります。 管理端末を無効にする 1 デフォルトの$CATALINA_HOME/conf/tomcat-users.xmlファイルを削除し、Tomcatを再起動すると新しいファイルが自動的に生成されます。 Tomcatのバージョン情報を非表示にする この情報の表示は、$CATALINA_HOME/lib ディレクトリに保存され、catalina.jar という名前の jar パッケージによって制御されます。 自動戦争展開を無効にする デフォルトでは、Tomcat は war パッケージのホット デプロイメントを有効にします。トロイの木馬やその他の悪意のあるプログラムの埋め込みを防ぐために、自動展開をオフにする必要があります。 インスタンスを変更します。
カスタムエラーページ conf/web.xml を編集し、</web-app> タグの上に次のコンテンツを追加します。 <エラーページ> <エラーコード>404</エラーコード> <場所>/404.html</場所> </エラーページ> <エラーページ> <エラーコード>500</エラーコード> <場所>/500.html</場所> </エラーページ> ディレクトリファイルが自動的にリストされないように保護する conf/web.xmlファイルを編集する <サーブレット> <サーブレット名>デフォルト</サーブレット名> <サーブレットクラス>org.apache.catalina.servlets.DefaultServlet</サーブレットクラス> <初期化パラメータ> <param-name>デバッグ</param-name> <パラメータ値>0</パラメータ値> </init-param> <初期化パラメータ> <param-name>リスト</param-name> <param-value>false</param-value> </init-param> <起動時に読み込む>1</起動時に読み込む> </サーブレット> <param-value>false</param-value> ここで、falseはリストに表示しないことを意味し、trueはリストに表示することを許可することを意味します 複数の仮想ホスト Tomcat の仮想ホストを使用しないことを強く推奨します。サイトごとに 1 つのインスタンスを使用することをお勧めします。つまり、複数の仮想ホストを含む 1 つの Tomcat を起動する代わりに、複数の Tomcat を起動することができます。 スクリプト権限の回復 CATALINAHOME/binディレクトリ内のstart.sh、catalina.sh、shutdown.shの実行権限を制御します。 Tomcatとプロジェクトユーザーを分ける Tomcat が Web シェル プログラムに埋め込まれるのを防ぐには、プロジェクト ファイルを変更します。したがって、Tomcat をプロジェクト所有者から分離して、ハッキングされた場合でもプロジェクト ファイルを作成および編集できないようにする必要があります。 サーバーヘッドの書き換え HTTPコネクタ構成にサーバー構成server="server_name"を追加します。デフォルトはApache-Copyote/1.1です。
アクセス ログ形式の仕様<br /> Tomcat のデフォルトのアクセス ログで Referer レコードと User-Agent レコードを有効にする 標準構成:
Tomcat は不正な HTTP メソッドを無効化します web.xmlファイルの設定を編集する org.apache.catalina.servlets.DefaultServlet の <init-param> <param-name>読み取り専用</param-name> <param-value>true</param-value> </init-param> param-value が true の場合、削除および配置操作は許可されません。 tomcat ユーザーにリモート管理権限がある<br /> tomcat-users.xml で、次のように tomcat ユーザーのロール値を変更してマネージャーを含めます。
tomcat の自動ログアウト時間は 30 秒以内です<br /> server.xml を編集し、次のように自動ログアウト時間を 30 秒に変更します。 <コネクタ ポート="8080" 最大Httpヘッダーサイズ="8192" 最大スレッド数="150" 最小スペアスレッド数="25" 最大スペアスレッド数="75", enableLookups="false" リダイレクトポート="8443" 受け入れカウント="100" 接続タイムアウト="30000" アップロードタイムアウトを無効に="true" /> Tomcat は、マシンのパフォーマンスとビジネス ニーズに基づいて、接続の最小数と最大数を設定する必要があります。 server.xmlファイルを編集します。 例は次のとおりです: <Connector port="8080" minSpareThreads="25" .../> server.xmlファイルを編集します。 Tomcat 構成アクセス ログ<br /> server.xml を変更し、次のコンテンツのコメントを解除します。 <Valve クラス名="org.apache.catalina.valves.AccessLogValve" ディレクトリ=”logs” プレフィックス=”localhost_access_log.” サフィックス=”.txt” パターン="common" resloveHosts="false"/> Tomcat エラーページリダイレクトを構成する web.xml ファイルを編集し、次のように変更します。 <エラーページ> <エラーコード>404</エラーコード> <場所>/noFile.htm</場所> </エラーページ> ………… <エラーページ> <例外タイプ>java.lang.NullPointerException</例外タイプ> <場所>/error.jsp</場所> </エラーページ> この記事はこれで終わりです。123WORDPRESS.COM の編集者が後ほどさらに詳しい情報をお伝えします。 以下もご興味があるかもしれません:
|
<<: TypeScript をインストール、使用、自動コンパイルする方法に関するチュートリアル
>>: MySQL でデータをクエリし、条件に基づいて別のテーブルに更新する方法の例
今日、データベース操作はますますアプリケーション全体のパフォーマンスのボトルネックになりつつあり、こ...
フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...
定義と使用方法:コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、...
[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素...
Linux サーバーで作業している場合、ネットワーク カード/イーサネット カードに静的 IP アド...
1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか?実際、表現方法はいろいろありま...
Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...
目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...
まず、接続プールを使用する理由と、接続プールによってどのような問題が解決できるかを理解する必要があり...
目次1. クロージャとは何ですか? 1.2 クロージャのメモ化: 関数は定義された環境を記憶する1....
私は最近、多くの音楽に特化した Linux ディストリビューションの 1 つである Audiovis...
HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...
1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...
目次目的実験環境実験原理実験手順1. 独立したCAを生成する2. サーバーの秘密鍵と署名要求ファイル...
今日会社から課題をもらったのですが、効果図は以下のとおりです。 どのような効果を実現したいかは特に決...