日別アーカイブ: 2012年2月10日

SSLは不要? – SSL証明書 暗号化

 SSL証明書なんてあったって無くたって同じという人が居るけど、どうなのかという話。

 一般的な有線LANの話をすると、スイッチはMACアドレスが一致するポートにのみデータを流すのでデータが漏れることはないような気がする。
 しかし、ちょっと高価なスイッチ(インテリジェントスイッチ=CISCO Catalyst等)を使うと、ポートミラーリングと言う設定が出来る。
 これは、あるポートの通信内容を別のポートに流す機能だが、これは別に特殊な機能でもなんでもない。

 典型的な接続形態でメールを使う場合だと
メールサーバ = Internet = アクセスルーター = スイッチ = クライアント
(Internet = ルーターの集まりとも言える)
 みたいな感じになるけど、このスイッチをポートミラーリングできる機械にして、ルーターのポートをミラーリングしたポートにWireshark等のパケットキャプチャソフトを導入した端末を接続すると、LANから流れるデータは全部丸見えになる。

 POP3であれば、認証に使うID/Passwordもメール本文も丸見えなので、そのように仕組まれたネットワーク経由で一度でもメールチェックしたら最後、ID/Passwordを変更するまでメールボックスを覗き放題になる(ホットスポットのふりをして設置した無線APとルータ間にインテリジェントスイッチとロガーを仕込んだりしておくと、色々な情報が収集できることだろう)
POP3

 メール自体の暗号化(PGPなど)をすれば個別に暗号化したメール内容は保護できるけど、認証に使っているID/Passwordは上のように丸見えだし、暗号化していないメールはどうにもならない。
 Webでパスワードリセットのユニークコードをメールで送るようなシステムがあるけど、POP3が覗けるなら、この仕組みは簡単に破られてしまう(サイトでパスワードリセット処理をして、そのメールをいち早く受信してサーバから削除すれば、利用者の気づかない間にWebのアカウントを奪われる)

 POP3Sを使っていれば、セッションの開始から認証処理、データ転送、セッション終了までの通信が暗号化されるので、とりあえず通信内容が保護されるので、このような危険性を排除することが出来る。
POP3S

 では、個別にメールを暗号化するのが不要かというと、そういうわけでもなく、SMTPS/POP3Sを使っていても、自分のメールサーバとクライアント間の通信が保護されるだけで、相手サーバとの通信は危険なインターネット内を経由することになるので、PGP暗号化は別のレベルで必要となる。

 と言うわけで、色々な場所から自分のVPSに接続して利用したい場合、SSL証明書を取得して色々な認証処理を暗号化してセキュアにした方が幸せだろう。

(355)

カテゴリー: サーバ設定 | コメントをどうぞ

バーチャルドメイン時のserver-statusの設定 – Apache mod_status VirtualDomain

 VPSでApacheサーバを使っていると、ネームバーチャルホストを使うことは多々あると思う(ServersMan@VPSのように無料でグローバルIPが複数取れるなら良いけど、普通のVPSはIP1個が普通)
 また、cactiとかの監視ツールでApacheの状況を確認するのも良くあることで、通常は、Apacheのmod_statusを使って監視することになる。
 通常、httpd.confのLocation /server-statusでハンドラーに接続するんだけど、バーチャルホストの第一候補ホストでmod_rewriteを使ってコントローラ制御をしたりしている場合、Locationに先行してmod_rewriteが走って、404 not foundになってしまう(こういう細工がない場合は、正常に繋がる)
 ServerName localhostのバーチャルホストを作れば、localhost宛の監視を受け入れられるので、監視専用のバーチャルホストを作る。
 また、監視機構がHostヘッダを使ってくれない可能性があるんで、localhostバーチャルホストは一番最初に定義する(ネームバーチャルで、一致するサーバネームがない場合、一番最初に定義されたバーチャルホストにマップされる)

<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
</VirtualHost>

(1843)

カテゴリー: サーバ設定 | コメントをどうぞ