ユーザ管理とディレクトリサービス

2005年度
情報システム構成論
第9回 分散ファイルシステム
西尾 信彦
[email protected]
立命館大学
情報理工学部 情報システム学科
ユビキタス環境研究室
ユーザ情報を共有する場合の問題
• 複数のサーバ上でユーザ環境(個人用設定
ファイル等)を同様に構築することが困難
• 必要なファイルをあちこちに分散したくない
• 必要なファイルを統一的に扱いたい
• 分散ファイルシステムを利用する
NFS(Network File System)
• Unix系OSでほぼ確実に実装されている分散ファ
イルシステム
• バイナリ特化のディレクトリサービスと言えなくも
ない
• Linux kernel 1.2のころからVersion2が実装されて
いる
• 歴史が古く、文献が豊富である
各自のHomeとしてNFSを使う
• 各自のHome(/home以下)をNFSに置くことで可能
• 複数のホストで同一ユーザディレクトリサービス
(NISやLDAP)と同一NFSを利用することによって、
複数のホストを同一の環境で利用することができ
る。
• 疑問点
– なぜ、同一ディレクトリサービスと同一NFSの組で
利用する必要があるのか
Unix系のファイル権限の基礎
• Unix系OSでは『ユーザID』によって所有者を見
分けている。
• 『ユーザ名』によってではない
つまり
• ユーザ名とユーザIDのペアが同一のユーザ情
報を利用してアクセスする必要がある
• 同一ディレクトリサービスと同一ファイルシステム
のペアを利用する必要がある
NFSの特徴
• 古いバージョンでは2GBのファイルまでしか利用
することができない
• 2GB以上のファイルを利用する場合はLinux
kernel 2.4.x と glibc version 2.2.x が必要
• 原則的にファイルアクセスの判断は
– NISに管理されたユーザIDのみに頼っている
– NISのドメインでは透明に統一的な扱いになるが
– ユーザIDを詐称されないようなガードが必要
NFSの問題点
• 通信経路暗号化が存在しない
– 通信内容が丸見えである
• 接続ホスト認証機構がない
– サーバは接続元アドレスを元に接続の可否を決定する
(/etc/exports)ため、接続を許可しているネットワーク内に
ノートパソコンなどを持ち込まれ,ユーザIDを詐称されると
フルアクセスされてしまう危険性がある
– また、ユーザ別に接続許可を設置することができない
• 通信途中で回線切断などが起こると操作中のファイ
ルが壊れる可能性がある
• ネットワーク的に切断されているときは,キャッシュ以
外は一切利用できない
AFS(Andrew File System)
• Andrew Project (CMU)の成果
• NFSにKerberos認証を付加し、個人認証機構と
通信暗号化を付加したもの
• 世界中で共通のルート/../をもつ
– Multi-institutionalファイルシステム
• kloginによる期限つきトークンの生成
• ファイル(ディレクトリ)操作を詳細に区別
– コピー,修正,削除を区別する
• CMU -> Transarc -> IBM
CFS(Coda File System )
• AFS2を基本として、モバイル環境に特化した分
散ファイルシステム
– CMUのSatiyaの研究グループによる成果
• ネットワークから一時的にクライアントが切断され
ても利用可能
– 以前利用されたファイルなどをキャッシュとして保持し、
切断などでアクセスできない場合はキャッシュにアク
セスする
– 復旧時にはマージ処理を行う
Windowsでのファイル共有
• Windows独自のファイル共有
– 右クリックからフォルダの共有
– SMBプロトコル
• Windows以外とのファイル共有
– NFSクライアントを利用する
• NFSをWindowsで利用する (SFU)
• ユーザIDマッピングを行う必要がある
– ほとんどの場合NFSクライアントについている
– Sambaを利用する
• Windowsのファイル共有と同等の方法(SMB)でファイルを共
有するUNIX上の分散ファイルシステム
• Unix系で利用可能なSMBインプリメントである
Sambaが利用できる
Windowsファイル共有用プロトコル
• SMB
–
–
–
–
ファイルが共有可能
プリンタも共有可能
下位のプロトコルとしてNetBIOSを使う
MS-DOS時代のLAN Managerから利用されているプ
ロトコル
• CIFS
– SMBを拡張し、TCP/IPベースでNetBIOSを利用する
必要がない
– 現在のSambaやWindowsで利用されているプロトコル
Samba
• SMB/CIFSのUNIX系インプリメンテーション
• ほとんどすべてのUnix系OSでサポートされてい
る
– 公式サイト情報より
Sun Solaris,Sun OS, HP-UX, IBM AIX, IBM MVS,
SGI IRIX, NEC UX/4800,SCO UnixWare, Compaq
Tru64 UNIX, Linux, FreeBSD, NetBSD, MachTen
など他多数
• 認証にNIS、LDAPなどを利用することができる
Sambaの問題点
• セキュリティ的に脆弱
– 通信経路の暗号化がない
– 構造上、Windowsが提供しているのと同程度のセキュ
リティしか確保できない
– ユーザ名・パスワードなどの送信時に暗号化されない
ため、平文で流れてしまう。
WebDAV
(Web-based Distributed Authoring
and Versioning)
• Webアクセス(HTTP)を拡張して、閲覧だけではな
くファイル操作(書き込み、削除、変更)を可能に
したもの
• HTTP(80 port)のみ公開することで利用できるた
め、ファイアウォール等の設定が安易
• 通信経路の暗号化などは、既存のWeb技術を利
用することによって可能(SSL等)
• HTTPを利用するため、OSやサーバ実体に依存
しない
P2P(Peer to Peer)
• 最近(いろいろと)騒がれている分散ファイルサー
ビス
• 二つのノード間で直接ファイルをやり取りする
P2Pの形式比較
• 中央サーバが接続しているノードとその提供ファイル
のリストを管理する方式 (Napstar方式)
– 利用者管理が安易
– 不正ファイルなどを監視することが可能
– 中央サーバが停止すると全体が停止する
• 不特定多数のノードがバケツリレー方式で提供ファイ
ルリストのマージやファイル送信を行う方式
(Gnutella/FreeNetなど)
– どこかのノードが停止しても、システム全体が停止すること
はない(別ノード経由で利用することができる)
– 不正ファイルなどが提供されていても監視することが困難
– 利用者管理は困難
分散ファイルシステムまとめ
• 複数のホストで同一ファイルシステムを扱う
– NFS,AFS,CFSなど
• 異なるOSや実装上で統一的にファイルを扱う
– NFS,AFS,CFS,Samba,WebDAV,P2P
• 分散しているファイルを統一的に扱う
– P2P
• 将来的には一部が停止しても全体が停止しない
堅固な分散ファイルシステムが重要になる
DNS
DNS(Domain Name Service)
• 分散配置型データベース、ディレクトリサービスの一種
• 一組織(いわゆるドメイン)単位で自身が管理する
範囲の情報を持つサーバを設置・管理する
• 自身のわからない部分に関しては他のサーバに
問い合わせるということを繰り返して、目的の情
報にたどり着く
• 日本の大本はJPNIC
– JPNICでWhoisを実行すれば(WhoisCGIがある)、登
録されているドメイン⇔DNSサーバアドレスが検索で
きます
DNSの仕組み
DNSの動き
DNSレコード
• DNSが保持できる主要情報の種類
– SOAレコード(Start of Authority)
• ゾーンの情報(更新頻度、シリアル番号など)
– NSレコード
• 対象ドメインのDNSサーバ名を指定する
– PTRレコード
• IPアドレスに対するホスト名を指定する
– Aレコード(IPv6の場合AAAAレコード)
• ホスト名に対応するIPアドレスを指定する
– CNAMEレコード
• ホスト名の別名(エイリアス)を指定する
(できるだけ使わないほうがよい)
– MXレコード
• 対象ドメイン宛メールの受け取りサーバを指定する
DNSの問題点
• プロトコル自身にセキュリティ機構が存在しない
– DNS応答自身に信頼性がない
– 悪意ある第三者がDNSの返答を偽ることができる
– 返答を偽ることができた場合、正常な通信を別経路に
引き込むことができる
• システム的問題ではないが、非常に重要かつ被
害が広範囲に及ぶにもかかわらず、管理が軽視
されがち
– DNSレコード操作には細心の注意を払うべき
DynamicDNS
• 動的に登録してあるホスト名⇔IPアドレス
を変更することができる
• 無料サービスが多数存在している
– zive,ddo.jp など
• 家庭で(ダイアルアップ環境で)サーバを立
てるならば重要