red hat enterprise linuxの認証基盤identity management

46
Copyright Red Hat K.K. All rights reserved. Red Hat Enterprise Linux の認証基盤 Identity Management Red Hat K.K. Solution Architect Kazuo Moriwaka <[email protected]> 2016-12-21

Upload: moriwaka-kazuo

Post on 16-Apr-2017

842 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Red Hat Enterprise Linuxの認証基盤Identity Management

Copyright Red Hat K.K. All rights reserved.

Red Hat Enterprise Linuxの認証基盤Identity Management

Red Hat K.K. Solution Architect Kazuo Moriwaka <[email protected]>

2016-12-21

Page 2: Red Hat Enterprise Linuxの認証基盤Identity Management

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

このスライドの位置づけ

● 前提

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

● 対象

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

● 目的

– 「RHEL IdMでだいたいこんなことができそう」というイメージを持ってもらう

– 利用手順などは扱いません

Page 3: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Agenda

● 「Identity Management」で扱うもの

● Identity Managementの目標

● 主なコンポーネント

● Identity Managementの概要

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

– Active Directoryとの連携

– Host based Access Control

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

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

– ユーザ、ホスト、デバイス、サービスの証明書管理– 二要素認証

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

Page 4: Red Hat Enterprise Linuxの認証基盤Identity Management

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

「Identity Management」って何?

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

– LDAPによるアイデンティティ情報管理

– 認証● パスワード認証、スマートカード認証● ワンタイムパスワード対応● Active Directoryとのクロスレルム認証

– 証明書発行

– PAM/NSSとの統合

– Apacheモジュールによるwebアプリケーションとの統合

– Linux/UNIX環境用の機能● sudoer, automount, ssh鍵管理

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

Page 5: Red Hat Enterprise Linuxの認証基盤Identity Management

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

「Identity Management」で扱うもの(1/2)

● アイデンティティ

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

うにアクセスするか?● 認証

– ユーザーは認証にどのようなクレデンシャルを利用するか?

● パスワード? スマートカード? 特殊なデバイス? – シングルサインオンはあるか?

● どうやって同じユーザがファイルサーバとwebアプリケーションに認証しなおしせずにアクセスするか?

Page 6: Red Hat Enterprise Linuxの認証基盤Identity Management

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

「Identity Management」で扱うもの(2/2)

● アクセスコントロール/認可

– どのユーザがどのシステム・サービス・アプリケーションにアクセスできるか?

– sudoでどのコマンドを実行できるか?– ユーザはどのSELinuxのコンテキストに対応する

か?● ポリシー

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

Page 7: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Identity Managementの目標(1/2)

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

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

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

● ダイナミックでスケーラブルな基盤を提供する

– 最大60ノードのマルチマスタまでサポート

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

Page 8: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Identity Managementの目標(2/2)

● 日々の運用コストを削減する● 基盤にかかるコストを削減する● 企業の混在環境全体にわたるシングルサインオ

ンを提供してユーザ体験を向上する● アイデンティティ管理基盤とアプリケーション

の緊密な統合を可能にする● アイデンティティ情報とユーザ・サービス・シ

ステム・デバイスの認証情報を管理する

Page 9: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Identity Managementの主なコンポーネント

● Identity Management (FreeIPA/IdM)– 以下を統合

● MIT Kerberos● 389 Directory Server● Dogtag Certificate System● BIND

● SSSD● Certmonger● Keycloak IdP (Red Hat SSO)● Apacheモジュール

Page 10: Red Hat Enterprise Linuxの認証基盤Identity Management

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

FreeIPA/IdM

● Linux/UNIX環境用のドメインコントローラ

– 「Linuxドメイン」を作成・管理

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

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

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

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

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

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

Page 11: Red Hat Enterprise Linuxの認証基盤Identity Management

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

FreeIPA/IdM

Linux

UNIX

Admin

KDC

LDAP

PKI

DNS

CLI/UI

Page 12: Red Hat Enterprise Linuxの認証基盤Identity Management

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

SSSD (System Security Services Daemon)

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

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

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

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

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

Page 13: Red Hat Enterprise Linuxの認証基盤Identity Management

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

SSSD 概要図

アイデンティティソース

認証ソース

Clientプログラム

Clientプログラム

Clientプログラム

SSSD

ドメインプロバイダ

PAMレスポンダ アイデン

ティディプロバイダ

認証プロバイダNSS

レスポンダ

Cache

Page 14: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

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

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

Certmonger

Page 15: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Keycloak IdP (Red Hat SSO)

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

● 異なるWebアプリケーション間で SAML, OpenID Connect, OAuthベースのシングルサインオンとIDフェデレーションを提供

※Keycloak IdPはRHELではなくJBoss EAPに同梱

Page 16: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

● フォームベース認証、Kerberos認証、証明書ベース認証、SAML認証をサポートするモジュールを提供

– OpenID Connect認証については作業中

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

Apacheモジュール

Page 17: Red Hat Enterprise Linuxの認証基盤Identity Management

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

アーキテクチャの例

IdM

Linux System

アプリケーション

モジュール

SSSD

Active Directory

keycloakIdP

Certmonge

r

管理者

ブラウザ

Trust

Page 18: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Identity Managementの概要

Page 19: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Identity Managementの概要

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

● Active Directoryとの連携

– SSSDによる直接的な連携

– IdMを利用する間接的な連携

● Host based Access Control

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

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

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

● 二要素認証

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

Page 20: Red Hat Enterprise Linuxの認証基盤Identity Management

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

ステップ:● ユーザアカウントを統合

● ユーザデータをIdMへロード

● Linux/UNIXシステムをIdMへ接続

– ipa-client-install

なぜIdMか?● 複数の認証方式をサポート:

– LDAP, Kerberos, OTP, 証明書

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

● Active Directoryとの統合

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

認証

IdM

Linux Linux Linux

Page 21: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Kerberosによるシングルサインオン

ユーザ(Principal)

Client

サービスチケット (ST)

TGT

KDC (IdM)

リソース

サービスチケット (ST)

2

3

4

サービス(Principal)

0

1

Page 22: Red Hat Enterprise Linuxの認証基盤Identity Management

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

● あらかじめサービスの鍵を作成してkeytabへ登録(0)● Kerberosに接続されたシステムにユーザがログイン(1)

– Kerberos KDC, Active Directory, IdMのいずれも可

– ユーザはこのとき ticket granting ticket (TGT) を取得

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

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

● サービスチケットをサービス(例: NFSサーバ)へ提示 (4)● サーバはkeytabに格納された鍵でチケットを復号

※鍵はインストール・設定時に配布され、必要に応じて更新される

Kerberosによる認証のフロー

Page 23: Red Hat Enterprise Linuxの認証基盤Identity Management

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

Active Directoryとの連携

Windows Linux UNIX

Active Directory

IdM

直接的な統合Active DirectoryでLinux/UNIXの認

間接的な統合WindowsはActive Directory

Linux/UNIXはIdMで認証

Windows Linux UNIX

Active Directory

Page 24: Red Hat Enterprise Linuxの認証基盤Identity Management

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

直接的な統合

Windows Linux UNIX

Active Directory ● Active Directoryドメイ

ンにLinux/UNIXを参加させる

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

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

Page 25: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

● 以前からある方法

– pam_krb5/pam_ldap, nss_ldap, nslcd– winbind

● 新しい方法

– SSSD (with realmd)

直接的な統合のオプション

Page 26: Red Hat Enterprise Linuxの認証基盤Identity Management

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

SSSD による直接的な統合

Active Directory

DNS LDAP KDC

ADはsudoとautomountに拡張可能SFU/IMUによりAD SIDをPOSIX属性にマッピング可ADドメインヘrealmdで参加できる

Linux System

PoliciesSSSD

認証

アイデンティディ

名前解決

sudo

HBAC

automount

selinux

ssh keys

HBACにGPOを利用可能その他のポリシーは別の設定管理システムで管理

認証はLDAPでもKerberosでも可

Page 27: Red Hat Enterprise Linuxの認証基盤Identity Management

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

間接的な統合

Active Directory

IdM

Windows Linux UNIX

● Active DIrectoryとIdentity Managerを連携

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

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

Page 28: Red Hat Enterprise Linuxの認証基盤Identity Management

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

間接的な統合のオプション

● 信頼ベースのソリューション

– ADとIdM間でクロスレルムKerberos信頼を設定

● ADのユーザがLinuxシステムおよびリソースにアクセス可能

– IdMに独自のDNSドメインが必要

● 同期ベースのソリューション

– LDAPでユーザアカウントをADからIdMへ同期

– パスワード同期のためADに追加コンポーネントが必要

– 全ユーザはIdM利用時にパスワードを一度手動で変更する必要あり

– 1ドメイン、ユーザのみ(グループは不可)サポート

Page 29: Red Hat Enterprise Linuxの認証基盤Identity Management

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

信頼ベースのIdM - AD統合

IdM

DNS LDAP KDCPKI

Active Directory

DNSLDAPKDC PKI

Linux System

SSSD認証

アイデンティディ

名前解決

証明書

Policiessudo

HBAC

automount

selinux

ssh keys

Page 30: Red Hat Enterprise Linuxの認証基盤Identity Management

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

信頼関係によるシングルサインオン(1/2)

IdMActive

Directoryクロスレルム信頼

linux@IdM

host/linux@IdM へのアクセス

admin@AD

認証

Page 31: Red Hat Enterprise Linuxの認証基盤Identity Management

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

信頼関係によるシングルサインオン(2/2)

user: admin@AD

ticket: host/linux@IdM

1 - AS-REQ

4 - Cross realm ticket5 - Cross realm ticket

6 - Service ticket

2 - TGT

3 - Service Ticket

IdMActive

Directoryクロスレルム信頼

linux@IdMadmin@AD

Page 32: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

● あらかじめ信頼関係を構成する

– 2つのフォレスト間で暗号化鍵を共有する

● 現在サポートされる構成は

– ADとIdMが双方向に信頼

– IdMがADを信頼

※ADがIdMを信頼する信頼関係は現在構成できない

ADとIdMの信頼関係

Page 33: Red Hat Enterprise Linuxの認証基盤Identity Management

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

● SFU/IMUによるPOSIX属性対応

– Windows 2012R2 Serverからdeprecated

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

● ID viewによる静的なオーバーライド

– ユーザとユーザ属性

– ユーザ属性以外も対応● SSHキー● OTP および 証明書 (予定)

ADとIdMのユーザのマッピング

Page 34: Red Hat Enterprise Linuxの認証基盤Identity Management

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

● ホストベースアクセス制御

– どのユーザ(群)が

– どのホスト(群)から

– どのサービスへアクセスできるか

● コンソール, ssh, sudo, ftp, sftp など

● ルールを集中的に定義

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

Host Based Access Control(HBAC)

IdM

Linux Linux Linux

AD

Page 35: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

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

● システムAからシステムBへsshするとき

– Bの公開鍵をIdMがAへ配布(手動でのdigest確認は不要)

– ユーザの公開鍵をIdMがBへ配布(手動でのコピー不要)

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

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

IdM

Linux A Linux B

SSH

ホスト公開鍵 ユーザ公開鍵

Page 36: Red Hat Enterprise Linuxの認証基盤Identity Management

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

● sudoers管理

– どのコマンド(群)を

– どのユーザ(群)が

– どのホスト(群)でsudo実行できるか

● ルールはクライアントで適用

– SSSDでキャッシュ

– sudoに統合

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

sudoの統合

IdM

Linux Linux Linux

AD

Commands “ABC”

Commands “KLMN”

Commands “XYZ”

Page 37: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

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

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

● デフォルトのラベルをIdMで設定可

● マッピングはクライアントで強制

● SSSDでキャッシュ

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

SELinux のユーザマッピング

IdM

Linux Linux Linux

AD

unprivileged privilegedsuper

privileged

Page 38: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

● direct map, indirect map

● autofsクライアントに統合

– IdMはautofsサーバの設定はしません

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

● マップは集中管理

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

● マップはSSSDでキャッシュ

Automountのマッピング

IdM

Linux in US Linux in Japan

US用マップ

Japan用マップ

NFSサーバ(US)

NFSサーバ (Japan)

Page 39: Red Hat Enterprise Linuxの認証基盤Identity Management

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

● Dogtag Certificate SystemによるPKI基盤

● Subjects– Users, hosts, devices, services

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

● Sub CA – 特定目的用のCA

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

証明書と認証局の管理

Page 40: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

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

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

● IdM UI/CLI での証明書による認証(作業中)

証明書による認証

IdM

Linux Linux Linux

AD

Page 41: Red Hat Enterprise Linuxの認証基盤Identity Management

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

● IdM内蔵の二要素認証

– Yubikey, FreeOTP, Google authenticator

– HOTP/TOTP互換

– LDAPまたはKerberos経由で利用可

● RADIUSプロキシによる認証

– RADIUSをサポートする任意のサードパーティ製品

– Kerberos経由でのみ利用可

二要素認証

IdM

Linux Linux Linux

外部OTPサーバ

Page 42: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

アプリケーションフレームワーク

Identity Provider(RH SSOなど)

Apache

SAML module

Identity Source(IdMなど)

アプリケーション

ユーザ属性

1

2

34

5

6 7

Page 43: Red Hat Enterprise Linuxの認証基盤Identity Management

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

1.ユーザはブラウザでアプリケーションを開く

2.SAMLモジュールが適切なassertionがあるかチェックしてIdPにリダイレクト

3. IdPは必要に応じて認証(またはシングルサインオン)を実施

4. IdPは設定されたIdentity sourceで認証

5. IdPはSAML assertionを作成してリソースにリダイレクト

6.SAMLモジュールはassertionを確認しユーザデータを取得

7.ユーザデータがアプリケーションへ渡されて認証完了

SAMLによるシングルサインオンの流れ

Page 44: Red Hat Enterprise Linuxの認証基盤Identity Management

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

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

● IdMだけではSAMLによるシングルサインオンはできません

– IdMはIdentity Sourceとして利用

● Identity Provider(Red Hat SSOなど)が必要

– RHEL 7.2でtechnology previewとして同梱されたIpsilon IdPはdeprecatedとなりました

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

Page 45: Red Hat Enterprise Linuxの認証基盤Identity Management

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

まとめ

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

● アイデンティティ・認証・アクセスコントロール・ポリシーを管理します

– LDAPによるアイデンティティ情報管理

– DNSによる名前解決

– 認証– 証明書発行

– sudoer, HBAC, automountとの統合

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

Page 46: Red Hat Enterprise Linuxの認証基盤Identity Management

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

参考文献

● RHELドキュメント

– Linux ドメイン ID、認証、およびポリシーガイド http://red.ht/2hYBk9h

– Windows 統合ガイド http://red.ht/2h0oPsb