ネットワーク認証+ローミングホームディレクトリ-どのテクノロジーの使用を検討すべきですか?


9

ユーザーに複数のコンピューターで単一のIDを提供するソフトウェアを調べています。つまり、ユーザーは各コンピューターで同じアクセス許可を持っている必要があり、ユーザーは各コンピューターのすべてのファイル(ローミングホームディレクトリ)にアクセスできる必要があります。この一般的なアイデアには多くの解決策があるようですが、私は自分に最適なものを決定しようとしています。要件と一緒にいくつかの詳細があります:

  1. マシンのネットワークは、Ubuntuを実行するAmazon EC2インスタンスです。
    • SSHを使用してマシンにアクセスします。
    • このLAN上の一部のマシンでは用途が異なる場合がありますが、ここでは特定の用途(マルチテナンシープラットフォームを実行している)のマシンについてのみ説明します。
  2. システムは必ずしも一定数のマシンを備えているとは限りません。
    • 実行中のマシンの数を永続的または一時的に変更する必要がある場合があります。これが、認証/ストレージの集中管理を検討している理由です。
  3. この効果の実装は安全なものでなければなりません。
    • ユーザーがシェルに直接アクセスできるかどうかはわかりませんが、ユーザーのソフトウェアはシステムで(もちろん制限されたLinuxユーザー名の下で)実行される可能性があり、直接シェルアクセスと同じくらい優れています。
    • 彼らのソフトウェアがセキュリティのために潜在的に悪意のあるものであると仮定しましょう。

私の目標を達成するためにいくつかのテクノロジー/コンビネーションを聞いたことがありますが、それぞれの影響についてはよくわかりません。

  • 以前のServerFaultの投稿ではNFSとNISが推奨されていましたが、Symantecによるこの古い記事によると、この組み合わせにはセキュリティの問題があります。この記事はNIS +への移行を提案していますが、このWikipediaの記事は古くなっているため、SunによるNIS +からのトレンドを示唆する声明を引用しています。推奨される代替品は、私が聞いた別のことです...
  • LDAP。LDAPを使用して、ユーザー情報をネットワーク上の集中管理された場所に保存できるようです。「ローミングホームフォルダー」の要件をカバーするためにNFSを使用する必要がありますが、それらの参照が一緒に使用されているのがわかります。シマンテックの記事はNISとNFSの両方でセキュリティの問題を指摘しているので、NFSを置き換えるソフトウェアはありますか、それともロックダウンするためのその記事の提案に注意する必要がありますか?たちのアーキテクチャーのもう1つの基本的な部分であるRabbitMQにはLDAP用の認証/許可プラグインがあるため、私はLDAPを使用する傾向があります。RabbitMQはシステム上のユーザーに制限された方法でアクセスできるようになるので、できればセキュリティシステム同士を結びつけたいと思います。
  • Kerberosは、私が聞いたもう1つの安全な認証プロトコルです。私は数年前に暗号学のクラスでそれについて少し学びましたが、それについてあまり覚えていません。私は、いくつかの方法 LDAP と組み合わせることができるという提案をオンラインで見ました。これは必要ですか?KerberosなしのLDAPのセキュリティリスクは何ですか?カーネギーメロン大学が開発した別のソフトウェアでKerberosが使用されていることも覚えています...
  • Andrew File System、またはAFS。OpenAFSは使用可能ですが、セットアップは少し複雑に見えます。私の大学では、AFSが両方の要件を提供しています...どのマシンにもログインでき、「AFSフォルダー」はいつでも利用できます(少なくともAFSトークンを取得するとき)。

どのパスを調べるべきかについての提案に加えて、特に役立つガイドはありますか?太字のテキストが指摘しているように、LDAPが最良の選択のように見えますが、セキュリティに関して実装の詳細(Keberos?NFS?)に特に興味があります。

回答:


7

認証、承認、およびディレクトリ情報

これはあなたの質問に対する完全な回答ではありませんが、NIS対LDAP対Kerberosに関する質問に対処するのに役立つかもしれないと思いました。

このから始めると、認証承認の違いの概要がわかります。これは、この種の議論を理解するために重要です。

Kerberosは、あなたが言うように、単なる認証プロトコルです。資格情報のセット(ユーザー名とパスワードなど)が与えられると、それらが有効かどうかがわかります。これですべてです。

対照的に、NISとLDAPはどちらもディレクトリサービスです。これにより、クライアントはユーザーに関する情報を照会できます(ホームディレクトリとは何ですか?ユーザーIDとは何ですか?)。どちらも、さまざまな問題が発生する認証ソースとして使用できます。

NISが実際に認証を行うことはありません。むしろ、パスワードハッシュをクライアントマシンに公開し、ローカルシステムはローカルアカウントの場合と同じように実際の認証手順を実行します。ここでの問題は、NISクライアントの1つにアカウントを持っている人なら誰でもすべてのパスワードハッシュを取得して、余暇にブルートフォース攻撃を仕掛けることができることです。

LDAPは、認証ステップが実際にサーバーで実行されるため、多少安全です。SSLまたはTLSを使用してLDAPセッションを暗号化していることを確認する必要があります。そうしないと、パスワードがネットワーク上でクリアテキストで公開され、パケットスニッフィングに対して脆弱になります。

認証にKerberosを使用し、承認にNISまたはLDAPを使用するのが一般的です(通常、これは「グループメンバーシップ」を意味します)およびディレクトリ情報。(認証をKerberosに移行することによって)パスワードハッシュを削除すると、NISはLDAPよりも安全性が低く、最新のLinuxディストリビューションですぐに使用できるという利点があると私は主張します。

一方、LDAPは一般にはるかに拡張性が高く、多数のユーザー(または他のディレクトリオブジェクト)がある場合に拡張性が高く、豊富なクエリを提供し、一般に管理が容易です。LDAPもさまざまなアプリケーションでネイティブにサポートされていますが、NISはコアオペレーティングシステムとの奇妙な近親相姦関係にあり、望ましくない場合があります。

ゼロから構築する場合は、認証にはKerberos、ディレクトリサービスにはLDAPをお勧めします。

ファイルシステム

NFSには大きな利点があります。NFSはすでに持っており、広く展開されており、一般的に安定しています。NFSには主に2つの欠点があります。

  • 並列I / Oには適切にスケーリングされません。同じファイルシステムにアクセスするマシンの数が多い場合、単一のNFSサーバーが追いつくのに苦労するかもしれません。これが、より大きなクラスターが通常、並列I / Oをサポートするように設計されたクラスターファイルシステム(Lustre、GlusterFS、GPFS、GFSなど)を使用する理由です。

  • セキュリティモデルが悪い。一般に、NFSセキュリティーの決定は、完全に数値のユーザーIDに基づいています。NFSファイルシステムをマウントできるシステムにrootがある場合は、すべてのファイルにアクセスできます。適切なユーザーIDでローカルユーザーをいつでも作成できるためです。NFSv3とNFSv4はどちらもKerberos認証をサポートするさまざまなレベルがあるため、これは厳密には当てはまりませんが、これを使用している人にはまだ対応していません。

小規模な導入の場合、ほとんどの人は制限にもかかわらずNFSを使用します。

他にもさまざまな解決策があります-上で述べたクラスターファイルシステムやAFSなどですが、これらのほとんどは、選択したディストリビューションで実行するために、ある程度の作業が必要になります。私は最近GlusterFSについて良いことを聞いたので、私が探している最初の場所である可能性があるNFSの代替を探していた場合。


それらを片付けてくれてありがとう。私は実際には、承認と認証の両方に優れた基盤があります。各ソフトウェアの機能がわからないだけです。保管部分も重要です。Kerberos / LDAPのセキュリティモデルがNFSにどのように結びついているか知っていますか?
ブライアン

NFSに関するいくつかの情報で回答を更新しました。
larsk、2011

この場合、1つのNFSサーバーで十分である可能性はありますが、後で追加できるので、単一のNFSサーバーに限定する理由はありません。help.ubuntu.com/community/AutofsLDAP
84104 '10

そのAutofsLDAPガイドと他のガイドを試してみました。私の結果は異なり、私は特定のポイントを超えて進むことができないため、書き方が不十分であるか、古くなっています。:(
ブライアン

適切な詳細を含む新しい質問を開くことができます。
larsk、2009

0

これは部分的な答えです。

NIS / NIS + NISを
使用しないでください。nisスキーマでLDAPを使用します。

OpenLDAP(Ubuntuでは別名slapd)
適切なACLとSSF(セキュリティ強度係数)を設定してください。
注意しないと、パスワードを平文で送信するのが非常に簡単です。
http://www.openldap.org/doc/

NFS
NFSは暗号化されていません。
いくつかのトリックでsslでラップできます。
Kerberosがなければ、authはip_addrに依存します。
Kerberosでは、SASLを使用してすべてを暗号化することが可能です。

Kerberosでは
、LDAP認証にSASLパススルー認証を使用するためにOpenLDAPが必要です。(難しくありません。)
DNSエントリを使用する必要があります。(必須ではありませんが、非常に便利です)。
ssh-keysの代わりにGSSAPIを使用できます。(共存できます。)
KDCマシンは、クライアントマシンから分離する必要があります。


DESで暗号化されたOpenAFS。(安全とは見なされません。)
Kerberosまたはそれ自体のレガシー認証サーバーが必要です。
独自のファイルシステムACLがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.