- - PR -
TomcatでsuEXECのような設定をするには?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-04-28 16:00
お世話になっております。さやべえです。
現在、RedHat8.0上でApache2系+Tomcat4.1系+mod_jk2での連携まで 完了しました。 Apache2系のconfigureパラメータは ./configure --prefix=/usr/local/apache --enable-mpm=mpmt_pthread --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-deflate -enable-suexec --with-suexec-caller=httpd --with-suexec-uidmin=1000 --with-suexec-gidmin=1000 上記のように行い、suEXEC対応でCGIが動くように設定をしました。 そして、Apacheのhttpd.confならびにTomcatのserver.xmlでの設定では、それぞれ 複数のドメイン名でのVirtualHost設定を行い、無事、ポート80番でそれぞれの ドメイン名でJSPファイルを動かすようにできました。 さて、セキュリティ的な観点からいろいろと調査したところ、JSPファイルで好きな ことができてしまうことが分かりました。シェル上ではアクセスできないファイル もJSP経由であれば、見えてしまう!などです。 理由は、tomcatの起動をrootで行っているため、プロセスがrootだからなのですが、 CGIの場合はsuEXECを使い、このへんの問題を回避することができると思いますが tomcatの場合はどのように回避すればいいかをお尋ねしたいと思っております。 サーバー設定をお伝えすると ■www.aaa.co.jp シェルアカウント:aaa UID:1001 GID:600(WWWグループ) コンテンツエリア:/home/aaa/public_html/ ■www.bbb.co.jp シェルアカウント:bbb UID:1002 GID:600(WWWグループ) コンテンツエリア:/home/bbb/public_html/ ■httpd.conf内の設定(一部) User httpd Group httpd <VirtualHost www.aaa.co.jp:80> ServerAdmin webmaster@aaa.co.jp DocumentRoot /home/aaa/public_html ServerName www.aaa.co.jp ServerAlias aaa.co.jp ScriptAlias /cgi-bin/ /home/aaa/public_html/cgi-bin/ <Directory /home/aaa/public_html> AddOutputFilter INCLUDES .shtml AddType text/html .shtml Options +Includes </Directory> ErrorLog logs/aaa.co.jp-error_log CustomLog logs/aaa.co.jp-access_log common </VirtualHost> <VirtualHost www.bbb.co.jp:80> ServerAdmin webmaster@bbb.co.jp DocumentRoot /home/bbb/public_html ServerName www.bbb.co.jp ServerAlias bbb.co.jp ScriptAlias /cgi-bin/ /home/bbb/public_html/cgi-bin/ <Directory /home/bbb/public_html> AddOutputFilter INCLUDES .shtml AddType text/html .shtml Options +Includes </Directory> ErrorLog logs/bbb.co.jp-error_log CustomLog logs/bbb.co.jp-access_log common </VirtualHost> ■server.xmlの内容(一部) <Host name="www.aaa.co.jp" debug="0" appBase="/home/aaa" unpackWARs="true" autoDeploy="true"> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="aaa.co.jp-tomcat_log." suffix=".txt" timestamp="true"/> <Context path="" docBase="public_html" debug="0"/> </Host> <Host name="www.bbb.co.jp" debug="0" appBase="/home/bbb" unpackWARs="true" autoDeploy="true"> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="bbb.co.jp-tomcat_log." suffix=".txt" timestamp="true"/> <Context path="" docBase="public_html" debug="0"/> </Host> こんな感じです。 |
|
投稿日時: 2003-04-28 16:52
1). tomcatをroot以外のユーザーで起動する
2). tomcatを-secureで起動する。さらにpolicyファイルを目的に応じて修正する 3). chroot環境でtomcatを動作させる のいずれかで実現できます。google等で調べてください。 |
1