Red Hat Enterprise Linuxの認証基盤 Identity Management

Red Hat K.K. Solution Architect Kazuo Moriwaka 2016-12-21

Copyright Red Hat K.K. All rights reserved. このスライドの位置づけ

● 前提 – RHELに同梱のIdentity Managementが 割とよいのにあまり使われていなさそう……

● 対象 – 「RHEL同梱の認証基盤って聞いたことないけ どなにができるの?」という人

● 目的 – 「RHEL IdMでだいたいこんなことができそ う」というイメージを持ってもらう – 利用手順などは扱いません

2 Copyright Red Hat K.K. All rights reserved. Agenda

● 「Identity Management」で扱うもの

● Identity Managementの目標

● 主なコンポーネント

● Identity Managementの概要 – Kerberosによる企業内ユーザへのSSO提供 – Active Directoryとの連携 – Host based Access Control – ユーザとホストのSSH鍵管理 – sudo, SELinux ユーザマッピング、automountの集中管理 – ユーザ、ホスト、デバイス、サービスの証明書管理 – 二要素認証 – SAMLによるシングルサインオン

3 Copyright Red Hat K.K. All rights reserved. 「Identity Management」って何?

● Red Hat Enterprise Linuxに同梱されるアイデンティティ管理基盤 – LDAPによるアイデンティティ情報管理 – 認証 ● パスワード認証、スマートカード認証 ● ワンタイムパスワード対応 ● Active Directoryとのクロスレルム認証 – 証明書発行 – PAM/NSSとの統合 – Apacheモジュールによるwebアプリケーションとの統合 – /UNIX環境用の機能 ● sudoer, automount, ssh鍵管理

……などをシンプルな操作で実現します

4 Copyright Red Hat K.K. All rights reserved. 「Identity Management」で扱うもの (1/2)

● アイデンティティ – ユーザ情報がどこにあるか? – どのような属性をもっているか? – システムやアプリケーションからこれらのデータへどのよ うにアクセスするか?

● 認証 – ユーザーは認証にどのようなクレデンシャルを利用する か? ● パスワード? スマートカード? 特殊なデバイス? – シングルサインオンはあるか? ● どうやって同じユーザがファイルサーバとwebアプリ ケーションに認証しなおしせずにアクセスするか?

5 Copyright Red Hat K.K. All rights reserved. 「Identity Management」で扱うもの (2/2)

● アクセスコントロール/認可 – どのユーザがどのシステム・サービス・ アプリケーションにアクセスできるか? – sudoでどのコマンドを実行できるか? – ユーザはどのSELinuxのコンテキストに対応する か?

● ポリシー – パスワードの強度は? – automountのルールは? – Kerberos ticketのポリシーは?

6 Copyright Red Hat K.K. All rights reserved. Identity Managementの目標(1/2)

● アイデンティティ管理基盤をシンプルに提供す る

● PCI DSS, USGCB, STIGなどの基準に合致する 基盤を提供する

● 認可されないアクセスや認可されていない権限 昇格のリスクを減らす

● ダイナミックでスケーラブルな基盤を提供する – 最大60ノードのマルチマスタまでサポート

● 新しいシステムのデプロイメントを自動化する

7 Copyright Red Hat K.K. All rights reserved. Identity Managementの目標(2/2)

● 日々の運用コストを削減する

● 基盤にかかるコストを削減する

● 企業の混在環境全体にわたるシングルサインオ ンを提供してユーザ体験を向上する

● アイデンティティ管理基盤とアプリケーション の緊密な統合を可能にする

● アイデンティティ情報とユーザ・サービス・シ ステム・デバイスの認証情報を管理する

8 Copyright Red Hat K.K. All rights reserved. Identity Managementの主なコンポーネン ト

● Identity Management (FreeIPA/IdM) – 以下を統合 ● MIT Kerberos ● 389 Directory Server ● Dogtag Certificate System ● BIND

● SSSD

● Certmonger

● Keycloak IdP (Red Hat SSO)

● Apacheモジュール

9 Copyright Red Hat K.K. All rights reserved. FreeIPA/IdM

● Linux/UNIX環境用のドメインコントローラ – 「Linuxドメイン」を作成・管理

● OSSプロジェクトFreeIPAがベース

● LDAP, Kerberos, DNS, 証明書管理を統合

● Linux/UNIX環境むけの認証、認可、アイデンティ ティ情報の集中管理

● ポリシーと権限昇格(sudo)の管理

● Active DirectoryサーバとIdMサーバでの連携

● Web UI, CLI, APIによる管理

10 Copyright Red Hat K.K. All rights reserved. FreeIPA/IdM

Linux

UNIX KDC PKI

CLI/UI

LDAP DNS

Admin

1111 Copyright Red Hat K.K. All rights reserved. SSSD (System Security Services Daemon)

● クライアント側のコンポーネント

● Red Hat Enterprise Linuxや他のLinuxディストリ ビューションに同梱

● アイデンティディソースおよび認証ソースとの接続を 管理

● アイデンティティとポリシー情報のキャッシュ

● 複数のアイデンティティソースを同時に利用可能

12 Copyright Red Hat K.K. All rights reserved. SSSD 概要図

SSSD

アイデンティティ Client プログラム レスポンダPAM アイデン ソース ティディ プロバイダ

プログラムClient ドメイン Cache プロバイダ 認証 プロバイダ NSS プログラムClient レスポンダ 認証ソース

1313 Copyright Red Hat K.K. All rights reserved. Certmonger

● クライアント側のコンポーネント

● 認証局サーバに接続して証明書をリクエストする

● 証明書を追跡して自動更新する

1414 Copyright Red Hat K.K. All rights reserved. Keycloak IdP (Red Hat SSO)

● アイデンティティプロバイダの実装

● 異なるWebアプリケーション間で SAML, OpenID Connect, OAuthベースのシングルサインオンと IDフェデレーションを提供 ※Keycloak IdPはRHELではなくJBoss EAPに同梱

15 Copyright Red Hat K.K. All rights reserved. Apacheモジュール

● Apache httpdで利用されるモジュール

● フォームベース認証、Kerberos認証、証明書ベース 認証、SAML認証をサポートするモジュールを提供 – OpenID Connect認証については作業中

● 認可およびアイデンティティ情報の参照も対応するモ ジュールにより可能

1616 Copyright Red Hat K.K. All rights reserved. アーキテクチャの例

Active Trust IdM Directory

Linux System keycloak IdP ブラウザ アプリケーション

モジュール

管理者 Cert SSSD monge r

1717 Copyright Red Hat K.K. All rights reserved. Identity Managementの概要

18 Copyright Red Hat K.K. All rights reserved. Identity Managementの概要

● Kerberosによる企業内ユーザへのSSO提供

● Active Directoryとの連携 – SSSDによる直接的な連携 – IdMを利用する間接的な連携

● Host based Access Control

● ユーザとホストのSSH鍵管理

● sudo, SELinux ユーザマッピング、automountの集中管理

● ユーザ、ホスト、デバイス、サービスの証明書管理

● 二要素認証

● SAMLによるシングルサインオン

19 Copyright Red Hat K.K. All rights reserved. 認証

ステップ: IdM ● ユーザアカウントを統合 ● ユーザデータをIdMへロード

● Linux/UNIXシステムをIdMへ接続 – ipa-client-install

なぜIdMか?

● 複数の認証方式をサポート: – LDAP, Kerberos, OTP, 証明書

● 統合されたソリューション Linux Linux Linux – インストールと管理が容易

● Active Directoryとの統合

● Linuxホストのセキュリティ管理を強 化

20 Copyright Red Hat K.K. All rights reserved. Kerberosによるシングルサインオン

サービス チケット (ST) サービス 4 (Principal) リソース

3 サービス ユーザ Client チケット (ST) (Principal) TGT 2 0

1

KDC (IdM)

21 Copyright Red Hat K.K. All rights reserved. Kerberosによる認証のフロー

● あらかじめサービスの鍵を作成してkeytabへ登録(0)

● Kerberosに接続されたシステムにユーザがログイン(1) – Kerberos KDC, , IdMのいずれも可 – ユーザはこのとき ticket granting ticket (TGT) を取得

● ユーザ(例: NFSクライアント)がリソースにアクセス

● KerberosライブラリがサービスチケットをKDCに要求(2 - 3)

● サービスチケットをサービス(例: NFSサーバ)へ提示 (4)

● サーバはkeytabに格納された鍵でチケットを復号 ※鍵はインストール・設定時に配布され、必要に応じて更新さ れる

22 Copyright Red Hat K.K. All rights reserved. Active Directoryとの連携 Active Directory Active Directory IdM

Windows Linux Windows Linux UNIX 直接的な統合 間接的な統合 は Active Directory Windows Active Directory Linux/UNIXはIdMで認証 でLinux/UNIXの認 証 23 Copyright Red Hat K.K. All rights reserved. 直接的な統合

Active Directory ● Active Directoryドメイ ンにLinux/UNIXを参加 させる

● Linux/UNIXの台数が少 ない場合には簡便な方法

ドキュメント: Windows Linux UNIX – http://red.ht/2h4QGL6

24 Copyright Red Hat K.K. All rights reserved. 直接的な統合のオプション

● サードパーティ製品を利用する

● 以前からある方法 – pam_krb5/pam_ldap, nss_ldap, nslcd – winbind

● 新しい方法 – SSSD (with realmd)

2525 Copyright Red Hat K.K. All rights reserved. SSSD による直接的な統合

は と に拡張可 AD sudo automount HBACにGPOを利用可能 能 その他のポリシーは別の SFU/IMUによりAD SIDをPOSIX属 設定管理システムで管理 Active Directory 性にマッピング可 ADドメインヘrealmdで参加できる

LDAP DNS KDC Linux System

SSSD Policies

認証 sudo

アイデンティディ HBAC

automount 名前解決 selinux 認証はLDAPでもKerberosでも可 ssh keys

26 Copyright Red Hat K.K. All rights reserved. 間接的な統合

Active ● Active DIrectoryと Directory Identity Managerを連 携

IdM ● IdMのLinuxドメインに Linux/UNIXを参加させ る

ドキュメント: ● http://red.ht/2hOdrSg

Windows Linux UNIX

2727 Copyright Red Hat K.K. All rights reserved. 間接的な統合のオプション

● 信頼ベースのソリューション – ADとIdM間でクロスレルムKerberos信頼を設定 ● ADのユーザがLinuxシステムおよびリソースにアク セス可能 – IdMに独自のDNSドメインが必要

● 同期ベースのソリューション – LDAPでユーザアカウントをADからIdMへ同期 – パスワード同期のためADに追加コンポーネントが必要 – 全ユーザはIdM利用時にパスワードを一度手動で変更す る必要あり – 1ドメイン、ユーザのみ(グループは不可)サポート

28 Copyright Red Hat K.K. All rights reserved. 信頼ベースのIdM - AD統合

Active IdM Directory

PKI DNS LDAP KDC KDC LDAP DNS PKI

Linux System SSSD Policies 認証 sudo

アイデンティディ HBAC

automount 名前解決 selinux 証明書 ssh keys

29 Copyright Red Hat K.K. All rights reserved. 信頼関係によるシングルサインオン(1/2)

Active クロスレルム信頼 IdM Directory

認証

host/linux@IdM への アクセス

admin@AD linux@IdM

30 Copyright Red Hat K.K. All rights reserved. 信頼関係によるシングルサインオン(2/2)

Active クロスレルム信頼 IdM Directory

3 - Service Ticket 1 - AS-REQ 5 - Cross realm ticket 4 - Cross realm ticket 6 - Service ticket

user: admin@AD 2 - TGT

ticket: host/linux@IdM

admin@AD linux@IdM

31 Copyright Red Hat K.K. All rights reserved. ADとIdMの信頼関係

● あるフォレストのユーザが別のフォレストの リソースにアクセスできるようにする

● あらかじめ信頼関係を構成する – 2つのフォレスト間で暗号化鍵を共有する

● 現在サポートされる構成は – ADとIdMが双方向に信頼 – IdMがADを信頼 ※ADがIdMを信頼する信頼関係は現在構成できない

32 Copyright Red Hat K.K. All rights reserved. ADとIdMのユーザのマッピング

● SFU/IMUによるPOSIX属性対応 – Windows 2012R2 Serverから deprecated

● IdMによるADのSIDからUID, GIDへのダイナ ミックマッピング

● ID viewによる静的なオーバーライド – ユーザとユーザ属性 – ユーザ属性以外も対応 ● SSHキー

33 ● OTP およびCopyright 証明書 Red Hat K.K. (予 All rights定) reserved. Host Based Access Control(HBAC)

IdM AD ● ホストベースアクセス制御 – どのユーザ(群)が – どのホスト(群)から – どのサービスへアクセスでき るか

● コンソール, ssh, sudo, ftp, sftp など Linux Linux Linux ● ルールを集中的に定義

● 信頼したADのユーザにも適用

34 Copyright Red Hat K.K. All rights reserved. ユーザとホストのSSH 鍵管理

● ホストの公開鍵をクライアント IdM 導入時にアップロード

ホスト公開鍵 ユーザ公開鍵 ● ユーザの公開鍵をアップロード

● システムAからシステムBへssh するとき – Bの公開鍵をIdMがAへ配布 SSH (手動でのdigest確認は不要) – ユーザの公開鍵をIdMがBへ Linux A Linux B 配布(手動でのコピー不要)

● 信頼したADのユーザにも適用

35 Copyright Red Hat K.K. All rights reserved. sudoの統合

● sudoers管理 IdM AD – どのコマンド(群)を – どのユーザ(群)が – どのホスト(群)でsudo実行 できるか

● ルールはクライアントで適用 Commands Commands Commands “ABC” “KLMN” “XYZ” – でキャッシュ Linux Linux Linux SSSD – sudoに統合

● 信頼したADのユーザにも適用

36 Copyright Red Hat K.K. All rights reserved. SELinux のユーザマッピング

IdM AD ● 集中的にマッピングを管理

● SELinuxのMLS/MCSポリシーで利 用

● ユーザとホストの組み合わせ毎にコ ンテキストをマッピング

● デフォルトのラベルをIdMで設定可 super unprivileged privileged privileged Linux Linux Linux ● マッピングはクライアントで強制

● SSSDでキャッシュ

● 信頼したADのユーザにも適用

37 Copyright Red Hat K.K. All rights reserved. Automountのマッピング

● 場所ごとにマップを定義

● US用 IdM Japan用 direct map, indirect map マップ マップ ● autofsクライアントに統合 – IdMはautofsサーバの設定はし ません

● クライアントはその場所に対応した マップを取得するよう設定

● マップは集中管理

Linux in US Linux in Japan ● マップはクライアントで適用される

● マップはSSSDでキャッシュ NFSサーバ NFSサーバ (US) (Japan)

38 Copyright Red Hat K.K. All rights reserved. 証明書と認証局の管理

● Dogtag Certificate SystemによるPKI基盤

● Subjects – Users, hosts, devices, services

● Profiles – 目的毎のプロファイル

● Sub CA – 特定目的用のCA

● certmonger による証明書の追跡と更新

39 Copyright Red Hat K.K. All rights reserved. 証明書による認証

IdM AD ● ユーザ認証を証明書に よって実施する

● 証明書またはスマート カードをもつIdMユーザ

● 証明書またはスマート カードをもつADユーザ Linux Linux Linux ● IdM UI/CLI での証明書 による認証(作業中)

40 Copyright Red Hat K.K. All rights reserved. 二要素認証

● IdM 外部OTPサーバ IdM内蔵の二要素認証 – Yubikey, FreeOTP, Google authenticator – HOTP/TOTP互換 – LDAPまたはKerberos経由で 利用可

● RADIUSプロキシによる認証 Linux Linux Linux – RADIUSをサポートする任意 のサードパーティ製品 – Kerberos経由でのみ利用可

41 Copyright Red Hat K.K. All rights reserved. SAMLによるシングルサインオン

Apache アプリケーション フレームワーク ユーザ 1 属性

SAML module アプリケーション 6 7 2

4 3 Identity Provider Identity Source (RH SSOなど) (IdMなど) 5

42 Copyright Red Hat K.K. All rights reserved. SAMLによるシングルサインオンの流れ

1. ユーザはブラウザでアプリケーションを開く 2. SAMLモジュールが適切なassertionがあるかチェックして IdPにリダイレクト 3. IdPは必要に応じて認証(またはシングルサインオン)を実施 4. IdPは設定されたIdentity sourceで認証 5. IdPはSAML assertionを作成してリソースにリダイレクト 6. SAMLモジュールはassertionを確認しユーザデータを取得 7. ユーザデータがアプリケーションへ渡されて認証完了

43 Copyright Red Hat K.K. All rights reserved. SAMLによるシングルサインオン

● IdMだけではSAMLによるシングルサインオン はできません – IdMはIdentity Sourceとして利用

● Identity Provider(Red Hat SSOなど)が必要 – RHEL 7.2でtechnology previewとして同梱された Ipsilon IdPはdeprecatedとなりました

● 必要なApache moduleは最新のRHELに同梱

44 Copyright Red Hat K.K. All rights reserved. まとめ

● 「Red Hat Identity Management」はRed Hat Enterprise Linuxに同梱されるアイデンティティ管理基盤

● アイデンティティ・認証・アクセスコントロール・ポリ シーを管理します – LDAPによるアイデンティティ情報管理 – DNSによる名前解決 – 認証 – 証明書発行 – sudoer, HBAC, automountとの統合

● PAM/NSS, Apache module等の連携が充実していて アプリケーションとの連携も考慮されています

45 Copyright Red Hat K.K. All rights reserved. 参考文献

● RHELドキュメント – Linux ドメイン ID、認証、およびポリシーガイド http://red.ht/2hYBk9h – Windows 統合ガイド http://red.ht/2h0oPsb

46 Copyright Red Hat K.K. All rights reserved.