開発運用

UbuntuとActive Directory統合

SSSD(System Security Services Daemon)は、Linuxシステムでネットワーク認証を提供するサービスです。特に、LinuxシステムをWindowsベースのActive Directory(AD)環境と統合する場合に使用されます。UbuntuにおけるSSSDとActive Directoryの統合は、企業のネットワーク環境で非常に役立ちます。これにより、ユーザー認証が一元管理され、セキュリティと効率性が向上します。本記事では、SSSDを使用してUbuntuにActive Directoryを統合する方法について、詳細に説明します。

1. 前提条件

Ubuntuを使用してSSSDをセットアップするためには、以下の前提条件が必要です。

  • Ubuntu 20.04 LTS以上のバージョン
  • Active Directoryドメインにアクセスできるネットワーク接続
  • 必要な管理者権限(sudo権限)
  • SSSDと必要なパッケージをインストールするためのインターネット接続

また、Active Directoryのサーバー情報(ドメイン名、DNS設定、管理者ユーザーなど)も事前に把握しておく必要があります。

2. 必要なパッケージのインストール

まず、Ubuntuシステムに必要なパッケージをインストールします。これには、SSSDをはじめ、Active Directoryとの接続に必要なツールが含まれます。以下のコマンドでインストールします。

bash
sudo apt update sudo apt install sssd realmd krb5-user samba-common-bin packagekit adcli
  • sssd:システム認証サービス
  • realmd:ADドメインとの統合を簡素化するツール
  • krb5-user:Kerberos認証をサポートするツール
  • samba-common-bin:Sambaツール群
  • adcli:Active Directoryドメインへの参加をサポートするコマンドラインツール

これで、必要なパッケージがインストールされます。

3. Active Directory ドメインへの参加

次に、UbuntuシステムをActive Directoryドメインに参加させます。realmdを使用すると、ドメイン参加が簡単に行えます。以下のコマンドを実行して、ドメインに参加します。

bash
sudo realm join --user=administrator example.com

このコマンドは、Active Directoryの管理者アカウント(ここではadministrator)を使用して、example.comというドメインに参加するためのものです。realmコマンドが成功すると、UbuntuシステムがADに統合されます。

4. SSSDの設定

SSSDの設定ファイルは/etc/sssd/sssd.confです。realmdが自動的に設定を行っている場合が多いですが、手動で設定を確認・修正することもできます。設定ファイルを編集して、SSSDがActive Directoryから認証を受け取るように構成します。

以下のコマンドで設定ファイルを編集します。

bash
sudo nano /etc/sssd/sssd.conf

設定ファイルの一部例を示します。

ini
[sssd] domains = example.com config_file_version = 2 services = nss, pam [domain/example.com] id_provider = ad access_provider = ad ad_domain = example.com krb5_realm = EXAMPLE.COM realmd_tags = manages-system joined-with-adcli cache_credentials = true

ここでは、example.comというドメインを指定し、AD認証のためにid_provideraccess_provideradに設定しています。また、Kerberosの設定(krb5_realm)も指定しています。

5. SSSDサービスの再起動

設定ファイルを保存した後、SSSDサービスを再起動して、変更を適用します。

bash
sudo systemctl restart sssd

再起動が完了したら、SSSDがADと通信を開始し、ユーザー認証が有効になります。

6. ユーザー認証の確認

UbuntuシステムがActive Directoryと正常に連携していることを確認するために、ADユーザーでログインできるかテストします。以下のコマンドでADユーザー情報が取得できるか確認します。

bash
getent passwd [email protected]

このコマンドが正常にADユーザー情報を返す場合、UbuntuがActive Directoryと連携していることが確認できます。

また、ADユーザーで実際にログインするためには、以下のようにsuコマンドを使用します。

bash

7. トラブルシューティング

ADとの統合に問題がある場合、SSSDのログを確認することが重要です。ログは/var/log/sssd/ディレクトリに保存されています。以下のコマンドでログを確認できます。

bash
sudo tail -f /var/log/sssd/sssd.log

ログファイルには、認証や接続の問題に関する詳細な情報が記録されますので、トラブルシューティングに役立てましょう。

8. SSSD設定の最適化

ADとの統合後、SSSDのパフォーマンスを最適化するために、キャッシュやアクセス制御の設定を変更することができます。例えば、cache_credentialstrueに設定することで、ネットワーク接続が切断されても、ローカルキャッシュを使用して認証を継続できます。

さらに、ADグループやユーザーのアクセス制御を細かく設定することも可能です。例えば、access_providersimpleに変更し、特定のユーザーやグループに対するアクセスを制限することができます。

9. 結論

SSSDを使用してUbuntuをActive Directoryに統合することで、Linux環境でWindowsドメインの認証を簡単に利用することができます。これにより、管理が一元化され、セキュリティが強化されます。Ubuntuシステムをドメインに参加させるためには、realmdを使用して簡単にドメイン参加を行い、その後、SSSDを設定して認証サービスを提供します。トラブルシューティングには、ログファイルを活用することで、問題を迅速に解決できます。

これらの手順に従うことで、UbuntuシステムとActive Directoryをスムーズに統合し、安全で効率的な認証環境を構築することができます。

Back to top button