- - PR -
Apacheとtomcatがインターネット経由でつなげているときのセキュリティ
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-05 11:55
はじめまして。
表題の件で質問させてください。 いろいろ情報を探してはみたのですが見つかりませんでした。既出のものであれば情報提供先を教えていただけると幸いです。 まずやりたい事なのですが、 レンタルサーバ会社のLinux9+apache1.3と自社においてあるwinXPpro+Tomcat4.1をmod_jkなどを使用して接続し、Apache経由でTomcatの情報にアクセスする計画があります。ApacheとTomcatはそれぞれレンタルサーバ会社と自社においてありますから、この間はインターネットを経由する事になってしまいます。Tomcatは同じサーバ上にDBを持っておりこのDBの情報を保護した状態でユーザに情報を提供したいと思っております。 情報の流れとして ユーザ ↑ ↓ Apache ↑ ↓ Tomcat ↑ ↓ DB(Oracle or MySQL) となるわけですが、ユーザとApache間は当然ながらSSLで結ぶ事はできるかと思います。 しかし、ApacheとTomcatの間をSSLでむすぶかどうかが私の知識ではよくわかりませんでした。 検索サイトで「Apache」「Tomcat」「SSL」などをキーワードにして検索してみたのですが、ヒットする内容はユーザとApache間を結ぶケースのものばかりのようにみえます。 Apache、Tomcat間をSSLでむすべるものなのかどうか?出来るとしたらどのような技術が必要なのか?もしくは他に安全なデータ通信は可能かどうか?という情報を皆様から拝借できればと思います。 宜しくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-04-05 13:53
正直やったことがないのですが、ググッたら見つかったのでおしらせします。
ググッた時のキーワードは「通信 暗号化 Apache Tomcat」。ヒットしたサイトでそれっぽいのは以下のHP。 The Tomcat 4 Servlet/JSP Container - SSL設定の手引き http://www.jajakarta.org/tomcat/tomcat3.2-4.0/tomcat-4.0/webapps/tomcat-docs-ja/ssl-howto.html Tomcatをスタンドアロンで運用し、SSL設定を行ってクライアントとのやりとりをしたい時の設定方法について記載されているようです。 通常のApache経由でTomcatの情報にアクセスするイメージとは全くことなるものになると思います。ApacheがTomcatにユーザからのリクエストを転送するイメージになるでしょうか。とはいうものの、TomcatにSSLが設定できれるのであれば、レンタルサーバ会社からApacheをレンタルする意味があるかどうかも気になるところではあります。 ApacheとTomcatをSSL通信で結ぶことをするくらいならば、現在ではVPNがあります。ググってみてください。レンタルサーバ会社でVPNをサポートする会社もあるようですよ。キーワードは「VPN レンタルサーバ」です。 WebサーバとWebAPサーバを筐体は分けても拠点を分けるという構成は初耳でした。WebAPサーバを保護するためにWebサーバを設置することは多くあります。Webサーバは外部公開のセグメントに置き、WebAPサーバは非外部公開のセグメントに置く。WebAPサーバにはWebサーバからのリクエスト以外許可しないなどです。 データを保護する必要があるシステムにおいて、WebAPサーバを外部公開可能な箇所に配置するのはかなり危険です。SSL通信だけではほとんど意味をなしません。公開するにはWebAPサーバのための専用のルーターでパケットフィルタリングすることや、最低限必要なポート以外は閉じ、かつ可能であれば内向きにしかポートを開放しない等、サーバ(今回で言えばwinXPproのPC)を要塞化する必要があります。 おせっかいですが、「自社」とおっしゃられているので気になり記述ました。昨今では情報の流出が企業にとって致命傷になります。提供されるサービスが有用ならば、情報漏えいで消えてしまうのは勿体なのです。健闘を祈ります。 | ||||||||||||
|
投稿日時: 2006-04-05 23:37
そもそも、レンタルサーバ屋さんが、そんな面倒なことを認めてくれるかどうか を確認したほうがいいのでは。。。。 それはともかく。 Apache -> AJP13 -> Tomcat ですので要するにポート8009番で通信しているだけです。 AJP(Apache Javaプロトコル?)だから SSLでやろうと思えば別に難しくはないと思いますが。 ApacheとTomcatの通信プロトコルは、必ずしもAJPである必要はないのでしょうけど。 確か、いろいろあったような。でもたくさんあっても役に立たないので、 結局mod_jk2になる気が。 | ||||||||||||
|
投稿日時: 2006-04-06 01:27
mod_jk そのものには SSL 通信の機能は無いと思います。
mod_proxy でリバースプロキシする場合も同じ (ひょっとして出来る ?) だから stone とかでトンネルを作ってやるくらいしか思いつきません。 | ||||||||||||
|
投稿日時: 2006-04-06 11:16
ゴングラッチェ様
ご回答ありがとうございます。
わざわざ調べていただいたのですね。助かります。
そのようですね。これがApacheと連携する際にも適用出来るのかどうかを検証してみます。
以前に某データセンターにおいたLinux+Apache1.3と自社においたFileMakerUnlimitedをVPNでつないで運用した事はあります(FileMakerはあまり皆さんになじみがないかもしれませんが、基本的にDBを内包したTomcatという感じで動きます)。今回はそのデータセンターとはちがうところにApacheをはいちすること、自社におくJavaコンテナがTomcatであることから改めて今回のようなケースはできるのか?と知りたくなった訳です。 とにかく、とても助かりました。ご心配を頂きましたセキュリティについても万全な体制にしたいと思っております。 ありがとうございました。 | ||||||||||||
|
投稿日時: 2006-04-06 11:25
加納正和様、ご回答ありがとうございます。
今回のレンタルサーバは専用サーバで固定IP、ドメインを持っています。 SSH経由でのフルアクセスが可能ですし、Apacheを再度インストールすることも問題ないということは確認してあります。共用サーバだったらまず無理ですよね・・・
そういうmod_jkも有った気がしていたのですが、実際に探してみるとなぜか出てこないと... 考え方としてはSSL通信は簡単な気がしているのですが、実際に通信をコントロールしているものがmod_jkなわけじゃないですか。ってことはmod_jk自体がそういう機能をもっていないとできないのかなと思っています。
ですね。mod_jk(2)になると私も思っています。 ありがとうございました。 [ メッセージ編集済み 編集者: こじ 編集日時 2006-04-06 11:30 ] | ||||||||||||
|
投稿日時: 2006-04-06 11:29
はしもと様、ご回答ありがとうございます。
あ、マジですか!? mod_jkにSSL通信機能がないとなるときついですね。というかお手上げですね。 こうなるとSSL通信をあきらめてVPNの道のみを探っていく方が現実的な気がしてきました。 ちょっと落ち込んでしまいましたが、とっても参考になりました。 ありがとうございました。 [ メッセージ編集済み 編集者: こじ 編集日時 2006-04-06 11:31 ] | ||||||||||||
|
投稿日時: 2006-04-06 11:47
・なんのためにApacheを使用するのか? ・Tomcatにはどのような機能があるのか? ここを確認されたほうがよいかと思います。 |