Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
セキュリティ強化ガイド
  1. 前書き
  2. 1 セキュリティと機密保持
  3. I 認証
    1. 2 PAM を利用した認証
    2. 3 NIS の使用
    3. 4 YaST を利用した認証クライアントの設定
    4. 5 389 Directory Server を利用した LDAP サービス
    5. 6 Kerberos を利用したネットワーク認証
    6. 7 Active Directory サポート
    7. 8 FreeRADIUS サーバの構築
  4. II ローカルセキュリティ
    1. 9 物理的なセキュリティ
    2. 10 ソフトウエア管理
    3. 11 ファイルの管理
    4. 12 パーティションやファイルの暗号化
    5. 13 cryptctl を利用したアプリケーション向けのストレージ暗号化
    6. 14 ユーザ管理
    7. 15 cronat の制限
    8. 16 Spectre/Meltdown チェッカー
    9. 17 YaST を利用したセキュリティの設定
    10. 18 Polkit 認可フレームワーク
    11. 19 Linux でのアクセス制御リスト
    12. 20 AIDE を利用した侵入検知
  5. III ネットワークセキュリティ
    1. 21 X Window System と X 認証
    2. 22 OpenSSH によるネットワーク操作の機密保持
    3. 23 マスカレードとファイアウオール
    4. 24 VPN サーバの設定
    5. 25 X Window System で動作する PKI マネージャ XCA による管理
    6. 26 sysctl 変数によるネットワークセキュリティの改善
  6. IV AppArmor による権限の制限
    1. 27 AppArmor の紹介
    2. 28 入門
    3. 29 プログラムに対する予防接種
    4. 30 プロファイルのコンポーネントと文法
    5. 31 AppArmor のプロファイルリポジトリ
    6. 32 YaST を利用したプロファイルの構築と管理
    7. 33 コマンドラインからのプロファイル構築
    8. 34 チェンジハット機能による Web アプリケーションのプロファイル作成
    9. 35 pam_apparmor によるユーザの制限
    10. 36 プロファイルを作成したアプリケーションの管理
    11. 37 サポート
    12. 38 AppArmor 用語集
  7. V SELinux
    1. 39 SELinux の設定
  8. VI Linux 監査フレームワーク
    1. 40 Understanding Linux audit
    2. 41 Linux 監査フレームワークの設定
    3. 42 監査ルールセットの紹介
    4. 43 その他の情報源
  9. A GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.6

7 Active Directory サポート Edit source

Active Directory* (AD) は LDAP, Kerberos などのサービスを組み合わせたディレクトリサービスです。 Microsoft* Windows* で使用されているサービスで、リソースやサービス、ユーザの管理などを行っています。 Microsoft Windows ネットワーク内では、 Active Directory はこれらのオブジェクトに対する情報提供のほか、オブジェクトへのアクセス制限、ポリシーの強制などを行っています。 openSUSE® Leap では、 Active Directory ドメインへの参加のほか、 Linux マシンを Windows 環境に統合する機能を提供しています。

7.1 Linux と Active Directory 環境の統合 Edit source

Active Directory クライアントとして設定し、既存の Active Directory ドメインに参加した Linux マシンでは、単純に openSUSE Leap をクライアントとして設定した場合と比較して、下記のような利点が得られます:

SMB を利用した共有ファイルや共有ディレクトリの参照

GNOME Files (以前は Nautilus と呼ばれていたソフトウエア) を利用することで、 SMB 経由で共有されたリソースにアクセスすることができます。

SMB を利用したファイルやディレクトリの共有

GNOME Files では、 Windows に対してディレクトリやファイルを共有することができます。

Windows サーバ内のユーザデータのアクセスと変更

GNOME Files を利用することで、 Windows のユーザデータにアクセスすることができます。 Windows サーバ内にファイルやディレクトリを作成したり削除したり、編集したりすることができます。なお、データにアクセスするにあたってパスワードを再度入力する必要はありません。

オフライン認証について

ネットワークの接続が切れている (オフライン) の場合であっても、何らかの理由で Active Directory サーバに接続ができない状況であっても、ユーザは Linux マシンにログインしてローカルのデータにアクセスすることができるようになります。

Windows のパスワード変更

Linux 内で Active Directory サポートを設定することで、 Active Directory 内に保存されているパスワードポリシーを取り込むことができるようになります。ディスプレイマネージャやコンソールでも、パスワードを入力して変更することができるようになります。もちろん Linux の passwd コマンドを使用しても、 Windows のパスワードを設定することができます。

Kerberos 対応のアプリケーションでのシングルサインオン

多くのデスクトップアプリケーションが Kerberos に対応しています。つまり、 Web サーバやプロキシ、グループウエアアプリケーションなどで、わざわざパスワードを再入力することなく、認証を再利用できるようになります。

注記
注記: Windows Server * 2016 およびそれ以降における Unix 属性の管理について

Windows Server 2016 もしくはそれ以降のバージョンでは、 IDMU/NIS サーバ の役割と、 Active Directory ユーザとコンピュータ MMC スナップイン向けの Unix 属性 プラグインが削除されています。

しかしながら、 Unix 属性は Active Directory ユーザとコンピュータ MMC スナップイン内にある 高度なオプション を利用することで、手作業で管理することができます。詳しい情報については、 https://blogs.technet.microsoft.com/activedirectoryua/2016/02/09/identity-management-for-unix-idmu-is-deprecated-in-windows-server/ (英語) をお読みください。

それ以外にも、 手順7.1「ユーザのログイン管理 を利用した Active Directory ドメインへの参加」 に示されている手順を使用して、クライアント側で属性を設定することもできます (詳しくは ステップ 6.c などをお読みください) 。

下記の章では、これまでの章で説明してきた機能について、その背景となる情報を説明しています。 Active Directory を利用したファイルやプリンタの共有については、 GNOME ユーザガイド をお読みください。

7.2 Linux Active Directory サポートに対する背景情報 Edit source

Linux クライアントを既存の Windows Active Directory ドメインと統合させるには、多くのシステムコンポーネントは相互作用させて動作させる必要があります。下記の章では、 Active Directory サーバとクライアントとの間で使用される、主要な技術についての説明を示しています。

ディレクトリサービスとの間で通信を行うにあたって、クライアントとサーバとの間では下記 2 種類のプロトコルを使用します:

LDAP

LDAP はディレクトリ情報を管理するために最適化されているプロトコルです。 Active Directory 環境での Windows ドメインコントローラは、 LDAP プロトコルを利用してクライアントとの間でディレクトリ情報をやり取りします。 LDAP について、詳しくは 第5章 「389 Directory Server を利用した LDAP サービス をお読みください。

Kerberos

Kerberos はサードパーティ型の信頼性のある認証サービスです。いったん Kerberos による認証が成功すれば、どのクライアントでもその認証を信頼するように設計することができますので、これによって Kerberos によるシングルサインオン (SSO) を構築することができます。 Windows 側にも Kerberos の実装が用意されていますので、 Linux クライアントでも Kerberos SSO を使用することができます。 Linux における Kerberos について、詳しくは 第6章 「Kerberos を利用したネットワーク認証 をお読みください。

Kerberos 認証を設定するにあたって、どの YaST モジュールを使用するのかによって、アカウント情報や認証データを処理するコンポーネントが変わってきます:

SSSD をベースにしたソリューション
  • このソリューションでは、 sssd デーモンを中枢として使用します。このデーモンが Active Directory サーバとの通信を処理することになります。

  • 名前解決を行う場合は、 sssd_nss を使用します。

  • ユーザ認証の際には、 PAM 向けの pam_sss を使用します。また、 Active Directory ユーザがログインした際に Linux クライアント側でホームディレクトリを作成する処理については、 pam_mkhomedir が実施します。

    PAM に関する詳細については、 第2章 「PAM を利用した認証 をお読みください。

Winbind (Samba) をベースにしたソリューション
  • このソリューションでは、 winbindd デーモンを中枢として使用します。このデーモンが Active Directory サーバとの通信を処理することになります。

  • 名前解決を行う場合は、 nss_winbind を使用します。

  • ユーザ認証の際には、 PAM 向けの pam_winbind を使用します。また、 Active Directory ユーザがログインした際に Linux クライアント側でホームディレクトリを作成する処理については、 pam_mkhomedir が実施します。

    PAM に関する詳細については、 第2章 「PAM を利用した認証 をお読みください。

図7.1「Winbind ベースの Active Directory 認証のスキーマ」 には、 Winbind ベースの Active Directory 認証を使用する際の、主要なコンポーネントを示しています。

Winbind ベースの Active Directory 認証のスキーマ
図 7.1: Winbind ベースの Active Directory 認証のスキーマ

ログインルーチンや GNOME ディスプレイマネージャなど、 PAM に対応しているアプリケーションであれば、 PAM や NSS のレイヤと互いにやり取りを行うことができますので、 Windows サーバとの間でも認証を行うことができます。また、ファイルマネージャや Web ブラウザ、電子メールクライアントなど、 Kerberos 認証に対応したアプリケーションの場合は、 Kerberos のクレデンシャルキャッシュを使用することができますので、ユーザが持つ Kerberos チケットにアクセスすることができます。これにより、 SSO 環境を構成することができます。

7.2.1 ドメインへの参加 Edit source

ドメインへの参加の際、サーバとクライアントの間は緊密な連携を確立します。クライアント側では、 Windows ドメインコントローラが提供する既存の LDAP と Kerberos SSO 環境に対して、参加処理を行う必要があります。参加に必要な全ての処理は、 YaST のドメインメンバーシップモジュールが実施します。ドメインメンバーシップモジュールは、インストール時にもインストール後にも実行することができます:

  1. LDAP と KDC (鍵配送センター) の両方のサービスを提供するドメインコントローラの場所を設定します。

  2. クライアントを参加させるためのマシンアカウントを、ディレクトリサービス内に作成します。

  3. 最初のチケット発行許諾チケット (TGT) をクライアント向けに取得し、ローカルの Kerberos クレデンシャルキャッシュ内に保存します。クライアント側では、この TGT を利用することで、 LDAP の問い合わせを行うディレクトリサーバとの通信など、様々なサービスに対するチケットを取得します。

  4. NSS と PAM の設定が調整され、ドメインコントローラとの間でクライアントが認証できるように設定を行います。

クライアントの起動時、 winbind デーモンを開始して、マシンアカウントに対応する Kerberos の初期チケットを取得します。 winbindd は、有効なチケットを常に確保できるよう、必要に応じて自動更新の処理も行います。また、現在のアカウントポリシーを追跡する目的で、 winbindd はドメインコントローラに対して定期的に問い合わせを行います。

7.2.2 ドメインログインとユーザのホームディレクトリ Edit source

GNOME のログインマネージャ (GDM) は、 Active Directory のドメインログインに対応できるように拡張されています。マシンが直接参加しているドメインのユーザのほか、信頼関係を設定したドメインのユーザがログインすることができます。

ユーザの認証は 7.2項 「Linux Active Directory サポートに対する背景情報」 で説明しているとおり、いくつかの PAM モジュールを介して行われています。何らかのエラーが発生すると、 PAM が提供するエラーコードを読みやすい形式に変換したあと、対応する形式 (GDM, コンソール, SSH など) でエラーメッセージを表示します:

Password has expired (パスワードの期限が切れています)

パスワードの有効期限が切れているため、変更を行う必要があることを示しています。システム側では新しく設定するパスワードを尋ねるほか、新しいパスワードが企業内のパスワードポリシーに合致していない (短すぎる, 単純すぎる, 既に履歴内に存在するなど) 場合に、メッセージを表示する処理も行います。パスワードの変更が失敗した場合は、理由が表示されて再度パスワードの変更を求めます。

Account disabled (アカウントが無効化されています)

アカウントが無効化されているため、ログインできないことを示しています。この場合、システム管理者に連絡を取る必要があります。

Account locked out (アカウントがロックアウト (施錠) されています)

アカウントが施錠されているため、ログインできないことを示しています。この場合、システム管理者に連絡を取る必要があります。

Password has to be changed (パスワードを変更する必要があります)

ユーザはログインを行うことができるものの、パスワードを近い将来に変更しなければならないことを示しています。この警告メッセージは、パスワードの有効期限が切れる 3 日前から表示されます。パスワードの有効期限が切れると、ユーザはログインできなくなります。

Invalid workstation (不正なワークステーションです)

ユーザが特定のワークステーションからのログインに制限されていて、その中に openSUSE Leap のマシンが含まれていない場合、このメッセージが表示されます。このメッセージが表示された場合、ユーザはログインできなくなります。

Invalid logon hours (不正なログイン時刻です)

ユーザが特定の時間帯にのみログインできるように制限されていて、その時間外にログイン使用とした場合、このメッセージが表示されます。このメッセージが表示された場合、ユーザはログインできなくなります。

Account expired (アカウントの有効期限が切れています)

管理者は特定のユーザアカウントに対して有効期限を設定することができます。有効期限の超過後に該当のユーザがログインしようとした場合、このメッセージが表示されます。このメッセージが表示された場合、ユーザはログインできなくなります。

認証が成功した場合、クライアントは Active Directory の Kerberos サーバからチケット発行許諾チケット (TGT) を取得し、ユーザのクレデンシャルキャッシュ内に保存します。 TGT は裏で自動更新されますので、ユーザ側での更新操作は不要となります。

openSUSE Leap には、 Active Directory ユーザに対してローカルのホームディレクトリを提供する機能が用意されています。 7.3項 「Active Directory 向けの Linux クライアントの設定」 の手順に従って YaST で設定を行うと、 Linux クライアントで Windows/Active Directory のユーザが初めてログインした際に、ユーザのホームディレクトリは自動的に作成されます。作成されるホームディレクトリは通常のものと同じで、 Active Directory のドメインコントローラとは独立して提供される形になります。

Linux 側でローカルのホームディレクトリを使用していて、かつオフライン認証を設定していると、たとえ Active Directory サーバとの接続が切れた場合であっても、このマシン内にあるユーザデータにアクセスができるようになります。

7.2.3 オフラインサービスとポリシーサポート Edit source

企業環境では、ネットワークを切り替えたりネットワークを切断したりしても、通常通りにログインすることのできる ローミング 機能が求められます。ネットワークが接続されていないマシンに対してユーザがログインできるようにする目的で、 winbind デーモンに対して様々なキャッシュ機能が用意されています。 winbind デーモンはオフライン状態でもパスワードポリシーを守るように動作しますので、ログインの失敗回数を記録することができるなど、 Active Directory 内で設定されているポリシーに従って動作を行います。オフラインサポートは既定では無効化されていますので、 YaST のドメインメンバーシップモジュールで明示的に有効化しなければなりません。

ドメインコントローラと通信ができなくなった場合でも、ユーザは接続が確立していた際に正しい Kerberos チケットを取得しているため、 Windows クライアントと同様に、ドメインコントローラ以外のネットワークリソースにアクセスすることができます。ドメインコントローラへのアクセスができない場合は、パスワードの変更については行うことができません。また、特定の Active Directory サーバとの通信が切れている場合は、ユーザはそのサーバにあるデータにもアクセスできなくなります。特定のクライアントが完全にネットワークから切り離されてしまった場合でも、後からネットワークに接続し直すと、ユーザがデスクトップをロック (施錠) してアンロック (解錠) したタイミング (例: スクリーンセーバ) で、 openSUSE Leap は新しい Kerberos チケットを取得することができます。

7.3 Active Directory 向けの Linux クライアントの設定 Edit source

クライアントが Active Directory ドメインに参加できるようになるには、ネットワークの設定に対していくつかの調整を行って、クライアントとサーバの間でのやり取りを問題なく行うことができるようにする必要があります。

DNS

クライアント側では、 DNS のリクエストを Active Directory の DNS サーバに転送することのできる DNS サーバを設定する必要があります。もちろん Active Directory の DNS サーバ自身を DNS サーバとして設定してもかまいません。

NTP

Kerberos 認証を正しく動作させるには、クライアント側でも正しい時刻を保持していなければなりません。この目的を達成するため、中央の NTP タイムサーバを使用するよう設定しておくことを強くお勧めします (Active Directory ドメインコントローラ内で NTP サーバを動作させてもかまいません) 。 Linux ホストとドメインコントローラとの時刻が一定以上ずれていると、 Kerberos の認証は常に失敗するようになりますので、より弱い NTLM (NT LAN Manager) を利用してログインするようになってしまいます。 Active Directory を時刻同期に使用する方法について、詳しくは 手順7.2「Windows ドメインメンバーシップ を利用した Active Directory ドメインへの参加」 をお読みください。

ファイアウオール

ネットワーク内を探索できるようにするためには、ファイアウオールを完全に無効化するか、探索に使用するインターフェイスを内部ゾーンとして設定してください。

クライアント側でファイアウオールの設定を変更するには、 root でログインして YaST ファイアウオールモジュールを起動し、 インタフェース を選択します。表示された一覧からインターフェイスを選択して、 ゾーンの変更 を押します。あとは internal を選択して OK を押し、設定を反映させてください。

Active Directory アカウント

Active Directory の管理者がドメイン用の正しいアカウントを提供しない限り、 Active Directory ドメインに参加することはできません。 Linux クライアントから Active Directory ドメインのユーザ名とパスワードを入力してログインし、ドメインに参加してください。

7.3.1 Active Directory に接続する際に使用する YaST モジュールの選択 Edit source

YaST には Active Directory との接続を行うにあたって、複数のモジュールが提供されています:

  • ユーザのログイン管理:  識別情報提供サービス (通常は LDAP) とユーザ認証サービス (通常は Kerberos) の 両方を併用して設定を行います。この設定機能は SSSD をベースにした仕組みで、 Active Directory ドメインへの参加を行う場合には最適な選択肢となります。

    このモジュールについては 7.3.2項 「ユーザのログイン管理 を利用した Active Directory への参加」 で説明しています。

  • Windows ドメインメンバーシップ:  Kerberos と LDAP をそれぞれ利用して Active Directory ドメインへの参加を行います。 この設定機能は winbind をベースにした仕組みで、 NTLM での認証が必要な Active Directory ドメインに参加する必要がある場合や、フォレストを 跨いだ認証が必要な場合に最適な選択肢となります。

    このモジュールについては 7.3.3項 「Windows ドメインメンバーシップ を利用した Active Directory ドメインへの参加」 で説明しています。

7.3.2 ユーザのログイン管理 を利用した Active Directory への参加 Edit source

YaST の ユーザのログイン管理 モジュールでは、 Active Directory 認証に対応しています。これに加えて、下記の識別子データを提供するサービスと、認証を処理するサービスに対応しています:

識別子データを提供するサービス
  • サードパーティ製のソフトウエアライブラリに委任する: プロキシを介して古い NSS プロバイダに対応します。

  • FreeIPA: FreeIPA および Red Hat Enterprise Identity Management のプロバイダです。

  • 汎用ディレクトリサービス (LDAP): LDAP のプロバイダです。 LDAP に関する詳細は、 man 5 sssd-ldap をお読みください。

  • ローカルの SSSD ファイルデータベース: ローカルユーザ向けの SSSD 内部プロバイダです。

認証を処理するサービス
  • サードパーティ製のソフトウエアライブラリに委任する: プロキシサービスを介して、他の PAM ターゲットに認証を委任します。

  • FreeIPA: FreeIPA および Red Hat Enterprise Identity Management のプロバイダです。

  • 汎用 Kerberos サービス: LDAP プロバイダです。

  • 汎用ディレクトリサービス (LDAP): Kerberos 認証です。

  • ローカルの SSSD ファイルデータベース: ローカルユーザ向けの SSSD 内部プロバイダです。

  • ドメインは認証サービスを提供していません: 明示的に認証を無効化します。

SSSD と YaST の ユーザのログイン管理 モジュールを利用して Active Directory ドメインに参加するには、下記の手順を実施します:

手順 7.1: ユーザのログイン管理 を利用した Active Directory ドメインへの参加
  1. YaST を開きます。

  2. 後から DNS の自動検出機能を利用できるようにするため、 Active Directory のドメインコントローラ (Active Directory サーバ) をクライアント側のネームサーバとして設定します。

    1. YaST で ネットワークの設定 を押します。

    2. ホスト名/DNS を選択して、 ネームサーバ 1 のテキストボックス内に、 Active Directory ドメインコントローラの IP アドレスを入力します。

      OK を押して設定を保存します。

  3. YaST のメインウインドウに戻って、今度は ユーザのログイン管理 を押します。

    お使いのコンピュータに対するネットワーク設定の概要と、現在使用されている認証方式が表示されます。

    コンピュータ名と IP アドレス、そして認証関連の設定が表示されているウインドウです。
    図 7.2: ユーザのログイン管理 のメインウインドウ
  4. 編集を行うため、 設定の変更 を押します。

  5. ここからドメインに参加します。

    1. ドメインの追加 を押します。

    2. 表示されたダイアログで、まずは ドメイン名 に正しい値を入力します。その後、識別子データとユーザ認証でそれぞれ Microsoft Active Directory を選択します。

      このとき、 ドメインの有効化 を選択していることをご確認ください。

      OK を押します。

    3. 通常は、後続のダイアログの内容を変更する必要はありません。既定値のままでかまいません。ですが、場合によっては設定を変更する必要がある場合もあります:

      • ドメインコントローラ内で設定しているホスト名とローカルのホスト名が異なる場合: お使いのコンピュータのホスト名と Active Directory のドメインコントローラ内に登録されているホスト名が同じになっているかどうかを確認します。端末を開いて hostname コマンドを実行し、出力された内容が Active Directory のドメインコントローラ内にあるかどうかを確認してください。

        ホスト名が異なる場合は、 AD ホスト名 の欄に、 Active Directory 内に登録されているホスト名を入力してください。それ以外の場合は、左記のテキストボックスには何も記入しないでください。

      • DNS Auto-Discovery を使用したくない場合: AD サーバのホスト名 内に、使用したいサーバを指定します。複数のドメインコントローラが存在する場合は、カンマ区切りで指定してください。

    4. OK を押して続行します。

      この時点で必要なソフトウエアがインストールされていない場合は、ここで必要なソフトウエアをインストールします。その後 Active Directory のドメインコントローラが利用できるかどうかを確認します。

    5. 全ての設定が正しければ、後続のダイアログ内の Active Directory Server に検出されたサーバが表示されます。ただし、この時点では まだ登録されていません と表示されます。

      ダイアログ内にある ユーザ名パスワード の欄に、 Active Directory の管理者アカウント (通常は Administrator) の情報を入力します。

      現在のドメインが Samba 向けに有効化されていることを確認したい場合は、 この AD で動作するように Samba の設定を上書きする を選択します。

      登録を行うには OK を押します。

      ドメインへの登録
      図 7.3: ドメインへの登録
    6. 登録が正常に行われたことを表すメッセージが表示されるはずです。メッセージを確認したら、 OK を押します。

  6. 登録完了後は、 ドメインユーザのログオンの管理 ウインドウ内で、クライアント側の設定を行います。

    ユーザのログオンの管理 の設定ウインドウ
    図 7.4: ユーザのログオンの管理 の設定ウインドウ
    1. Active Directory 側に設定されているログイン情報を利用して、コンピュータにログインできるようにするには、 ドメインユーザのログオンを許可する を選択します。

    2. 必要であれば、 ドメインのデータソースを有効にする 以下にある項目を選択します。たとえば sudo コマンドを使用する許可を与えるユーザや、ネットワークドライブを利用させるかなどの設定を行うことができます。

    3. Active Directory のユーザに対してホームディレクトリを作成するには、 ホームディレクトリを作成する を選択します。ホームディレクトリのパスは、クライアントやサーバ、もしくはその両方など、様々な方法で設定することができます:

      • ドメインコントローラ側でホームディレクトリを設定したい場合は、それぞれのユーザに対して、 UnixHomeDirectory という属性を設定してください。これに加えて、この属性がグローバルカタログ内で複製されるように設定する必要があります。 Windows 側での設定方法について、詳しくは https://support.microsoft.com/kb/248717 をお読みください。

      • クライアント側に対して、ドメインコントローラで設定したホームディレクトリのパスを優先するように設定したい場合は、 fallback_homedir オプションを設定してください。

      • クライアント側に対して、ドメインコントローラで設定したホームディレクトリの設定を上書きしたい場合は、 override_homedir オプションを設定してください。

      ドメインコントローラ側の設定については、本文書内では説明していません。下記では、クライアント側の設定項目のみを説明しています。

      左側の枠内で サービスのオプション › 名前の切り替え を選び、 拡張オプション を押します。表示されたウインドウ内で、 fallback_homedir もしくは override_homedir のいずれかを選択して、 追加 を押します。

      値を指定します。ホームディレクトリは /home/ユーザ名 の形式で、たとえば /home/%u のように指定します。設定可能な値に関する情報は、 sssd.conf のマニュアルページ ( man 5 sssd.conf ) 内にある override_homedir の章をお読みください。

      OK を押します。

  7. OK を押して設定を保存します。あとは表示された値が正しいことを確認して、 OK を押して閉じます。

7.3.3 Windows ドメインメンバーシップ を利用した Active Directory ドメインへの参加 Edit source

winbind と YaST の Windows ドメインメンバーシップ を利用して Active Directory ドメインに参加したい場合は、下記の手順で行います:

手順 7.2: Windows ドメインメンバーシップ を利用した Active Directory ドメインへの参加
  1. root でログインし、 YaST を起動します。

  2. ネットワークサービス › Windows ドメインメンバーシップ を選択します。

  3. Windows ドメインメンバーシップ の画面 (図7.5「Windows ドメインメンバーシップの設定」 をご覧ください) が表示されたら、 ドメインまたはワークグループ 内に、参加するドメインを入力します。お使いのマシンでの DNS 設定が Windows 側の DNS サーバに設定されていれば、 mydomain.mycompany.com のような DNS ホスト名を入力することができます。ドメイン名を短い形式 (Windows 2000 以前のドメイン名) で入力した場合は、ドメインコントローラを検出する際に DNS ではなく NetBIOS の名前解決機構を使用するようになります。

    Windows ドメインメンバーシップの設定
    図 7.5: Windows ドメインメンバーシップの設定
  4. Linux 側での認証時に SMB を使用する場合は、 Linux の認証に SMB の情報を使用する を選択します。

  5. Linux マシン側で Active Directory のユーザのホームディレクトリを自動的に作成したい場合は、 ログイン時にホームディレクトリを作成 を選択します。

  6. Active Directory サーバとの通信が一時的に途切れるような場合や、ネットワークの接続を持たないような環境の場合は、 オフライン認証 を選択します。

  7. Samba ユーザやグループに対する UID や GID の範囲を変更したい場合は、 熟練者向け設定 を押します。なお、必要な場合にのみ、 DHCP で WINS サーバのアドレスを取得するように設定してください。これは、 WINS システムでのみ名前を解決することのできるマシンが存在する場合にのみ設定します。

  8. Active Directory 環境で NTP の時刻同期を設定するには、 NTP の設定 を押して、サーバ名もしくは IP アドレスを指定します。この手順は、通常の NTP 設定モジュールを呼び出すだけの仕組みであるため、ここまでで設定済みであれば特に何も行う必要はありません。

  9. OK を押してウインドウを閉じます。確認メッセージが表示されたら、確認に応答します。

  10. Active Directory サーバ内での Windows 管理者のパスワードを入力して OK を押します (図7.6「管理者での認証」 をご覧ください) 。

    管理者での認証
    図 7.6: 管理者での認証

Active Directory ドメインへの参加を行ったあとは、お使いのデスクトップのディスプレイマネージャやコンソールなどから、ログインができるようになります。

重要
重要: ドメイン名について

ドメイン名が .local で終わるドメインに対しては、ドメインへの参加が成功しないことがあります。 .local で終わるドメインは、マルチキャスト DNS (MDNS) でリンクローカルのホスト名として予約されている名前であるためです。

注記
注記: 管理者のみがコンピュータをドメインに参加させることができる件について

ドメインの管理者権限を持つアカウント (例: Administrator) のみが Active Directory に参加することができます。

7.3.4 Active Directory の接続状態の確認 Edit source

Active Directory ドメインに正しく参加できているかどうかを確認したい場合は、下記のコマンドを実行してください:

  • klist を実行すると、現在のユーザが正しい Kerberos チケットを保持しているかどうかを表示することができます。

  • getent passwd を実行すると、 LDAP データとして公開されている全てのユーザを一覧表示することができます。

7.4 Active Directory ドメインへのログイン Edit source

お使いのコンピュータで Active Directory に対する認証設定を完了し、かつ Windows 側のユーザアカウントをお持ちの場合は、 Active Directory の認証情報で Linux マシンにログインすることができるようになります。ログインは GNOME のほか、コンソールや SSH 、その他の PAM 対応アプリケーションで行うことができます。

重要
重要: オフライン認証について

openSUSE Leap ではオフライン認証にも対応しているため、オフラインの状態でもクライアントマシンにログインできるようになります。詳しくは 7.2.3項 「オフラインサービスとポリシーサポート」 をお読みください。

7.4.1 GDM Edit source

Active Directory サーバに対して GNOME のクライアントマシンから認証を行いたい場合は、下記の手順を実施します:

  1. アカウントが見つかりませんか? を押します。

  2. ユーザー名 の欄に、 Windows 側のドメイン名とユーザ名を ドメイン名\ユーザ名 の書式で指定します。

  3. Windows 側のパスワードを入力します。

ホームディレクトリを作成する設定がされていれば、 openSUSE Leap は初回のログイン時に、ローカルマシン内にホームディレクトリを作成します。これにより、 openSUSE Leap における機能を損なうことなく、 Active Directory へのサポートを利用できるようになります。

7.4.2 コンソールログイン Edit source

グラフィカルなフロントエンドだけでなく、 Active Directory のユーザはテキストベースのコンソールも、 SSH 経由でのログインも行うことができます。

コンソールで Active Directory のユーザを利用してログインするには、 login: のプロンプトで ドメイン名\ユーザ名 の形式でユーザ名を入力し、パスワードを入力します。

SSH を利用して Active Directory のユーザがログインする場合は、下記の手順で行います:

  1. 下記のように入力します:

    > ssh ドメイン名\\ユーザ名@ホスト名

    \ はエスケープ処理を行う必要があることから、 2 回入力していることに注意してください。

  2. あとはユーザのパスワードを入力します。

7.5 パスワードの変更 Edit source

openSUSE Leap では、企業内のセキュリティポリシーに適合する新しいパスワードを入力するよう、ユーザに求める機能が用意されています。対応する PAM モジュールがドメインコントローラ内の現在のパスワードポリシーを取得して、ログイン時にユーザアカウントに対して要求されているパスワード品質に関するメッセージを表示することができます。 Windows 側のモジュールと同様に、 openSUSE Leap でも下記の情報を含むメッセージを出力することができます:

  • パスワードの履歴設定

  • 最小パスワード長の要件

  • パスワードの変更禁止期間

  • パスワードの複雑さに関する要件

パスワードの変更処理は、全ての要件にきちんと適合していない限り、成功することはありません。パスワードの状態に関するフィードバックは、ディスプレイマネージャとコンソールの両方で提供されています。

GDM ではパスワードの有効期限に関する情報を表示することができるほか、対話的にパスワードを変更するように求めることもできます。ディスプレイマネージャ内でパスワードを変更する場合は、求められたとおりにパスワードを指定してください。

Windows のパスワードを変更したい場合は、サーバ内でパスワードを変更したりする必要はなく、標準的な Linux ユーティリティである passwd コマンドを使用することができます。

  1. コンソールにログインします。

  2. passwd と入力します。

  3. 必要に応じて現在のパスワードを入力します。

  4. 新しく設定するパスワードを入力します。

  5. 確認のため、新しく設定するパスワードを再入力します。新しく設定するパスワードが Windows サーバ内のポリシーに適合していない場合は、その旨を表すメッセージが表示され、異なるパスワードを使用するように求められます。

GNOME デスクトップで Windows のパスワードを変更したい場合は、下記のようにして行います:

  1. パネルの左上にある コンピュータ アイコンを押します。

  2. コントロールセンター を選択します。

  3. 詳細 内にある ユーザー › パスワード を押します。

  4. 現在のパスワードを入力します。

  5. 新しく設定するパスワードを 2 回入力します。

  6. 変更 を押して設定を適用し、ダイアログを閉じます。

7.6 Active Directory での証明書自動登録 Edit source

証明書の自動登録機能は、ネットワークに接続されている openSUSE Leap などのデバイスが Active Directory の証明書サービスに対して証明書を自動登録する機能を指します。この機能はユーザ側での操作無しに実施することができます。これは Active Directory のグループポリシーで管理されている機能で、 Samba では samba-gpupdate コマンドで提供されています。

7.6.1 サーバ側での証明書自動登録設定 Edit source

Windows サーバ側では、 証明機関, 証明書の登録ポリシー Web サービス, 証明書の登録 Web サービス, ネットワーク デバイス登録サービス という各名称の役割サービス 全てをインストールし、設定しておかなければなりません。

グループポリシーでの自動登録の設定は、下記に示す Microsoft 文書に説明があります: https://docs.microsoft.com/ja-jp/windows-server/networking/core-network-guide/cncg/server-certs/configure-server-certificate-autoenrollment#configure-server-certificate-auto-enrollment

7.6.2 クライアント側での証明書自動登録の有効化 Edit source

クライアント側で証明書自動登録を有効化するには、下記の手順を実施してください:

  1. まずは samba-gpupdate パッケージをインストールします。これにより certmonger , cepces , sscep の各パッケージを依存関係としてインストールするはずです。 Samba では sscep コマンドを利用して証明機関のルートチェインをダウンロードし、 certmongercepces を併用してホスト側の証明書テンプレートを監視します。

  2. 次に Active Directory ドメインに参加します (7.6.1項 「サーバ側での証明書自動登録設定」 で説明している、証明機関の設定されたドメインに参加します) 。

  3. Winbind で参加したマシンの場合は、 smb.conf のグローバルパラメータ内に apply group policies = yes という行を追記します。

  4. SSSD で参加したマシンの場合は、 https://github.com/openSUSE/oddjob-gpupdate から oddjob-gpupdate をインストールします。

  5. あとは証明書の自動登録が正しく設定されていることを確認します。具体的には、クライアント側で下記を実行します:

    > /usr/sbin/samba-gpupdate --rsop

    正しく設定できていれば、下記のような出力が現れるはずです:

    Resultant Set of Policy
    Computer Policy
    GPO: Default Domain Policy
    ==========================================================
    CSE: gp_cert_auto_enroll_ext
    -----------------------------------------------------------
    Policy Type: Auto Enrollment Policy
    -----------------------------------------------------------
    [ <CA NAME> ] =
    [ CA Certificate ] =
    ----BEGIN CERTIFICATE----
    <CERTIFICATE>
    ----END CERTIFICATE----
    [ Auto Enrollment Server ] = <DNS NAME>
  6. さらに下記のコマンドを実行して、インストール済みの証明書を表示します:

    > getcert list
     Number of certificates and requests being tracked: 1.
     Request ID 'Machine':
     status: MONITORING
     stuck: no
     key pair storage: type=FILE,location='/var/lib/samba/private/certs/Machine.key'
     certificate: type=FILE,location='/var/lib/samba/certs/Machine.crt'
     CA: <CA NAME>
     issuer: CN=<CA NAME>
     subject: CN=<HOSTNAME>
     expires: 2017-08-15 17:37:02 UTC
     dns: <hostname>
     key usage: digitalSignature,keyEncipherment
     eku: id-kp-clientAuth,id-kp-serverAuth
     certificate template/profile: Machine

証明書は /var/lib/samba/certs に、機密鍵は /var/lib/samba/private/certs にそれぞれインストールされます。

詳しくは man samba-gpupdate をお読みください。

このページを印刷