テクニカル愚痴
ちょっとテクニカルな愚痴を書きます。
SSL-VPNという仕組みがあります。
要はリバースプロキシ+ポートフォワーディング+HTTPS-IPカプセリングです。
(この時点でついてこれてない人が大部分かも)
で、俺の勤め先のSSL-VPNは俺が導入作業をしたもので、管理も運用も全てひとりでやっています。
このSSL-VPNのこまかーい仕組みを言うと。
1.クライアントPCはHTTPSでSSL-VPNサーバにアクセスする。
2.SSL-VPNサーバとクライアントPC間でHTTPSセッションが成立する。
3.クライアントPCでActiveXが起動し、特定のURL/TCPポート/IPアドレス宛のパケットが、
このActiveXの生成する仮想URL/仮想TCPチャネル/仮想IPアドレスにリダイレクトされる。
4.ActiveXにリダイレクトされたパケットはRC4でエンクリプトされてからHTTPSボディにカプセリングされ、
SSL-VPNサーバにHTTPSセッションを通して送られる。
5.SSL-VPNサーバはHTTPSからデータをアンカプセリングし、デクリプトして、本来のパケットを取り出す。
6.取り出したパケットを本来の宛先となるURL/TCPポート/IPアドレスに送り出す。
7.戻りはこの反対。
という感じ。
で、よくもめるのが「SSL-VPNが悪いのか、そもそものサーバ/クライアント(C/S)システムが悪いのか」
というところで。どっちが悪いのか、すぐに判断できないあたりが性質が悪い。
ポートフォワーディングの場合、クライアントPCのHostsファイルをActiveXが強制的に書き換えて、
ホスト名ベースでフォワーディングActiveXへのリダイレクトを実現しているので、
システム内にIPアドレスを直書きするようなマナーの悪いシステムはたいがいうまくいかない。
あとは、投げ返しのパケットがうまく届かないパターン。上のと同じだけれど、
IP層以外にIPアドレスが書かれていて、システムサーバ側がその上位レイヤのIPアドレスを見て、
RawIPなんかでIPデータグラムを作りこんで投げ返す場合は、大問題。
プライベートIPアドレス空間からグローバルIPアドレスへの投げ込みをしようとしても、
Firewall様がはたき落とすので。
こんなのも「SSL-VPNがおかしいんじゃないですか?」と言われる。激怒。
InternetExplorerを使っているのも大問題。
脆弱性パッチ一枚で、すぐに動作が不安定になったりすることもある。
SSL-VPNの売りの1つは、クライアントソフトがないため、クライアントに依存しません、というのだが、
実際はMicrosoft社製のInternetExplorerというクライアントソフトにべったりと依存している、というのが実情。
(最近はMozilaベースのWebブラウザ(Firefoxとか)でも動作するようになってきたけど。)
月次パッチにどきどきする日々。
こんなことならIPSec VPNのほうがまだ楽だった。。。
やはりIT業界は未成熟で、まだユーザーを半ばダマして回っている世界だと思う。
というか。
Internet って、いつから IP reachable じゃなくて http + smtp reachable な世界になってしまったの?
もちろん、skypeやwinnyやP2Pな幸せソフトたちは IP reachable を有効利用していますが。
なんでもかんでも「Webでやっとけ」みたいな風潮が強くて、疑問。
そりゃ確かにWebブラウザで全部できるのは便利だよ。
ftp せずに、こうやってblogを書いて、ポンってやれるのは。
でもワープロも地図もアルバムも銀行もテレビもニュースも動画もなにもかも
WebBrowserDecodableなMarkupLanguageで処理するっていうのがね。
なんのためのTCPレイヤーなんでしょ?
Newsプロトコルってあるじゃん。mapプロトコルとか、OnLineAPplicationプロトコルとか、
OnLineGraphicControlプロトコルとか、BankAccountプロトコルとか、作るべきじゃないの?
なーんか、HTTPのヘッダってでかいし。
なによりNon HTMLデータをHTTPにくるんでガンガンやりとりされると、
パケットキャプチャしてもなーんもわからんし腹立つんですよ。
シンプルが命なコンピュータの世界はどんどん複雑化して、
余計なネットワークトラフィックの増加と演算リソースの無駄な消費をどんどんと拡大中。
おそらくTCPレイヤーで各処理を見直して、パソコンで何もかもしようとするのをやめれば、
全世界で原子炉10基ぶんぐらいの電力消費が低減できるんじゃないかなあ、と思う。
Spamメールを全滅、とかでも原子炉1基ぶんくらいは期待できるんじゃないだろうか。
ソフト屋さん、って、消費電力とか製品寿命とか温暖化防止とかよりも、
ビジネスモデルとかマネーとかのほうに親近感が強いのか、と思いつつ。
消費電力や温暖化防止を考えたソフトウェアの実装や規格化のできるソフト屋さんが
これから増えるといいんだけどなあ、と他力本願なことを考えている。
きちんと「どうすればみんなで幸せになれるか」ってことを考える癖がないと、
たぶん、そんなん無理なんだけどね。
こういうことって誰も教えることができないから、「Love & Peace」って浸透しないんだよね。
でも「幸せになりたい」って気持ちも大事だとは思います。
みんな、には、自分も入ってるしね。
まあ、そんな愚痴と妄想はここらで止めて。
今日はゆっくり眠ります。
おやすみ。
コメント
確かに効率という観点から言って、WEBアプリマンセーな現状は疑問を抱いてもしょうがない気がする。
今はブラウザというプラットフォームがOSを問わずに提供されて共通した環境にある・・・OSが実現できなかったことをWEBブラウザなら実現できるんじゃないか・・・そんなことを妄想に抱きながら、今のWEBを発展させようという動きはあるんだろうね。
行き着くところまで行き着いて、ブレイクスルーが難しいところまで来れば、たぶんこの風潮もクライアントソフトをまた認める方向に進んでいくんじゃないかな。
とはいえ、GoogleがAJAX等を使うことで行ったブレイクスルーはかなり衝撃だった。
それだけに、まだWEBもあきらめたもんじゃないかなって思ってる。
次はクライアントソフトの技術革新・・・かなぁ。
投稿者: IGA | 2006年10月12日 08:59
AJAXがまたWebの寿命を伸ばしたよね。まあいまのところ一番ユーザーフレンドリーなのはWebなんかなあ。手軽ってのは何ものにも変えがたいしな(苦笑)。
まあ別にWebでもいいんよ。きちんとした実装して、効率よくリソース消費を抑えて回ってくれたら。今はそれができていない実装が多いからね。
ソフトウェアの生産性や開発の容易さのために効率や演算リソースを犠牲にするのはどうなのか。経営層がそれを求めるのはいいが、エンジニアがそれに対して「ちょっと待ったー!」と言えないのは問題だと思っている。
それはたぶんエンジニアたちが自分の専門以外に対して不案内なのが原因ではないかな、と。全体性がないって言ってもいいと思うけど。
投稿者: asataka | 2006年10月13日 00:45