2012年11月

まぁまぁクラウドが浸透してきた今日この頃。
結構社内から「クラウドって何?」って聞かれる事が多かったから一応メモ。


クラウドってのは、サービスを乗せる側がハード部分(サーバとか)、ソフト部分(HTTPやメールなど)を意識しないで利用できるサービスの総称。
何も気にする事が無いから技術的な事を知らなくてもHPを作ったり、サービスを乗せたりできる。

メリットとしては・・・
安い、早い、簡単

デメリットとしては・・・
セキュリティの不安、サーバが重い、責任所在が分かり辛い

かな?

色々記事とかではメリット部分を大きく出す事が多いから、その辺はgoogleで調べれば楽勝で分かるはず。
だから今回はデメリット部分をメモします。


・セキュリティの不安
そのまま。データがどこにあるかはクラウド事業者しかしらない。
しかもクラウド事業者はやろうと思えば、データの改ざんも、流出も楽勝で可能だ。
法律で禁止にはなっているが、本当にやってないとは言い切れないのが現状。
僕たちは、クラウド事業者を信用するしか方法はない。

国が違えば法律も違う。当然のことだが。
アメリカのサーバを使っていたら当たり前だがアメリカの法律が適用される。
もしアメリカが「違法の可能性があるからデータを政府に全部見せろ!」なんて事になったら、日本にいる僕たちは何も出来ない。むしろ、気づけないかも。
そのデータを全て公開されたら?
アメリカ政府の本当の目的が、アメリカの企業が有利になるようにするとしていたら?
日本との競合他社に情報を流す可能性は?

並べればきりがないけど、可能性は十分にある。



・サーバが重い
これは安さの代償と言った方がいいかもしれない。
1台のサーバに複数のサーバを立ててやっているんだから、しょうがない。
所詮ソフトでの処理だからハード処理に敵う訳がない。
同じサーバ内のサービスに異常なアクセスきたら、こっちも重くなる。運命共同体だ。
だからと言って僕らは見守るしかない、歯がゆいもんだ。



・責任所在が分かり辛い
「セキュリティの不安」で言った通り、別の国のサーバを使っていたら責任は誰がもつの?

仮に・・・の話をしてみよう。
日本のクレジットカード会社が、アメリカ企業のクラウドで情報を管理している。
アメリカ企業のクラウドが攻撃を受けて、中国のクラッカーに情報が漏れた。
中国のクラッカーは漏れたクレジットカード情報で、ロシアのネットショップで買い物をした。


さて、ここから問題です。
どこの国で、誰が罪に問われるんだ?
クレジットカードを利用された人はどこの誰を訴えればいい?


・まとめ
クラウドは万能ではない。急に落ちるし、急に仕様が変わる事もある。
落ちたところで利用しているシステム担当者は復旧を待つしかない。
多少落ちたところでそんなに問題ないシステムを乗せるべきだと僕は考えている。



クラウドを過信するなって話でした。

色々とまだ勉強中だから密かにはまった事を書いていこうかなと。( ´∀`)つ


うちではロードバランサーを導入せず、Linuxでpoundを動かしてバランシングしている。。。
って事で開発から「SSL証明書をバランサーで持って欲しい」と言われた。
ので試してみたが、よく分からん。ヽ(TдT)ノ

やる事は分かってる。やりたい事も分かってる。
けど。。。。やり方が分からない。。。。


pound.cfg内の
Cert "/etc/ssl/test.crt"
に単純に証明書を置けばいいか。

えっ、鍵はどこに???中間証明書は???(゚∇゚ ;)エッ!?
絶対に無理だよね。これで証明書がちゃんと動いたらおかしいよね。

一応コンフィグチェックしてみるけどさ・・・・・
# /etc/init.d/pound configtest
SSL_CTX_use_PrivateKey_file failed - aborted

だよね、だよね。

じゃあmanで見るか。

# man pound
~~~~~中略~~~~~
              the  certificate file(s) for HTTPS. The location must be defined in the configuration file - this is only a suggestion. The file must contain a PEM-encoded certificate, optionally a certifi-
              cate chain from a known Certificate Authority to your server certificate and a PEM-encoded private key (not password protected). See OpenSSL(1) for details. This file  should  be  well  pro-
              tected, lest someone gets your server private key.

ふむ。
BIG-IPみたいに秘密鍵と証明書と中間証明書を置くだけと思ってたのが間違い。
poundはこの
ファイルたちを1つにまとめろと!!!
結合しろとおっしゃっている。

って事で適当に結合してみたら
# /etc/init.d/pound configtest
SSL_CTX_use_certificate_chain_file failed - aborted



結合する順番があるらしい。
ファイル名がややこしいから色をつけての説明。

SSL認証局からもらった証明書:test.crt
SSL認証局にリクエストする為の情報ファイル:test.csr
秘密鍵(パスワード無し):test.key
認証局の中間証明書:rapid.cer

# test.crt
# cat test.key >> test.crt
# cat rapid.cer >> test.crt
#


これでpoundに下記のように設定すればok

 ListenHTTPS
     # PoundサーバのIP
     Address 192.168.0.0
     # Listenするポート
     Port 443
     # 証明書指定
     Cert "/etc/ssl/test.crt"
 End

↑このページのトップヘ