Tomcatのセキュリティ
セキュリティの設定
- webappsディレクトリ内のすべてのファイルを削除し、無効にTomcatの管理インターフェイス。
- コメントまたはすべてのユーザー権利のtomcat-users.xmlの文書内を削除します。
- 変更または無効に閉じるコマンドのTomcat
- server.xmlの例で定義されているTomcatのちょうど近くにTomcatの管理ポート(デフォルト8005)があります。ポートは、(例えば、ケースを閉じ、そのプロセスは依然として存在するが、そのノート)のTelnet、近いTomcatインスタンスへのシャットダウン入力(これはデフォルト閉鎖コマンドである)を介して接続することができる後。
- デフォルトのTomcatポートが閉じているので命令は非常に単純です。デフォルトのポートは8005、命令SHUTDOWNです。
方案一:更改端口号和指令: <Server port="8456" shutdown="itcast_shut">
方案二: 禁用8005端口: <Server port="‐1" shutdown="SHUTDOWN">
- カスタムエラーページ
- Webアプリケーション/ ROOTディレクトリ404.html、500.htmlのカスタムエラーページ。
- 404、500、そのような例外は、ユーザーがリソースにアクセスするとき、我々は異常なスタック情報を見ることなく、私たちのカスタムエラーページを参照してください、とユーザーエクスペリエンスを改善するだけでなく、サービスのセキュリティを保護することができます発生します。
- その後、Tomcatの/ confに/ web.xmlのは、configureエラーページを設定します。
<error‐page> <error‐code>404</error‐code> <location>/404.html</location> </error‐page> <error‐page> <error‐code>500</error‐code> <location>/500.html</location> </error‐page>
アプリケーションセキュリティ
- 安全なアクセス制御アプリケーションシステムのための彼らのセキュリティ管理モジュール(パーミッションモジュール)を実現するために、
- 二つの部分に認証(ログイン/シングルサインオン)と承認(機能認証、データの許可):それは2つの部分から成り
- SpringSecurity、Apacheの史郎など:ビジネスシステム、モジュール、および他の権限は、自分のビジネスシステムには適用されないために、アプリケーションの多くは、直接などのWebアプリケーションへの統合、セキュリティフレームワークのいくつかの機能を向上させるがあります。
交通安全
TomcatのサポートHTTPS
-
プライベートキーは、ライブラリファイルを生成しています。
keytool ‐genkey ‐alias tomcat ‐keyalg RSA ‐keystore tomcatkey.keystore
tomcatkey.keystore:あなたはなど、キーストアのパスワード、秘密鍵暗号方式に対応する情報を入力した後、現在のフォルダ内の秘密鍵データベース・ファイルが存在します -
キーは、Tomcat / confディレクトリにコピーされたライブラリファイルをtomcatkey.keystore。
-
Tomcatの設定/ confに/ server.xmlを
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" schema="https" secure="true" SSLEnabled="true"> <SSLHostConfig certificateVerification="false"> <Certificate certificateKeystoreFile="D:/DevelopProgramFile/apache‐tomcat‐8.5.42‐windows‐x64/apache‐tomcat‐8.5.42/conf/tomcatkey.keystore" certificateKeystorePassword="yzx" type="RSA" /> </SSLHostConfig> </Connector>
-
アクセスTomcatは、httpsプロトコルを使用します。
Tomcatのパフォーマンスチューニング
JVMのチューニングパラメータ
- TomcatはJavaアプリケーションで、JVM構成が密接に自分の走行性能に関連される、JVMは、業務の効率化とスループットのメモリが直接サービスに影響を与えるため、メモリ割り当ておよびGCポリシーに焦点の調整を最適化されたJVMガベージコレクション機構の意志程度の差は、ランで結果が中断しました。
- アプリケーションの特性に応じて、異なるガベージコレクション方式を選択し、JVMガベージコレクションポリシーを調整し、大幅に走行性能を向上させる、ガベージコレクションの効率を改善する、ごみリサイクルの数を減らすことができます。
JVMのメモリー・パラメータ
- -サーバ
- スタートServerは、サーバーモードで実行されています
- サーバーモードが有効にすることをお勧めします
- -Xms
- 最小ヒープメモリ
- 提案や-Xmxは同じに設定しました
- -Xmx
- 最大ヒープメモリ
- 推奨設定は、使用可能なメモリの80%
- -XX:MetaspaceSize
- 元スペースの初期値
- -XX:MaxMetaspaceSize
- デフォルトの最大メモリ無限次元空間
- -XX:MaxNewSize
- 新生代デフォルトの最大メモリ16M
- -XX:NewRatio
- 古いや若い世代のサイズ比、値が整数で、デフォルトは2
- 修正することを提案してい
- -XX:SurvivorRatio
- エデン領域と領域のサイズサバイバーの比率、整数値、デフォルトは8
- 修正することを提案してい
デフォルトのガベージコレクタTomcatの
JVMのチューニング
vi bin/catalina.sh
JAVA_OPTS="-server -Xms2g -Xmx2g -XX:MetaSpaceSize=256m -XX:MaxMetaSpaceSize=528m -XX:SurvivorRatio=8 -XX:USEConcMarkSweepGC -XX:+PrintGCDetails“
チューニングTomcatの設定
コンフィギュレーション調整maxThreadsのコネクタのconf / server.xmlを選択:プール内のスレッドの最大数。
- MaxConnectionsを:最大接続数、CPU集約型が高すぎないことをお勧め、CPU集中型の操作は、約2000の提案をお勧めされていません
- acceptCountを:冗長配置キューを待っている要求の最大数(接続番号= MaxConnectionsを+ acceptCountを、拒否される以上)
- maxThreadsの:スレッドの最大数は、ハードウェアの決定に応じて、
<Connector port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
connectionTimeout="20000"
URIEncoding="UTF‐8"
maxConnections="1000"
acceptCount="200"
maxThreads="500" />