Active DirectoryドメインのLinux

管理者は、LinuxサーバーとワークステーションをActive Directoryドメイン環境に統合するという課題に直面することがあります。 通常必要:

1.ドメインユーザーにLinuxサーバー上のサービスへのアクセスを提供します。

2.ドメイン資格情報の下でLinux上で管理者サーバーを起動します。

3.ドメインユーザーのLinuxワークステーションログインを設定します。SSOのすべての魅力を同時に味わうことをお勧めします(たとえば、長いパスワードを頻繁に入力するのは嫌です)。



通常、システムにLinuxを提供するには、Active Directoryドメインのユーザーとグループがwinbindを使用するか、nssライブラリを構成して、LDAPプロトコルを使用してActive Directoryドメインコントローラーと連携するようにします。 しかし、今日は別の方法を使用します。PowerBrokerIdentity Servicesを使用します (この製品は、同様に知られています)。





設置


製品には、EnterpriseとOpenの2つのバージョンがあります。 私のタスクを実装するには、Openバージョンで十分だったので、以下に書かれていることはすべて関連しています。

メーカーのウェブサイトでOpenバージョンを入手できますが、名前、会社名、メールと引き換えにリンクが提供されます。

rpmおよびdeb形式の32および64パッケージがあります。 (OS X、AIX、FreeBSD、SOlaris、HP-UXのパッケージと同様に)

ソース(オープンエディション)はgitリポジトリで入手できます:git://source.pbis.beyondtrust.com/pbis.git

Debian Wheezy amd64にPBISをインストールしました:

wget http://download.beyondtrust.com/PBISO/7.1.0/1203/pbis-open-7.1.0.1203.linux.x86_64.deb.sh ./pbis-open-7.1.0.1203.linux.x86_64.deb.sh
      
      







パッケージの内容は、/ opt / pbisにインストールされます。 また、新しいrunscript lwsmdがシステムに表示され、実際にPBISエージェントが起動されます。

PAMモジュールpap_lsass.soがシステムに追加されます。

PBISの機能に必要なユーティリティ(主にコンソール)は、管理者の作業を楽にするだけでなく、/ opt / pbis / binにあります。



ドメインを入力します。


ドメインを入力する前に、アクセスコントローラーとドメイン名がipに正しく展開されていることを確認してください。 (それ以外の場合、resolv.confを構成します)

ドメインを入力するための2つのコマンド、/ opt / pbis / bin / domainjoin-cliおよび/ opt / pbis / bin / domainjoin-guiが提供されています。 そのうちの1つはコマンドラインで機能し、2つ目はlibgtkを使用してグラフィカルインターフェイスを表示します。

ドメインを入力するには、PCをドメインに入力する権限を持つドメインユーザーのドメイン名、ユーザー名、およびパスワード、ドメインにコンピューターオブジェクトを配置するためのコンテナーを指定する必要があります-PC Windowsドメインを入力するときと同じです。



ドメインを入力した後、再起動が必要です。

注意-PBISはActive Directoryサイトで動作します。 PBISクライアントは、それが配置されているサイトのコントローラーで動作します!



再起動後。


再起動後、idとgetentの両方がドメインのユーザーとグループを提供します(国別文字は正しく処理されます。スペースは文字「^」に置き換えられます)。

ドメインDNSゾーンに、PCの名前を含むエントリが表示されます。

急いでドメインユーザーとしてログインしないでください。 最初は、PBISを構成することは理にかなっています(ただし、必須ではありません)。

 /opt/pbis/bin/config --list
      
      





使用可能なオプションがリストされます。
  [イベントログ]
         AllowDeleteTo
         AllowReadTo
         AllowWriteTo
         MaxDiskUsage
         MaxEventLifespan
         MaxNumEvents
 [Lsass]
         Domainsepator
        スペース交換
         EnableEventlog
         LogInvalidPasswords
        プロバイダー
 [LSass-PAM]
         Displaymotd
         PAMLogLevel
         UserNotAllowedError
 [LSass-Active Directoryプロバイダー]
         AssumeDefaultDomain
         CreateHomeDir
         CreateK5Login
         SyncSystemTime
         TrimUserMembership
         LdapSignAndSeal
         LogADNetworkConnectionEvents
         NssEnumerationEnabled
         NssGroupMembersQueryCacheOnly
         NssUserMembershipQueryCacheOnly
         RefreshUserCredentials
         CacheEntryExpiry
         DomainManagerCheckDomainOnlineInterval
         DomainManagerUnknownDomainCacheTimeout
         MachinePasswordLifespan
         MemoryCacheSizeCap
         HomeDirPrefix
         HomeDirTemplate
         RemoteHomeDirTemplate
        ホームジルマスク
         LoginShellTemplate
        スケルトンディル
         UserDomainPrefix
         DomainManagerIgnoreAllTrusts
         DomainManagerIncludeTrustsList
         DomainManagerExcludeTrustsList
         RequireMembershipOf
         SmartcardEnabled
         SmartcardRequiredForLogin
 [LSass-ローカルプロバイダー]
         Local_AcceptNTLMv1
         Local_HomeDirTemplate
         Local_HomeDirUmask
         Local_LoginShellTemplate
         Local_SkeletonDirs
 [ユーザーモニター]
         UserMonitorCheckInterval
 [システムの初期化]
         Lsassautostart
         EventlogAutostart
         gpagentautostart 




エンタープライズバージョンの違いの1つは、GPOを介してこれらの設定を管理できることです。

HomeDirPrefix、HomeDirTemplateに注意する価値があります。

また、「RequireMembershipOf」をすぐに設定します。このリストのユーザー、グループメンバー、またはSIDのみがコンピューターにログインできます。

各パラメーターの説明は、たとえば次のように取得できます。

 /opt/pbis/bin/config --detail RequireMembershipOf
      
      





パラメータ値は、たとえば次のように設定されます。

 /opt/pbis/bin/config RequireMembershipOf "^Linux"
      
      







注意-PBISは、SFU属性またはAcrive Directoryの他の属性を使用して、ユーザーloginShell、およびそのuidとgidを取得しません。

ドメインユーザーのloginShellはPBIS設定で設定されます。また、ユーザーごとに異なるloginShellを設定できるのは、エンタープライズバージョンのみです。

uidは、ユーザーのSIDのハッシュとして形成されます。

gid-ユーザーのprimaryGroup SIDのハッシュとして。

したがって、2台のPCでは、ユーザーは常に同じuidとgidを取得します。



これで、ドメインユーザーとしてログインできます。 ドメインユーザーを入力した後、klistの出力に注意してください。PBISはユーザーに必要なkerberosチケットを受け取ります。 その後、Windows PC上のリソースにシームレスにアクセスできます(主なことは、使用するソフトウェアがGSSAPIをサポートしていることです)。 例:追加のパスワードリクエストはありません(パスワードはどこにも保存されていません!)Dolphinでドメインsmbリソースを開きます。 また、Firefox(network.negotiate-auth.trusted-urisのセットアップ時)では、ドメイン認証でWebポータルにアクセスするときにSSOを使用できます(当然、SSOがサーバーで構成されている場合)



しかし、Linux PC上のリソースにアクセスする場合のSSOはどうでしょうか?


そうです! PBISは/etc/krb5.keytabにデータを取り込み、最新の状態に保ちます。 したがって、GSSAPIをサポートするサーバーソフトウェアをSSO用に構成できます。

たとえば、sshを介してサーバーにアクセスするには、構成ファイル/ etc / ssh / sshd_config(システム上のパスは異なる場合があります)

 GSSAPIAuthentication yes
      
      



接続時に、コンピューターのドメイン名を指定します(SPNに存在します-それ以外の場合、Kerberosチケットは発行できません)

UsePAMはい



(PBISはPAMのモジュールを提供します)

また、「AllowGroups」ディレクティブを追加して、sshサーバーへのアクセスを許可するユーザーにスペースを使用してドメイングループを指定することも論理的です。



LinuxクライアントPCの場合、sshクライアント構成は次のものを含めるのに十分です。

 GSSAPIAuthentication yes
      
      





当然、KerberosはLinuxクライアントコンピューターで構成する必要があります。 この条件を満たす最も簡単な方法は、クライアントコンピューターをドメインに入力し、ドメインユーザーに代わって作業することです。



WindowsクライアントPC(ドメインメンバー)でPuttyを使用する場合、接続のSSHプロパティで、フラグ「Attempt GSSAPI authentification(SSH-2のみ)」を設定します(この項目はバージョンによって異なります)。



また、[接続]-> [データ]セクションで、スイッチを[システムユーザー名を使用]の位置に配置できます。



この方法で管理者のLinuxサーバーへのsshアクセスを整理する場合は、sshでのrootログインを禁止し、Linux管理者(およびドメイングループ)をsudoersファイルに追加することをお勧めします。



PBISを使用するシナリオはこれらだけではありません。 記事があなたにとって興味深いと思われる場合-次の記事では、winbindを使用せずにドメインユーザー用にドメイン内でsambaファイルサーバーを編成する方法を説明します。



このトピックの詳細については、PowerBroker Identity Servicesコミュニティフォーラム( forum.beyondtrust.com)をご覧ください。



UPD PowerBroker Identity Servicesの利点は次のとおりです。

  1. 優れた再現性(この記事の手順とwinbindのセットアップ手順を比較してください)
  2. ディレクトリからのデータのキャッシュ(ドメインユーザーが資格情報がキャッシュにある場合、ドメインが利用できない場合、ドメインユーザーはPCにログオンできます)
  3. PBISでは、ADディレクトリに追加のユーザー属性を形成する必要はありません。
  4. PBISはADサイトを理解し、そのサイトコントローラーと連携します。
  5. セキュリティの強化(sambaは有効期限のないパスワードでコンピューターアカウントを作成します)
  6. 有料版(このようなニーズが発生した場合)では、PBISエージェントはGPOで管理されます(ただし、購入するつもりがない場合は削除できます)




UPD 2フィードバックは、ユーザーsdemon72から送信されました 。 たぶん誰かが役に立つでしょう。

こんにちは 私はあなたのレシピを新鮮なlinuxmint-18-mate-64bitで試しましたが、すべてがいくつかの警告でうまくいきました:

1.サイトからプログラムを入手するのに苦労しました(実際の電話番号を書きたくありませんでしたが、偽の番号を送信しませんでした-それについて疑いのある手紙を受け取りました)。 html

2.プログラムを起動すると、エラーが発生します。エラーを回避するには、起動する前に次のことを行う必要があります。

2.1。 sshをインストールします。

sudo apt-get install ssh

2.2。 /etc/nsswitch.confを修正します。

ホスト:ファイルdns mdns4_minimal [NOTFOUND = return]

(つまり、dnsを行の終わりから2番目の位置に転送します)

2.3。 /etc/NetworkManager/NetworkManager.confを修正します。

#dns = dnsmasq

(つまり、この行にコメント)

2.4。 network-managerを再起動します。

sudo service network-manager restart



その後、すべてがバタンとうまくいきました! 記事にこれらの追加を行っていただければ幸いです。 件名の検索では、最初の行に分類されます。 コメントを残すことはできません(サイトを禁止しています)。



興味がある場合-私の研究のストーリーはこちら: linuxforum.ru/topic/40209



よろしく、ドミトリー




UPD 3:無料版のPBISを大企業に適用できない理由

無料版では、ドメインユーザーのSIDに対して1つのUNIX iD(uidおよびgid)生成アルゴリズムのみが機能します。 したがって、一意性は提供されません

これらの識別子。 非常に古いドメインまたは多数のユーザーがいる場合、OpenPBISを使用するシステムで2人以上のユーザーが同じ識別子を取得するリスクが非常に高くなります 。 有料版では、ID生成アルゴリズムを選択できますが、Quest Softwareの同様の製品よりも大幅にコストがかかります;(。



All Articles