2006年6月19日(月)

AFS をセキュアに使う方法

ちょっと思いついた。
誰かやってみる人が出てくるかもしれないので公開してみる

問題:
ある程度重要な文書・データなどを1個所に蓄積することは、参照性を考えると都合がよいが、アクセスする人間が LAN 内よりもむしろ LAN 外、すなわち Internet 上の様々な場所に分散している場合には困難が生じる。
すなわち、 Internet からのアクセスを許し、しかもそのアクセスをユーザの継続的な利用を妨げない程度に簡便にできるようにしようとすると、蓄積サーバを Internet から階層が浅いネットワークに置かねばならなくなる。
この様な Internet に近いサーバはクラッキングのリスクを絶えず意識せねばならず、そのようなセキュリティクリアランスの低いところに、時には流出を避けねばならない重要な文書を蓄積することはリスク管理上好ましくない。

ここで生じる、 Ineternet から簡便(透過的)にアクセスできてユーザに利用を嫌われず、しかしクラッキングのリスクがなくはないホストに安全に文書を蓄積する方法として、 AFS (Andrew File System) の利用を提案する。

AFS は分散型のネットワークファイルシステムだが、今回注目するのは以下の二つの機能である。
AFS のストレージは通常のファイルシステム上にファイルを配置するのではなく、 fileserver process がストレージへダイレクトアクセスするため AFS パーティションがユーザランドから通常のファイル空間と見えても、そこに収納されている AFS 上のファイルが見えないという特徴がある。このため、 AFS のファイルサーバにおいても AFS ファイル空間へアクセスするためにはクライアントプログラム afsd を経由しなければならない。
afsd 経由でのファイルアクセスには Kerberos による認証・認可を経る必要があり、 AFS 上のファイルへ非正規に afsd 経由でアクセスする場合には Kerberos のセキュリティを突破する必要がある。
即ち、 Internet から簡便(透過的)にアクセスが可能な位置にこの AFS のファイル/ストレージサーバを配置しても、このホストで AFS クライアントを運用しなければ、当該ホストへの侵入を許した時でも AFS 上のファイルへの不正なアクセスは起りえない。
また、 AFS のファイルサーバは、複数サーバでストレージを提供できること、およびファイルサーバ機能と認証系サーバ機能を別のホストで運用できることも、1ホストがクラックされた時の被害を低減するのに役立つと考えられる。

この場合、認証系サーバも Internet からアクセスできるネットワークに配置し(あるいは他にネットワークレベルでのアクセス制限も追加し)、文書へアクセスする必要のあるユーザ全員が AFS クライアントをインストールし、この Internet 上のサーバのセルへ参加することで、透過的、信頼できる認証・認可・つき、データがクラッキングに対しても保護された、安全かつ利用の容易なファイル共有を実現できるものと思われる。


AFS 実装として、現在利用可能なものとして OpenAFS がある。

セキュアなサーバ専用マネジメント型Linux Nature's Linuxと組み合わせても面白いかもしれない。

[referer: [an error occurred while processing this directive]]

あわせて読みたい