RHEL 8 で Web コンソールを使用したシステムの管理
グラフィカルな Web ベースのインターフェイスによるサーバー管理
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 RHEL Web コンソールの使用
Red Hat Enterprise Linux 8 Web コンソールのインストール方法、便利なグラフィカルインターフェイスから リモートホストを追加および管理 する方法、Web コンソールによって管理されるシステムを監視する方法を説明します。
1.1. RHEL Web コンソールの概要
RHEL Web コンソールは、ローカルシステム、およびネットワーク環境にある Linux サーバーを管理および監視するために設計された Web ベースのインターフェイスです。
![Firefox ブラウザーの RHEL Web コンソール (概要ページ)](https://access.redhat.com/webassets/avalon/d/Red_Hat_Enterprise_Linux-8-Managing_systems_using_the_RHEL_8_web_console-ja-JP/images/da688fe513a8a7d92b44adcad59da724/cockpit-overview-screen.png)
RHEL Web コンソールでは、以下を含むさまざまな管理タスクの実行が可能です。
- サービスの管理
- ユーザーアカウントの管理
- システムサービスの管理および監視
- ネットワークインターフェイスおよびファイアウォールの設定
- システムログの確認
- 仮想マシンの管理
- 診断レポートの作成
- カーネルダンプ設定の設定
- SELinux の設定
- ソフトウェアの更新
- システムサブスクリプションの管理
RHEL Web コンソールは、ターミナルで使用するのと同じシステム API を使用します。ターミナルで実行した操作は、即座に RHEL Web コンソールに反映されます。
ネットワーク環境のシステムのログや、パフォーマンスをグラフで監視できます。さらに、Web コンソールで設定を直接変更したり、ターミナルから設定を変更できます。
1.2. Web コンソールのインストールおよび有効化
RHEL Web コンソールにアクセスするには、最初に cockpit.socket
サービスを有効にします。
Red Hat Enterprise Linux 9 では、多くのインストール方法で、Web コンソールがデフォルトでインストールされます。ご使用のシステムがこれに該当しない場合は、cockpit
パッケージをインストールしてから .socket
サービスを有効にしてください。
手順
Web コンソールがインストールバリアントにデフォルトでインストールされていない場合は、
cockpit
パッケージを手動でインストールします。# yum install cockpit
必要に応じて、Web サーバーを実行する
cockpit.socket
サービスを有効にして起動します。# systemctl enable --now cockpit.socket
Web コンソールがインストールバリアントにデフォルトでインストールされておらず、カスタムのファイアウォールプロファイルを使用している場合は、
cockpit
サービスをfirewalld
に追加して、ファイアウォールの 9090 番ポートを開きます。# firewall-cmd --add-service=cockpit --permanent # firewall-cmd --reload
検証
- 以前のインストールと設定を確認するには、Web コンソールを開きます。
1.3. Web コンソールへのログイン
cockpit.socket
サービスが実行中で、対応するファイアウォールポートが開いている場合、ブラウザーで Web コンソールに初めてログインできます。
前提条件
次のブラウザーのいずれかを使用して Web コンソールを開いている。
- Mozilla Firefox 52 以降
- Google Chrome 57 以降
- Microsoft Edge 16 以降
システムユーザーアカウントの認証情報
RHEL Web コンソールは、
/etc/pam.d/cockpit
にある特定のプラグ可能な認証モジュール (PAM) スタックを使用します。デフォルト設定では、システム上の任意のローカルアカウントのユーザー名とパスワードを使用してログインできます。- ファイアウォールでポート 9090 が開いている。
手順
Web ブラウザーに次のアドレスを入力して Web コンソールにアクセスします。
https://localhost:9090
注記これにより、ローカルマシン上で Web コンソールログインが可能になります。リモートシステムの Web コンソールにログインする場合、「リモートマシンから Web コンソールへの接続」 を参照してください。
自己署名証明書を使用する場合は、ブラウザーに警告が表示されます。証明書を確認し、セキュリティー例外を許可して、ログインを続行します。
コンソールは
/etc/cockpit/ws-certs.d
ディレクトリーから証明書をロードし、アルファベット順で最後となる.cert
拡張子のファイルを使用します。セキュリティーの例外を承認しなくてもすむように、認証局 (CA) が署名した証明書をインストールします。- ログイン画面で、システムユーザー名とパスワードを入力します。
- Log In をクリックします。
認証に成功すると、RHEL Web コンソールインターフェイスが開きます。
制限付きアクセスと管理アクセスを切り替えるには、Web コンソールページのトップパネルで Administrative access または Limited access をクリックします。管理者アクセスを取得するには、ユーザーパスワードを入力する必要があります。
1.4. Web コンソールでの基本認証の無効化
cockpit.conf
ファイルを変更することで、認証方式の動作を変更できます。none
アクションを使用して認証方式を無効にし、GSSAPI とフォームによる認証のみを許可します。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
-
sudo
を使用して管理コマンドを入力するための root
権限または権限がある。
手順
任意のテキストエディターで、
/etc/cockpit/
ディレクトリーのcockpit.conf
ファイルを開くか、作成します。次に例を示します。# vi cockpit.conf
次のテキストを追加します。
[basic] action = none
- ファイルを保存します。
Web コンソールを再起動して、変更を有効にします。
# systemctl try-restart cockpit
1.5. リモートマシンから Web コンソールへの接続
Web コンソールインターフェイスには、クライアントオペレーティングシステムだけでなく、携帯電話やタブレットからも接続できます。
前提条件
対応しているインターネットブラウザーを備えたデバイス。以下に例を示します。
- Mozilla Firefox 52 以降
- Google Chrome 57 以降
- Microsoft Edge 16 以降
インストールされアクセス可能な Web コンソールを使用してアクセスする RHEL 8。
手順は、Installing and enabling the web console を参照してください。
手順
- Web ブラウザーを開きます。
リモートサーバーのアドレスを次のいずれかの形式で入力します。
サーバーのホスト名を使用する場合:
https://<server.hostname.example.com>:<port-number>
以下に例を示します。
https://example.com:9090
サーバーの IP アドレスを使用する場合:
https://<server.IP_address>:<port-number>
以下に例を示します。
https://192.0.2.2:9090
- ログインインターフェイスが開いたら、RHEL システムの認証情報を使用してログインします。
1.6. ワンタイムパスワードを使用した Web コンソールへのログイン
ワンタイムパスワード (OTP) 設定が有効になっている Identity Management (IdM) ドメインにシステムが含まれている場合には、OTP を使用して RHEL Web コンソールにログインできます。
ワンタイムパスワードを使用してログインできるのは、OTP 設定が有効な Identity Management (IdM) ドメインに、お使いのシステムが含まれる場合のみです。IdM の OTP の詳細は、Identity Management のワンタイムパスワード を参照してください。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
Identity Management サーバーで OTP 設定を有効しておく。
詳細は Identity Management のワンタイムパスワード を参照してください。
- OTP トークンを生成する設定済みのハードウェアまたはソフトウェアのデバイス
手順
ブラウザーで RHEL Web コンソールを開きます。
-
ローカルの場合 -
https://localhost:PORT_NUMBER
-
リモートでサーバーのホスト名を使用する場合 -
https://example.com:PORT_NUMBER
リモートでサーバーの IP アドレスを使用する場合 -
https://EXAMPLE.SERVER.IP.ADDR:PORT_NUMBER
自己署名証明書を使用する場合は、ブラウザーに警告が表示されます。証明書を確認し、セキュリティー例外を許可してから、ログインを続行します。
コンソールは
/etc/cockpit/ws-certs.d
ディレクトリーから証明書をロードし、アルファベット順で最後となる.cert
拡張子のファイルを使用します。セキュリティーの例外を承認しなくてもすむように、認証局 (CA) が署名した証明書をインストールします。
-
ローカルの場合 -
- ログイン画面が表示されます。ログイン画面で、システムユーザーの名前とパスワードを入力します。
- デバイスでワンタイムパスワードを生成します。
- パスワードを確認してから、Web コンソールインターフェイスに表示される新規フィールドにワンタイムパスワードを入力します。
- Log in をクリックします。
- ログインに成功すると、Web コンソールインターフェイスの Overview ページに移動します。
1.7. Web コンソールを使用した RHEL 8 システムの IdM ドメインへの参加
Web コンソールを使用して、Red Hat Enterprise Linux 8 システムを Identity Management (IdM) ドメインに参加させることができます。
前提条件
- IdM ドメインが実行中で参加するクライアントから到達可能
- IdM ドメインの管理者認証情報がある。
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
- Overview タブの Configuration フィールドで、Join Domain をクリックします。
- ドメイン参加 ダイアログボックスの ドメインアドレス フィールドに、IdM サーバーのホスト名を入力します。
- ドメイン管理者名 フィールドで、IdM 管理アカウントのユーザー名を入力します。
- Domain administrator password にパスワードを追加します。
- をクリックします。
検証
- システムが IdM ドメインに参加していると、RHEL 8 Web コンソールにエラーが表示されず、システム 画面でドメイン名を確認できます。
ユーザーがドメインのメンバーであることを確認するには、Terminal ページをクリックし、
id
コマンドを実行します。$ id euid=548800004(example_user) gid=548800004(example_user) groups=548800004(example_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
1.8. ログインページへのバナーの追加
ログイン画面にバナーファイルの内容を表示するように Web コンソールを設定できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
-
sudo
を使用して管理コマンドを入力するための root
権限または権限がある。
手順
任意のテキストエディターで
/etc/issue.cockpit
ファイルを開きます。# vi /etc/issue.cockpit
バナーとして表示するコンテンツをファイルに追加します。次に例を示します。
This is an example banner for the RHEL web console login page.
ファイルにマクロを含めることはできませんが、改行と ASCII アートは使用できます。
- ファイルを保存します。
任意のテキストエディターで、
/etc/cockpit/
ディレクトリーのcockpit.conf
ファイルを開きます。次に例を示します。# vi /etc/cockpit/cockpit.conf
以下のテキストをファイルに追加します。
[Session] Banner=/etc/issue.cockpit
- ファイルを保存します。
Web コンソールを再起動して、変更を有効にします。
# systemctl try-restart cockpit
検証
Web コンソールのログイン画面を再度開き、バナーが表示されていることを確認します。
1.9. Web コンソールでの自動アイドルロックの設定
Web コンソールインターフェイスを使用して、自動アイドルロックを有効にし、システムのアイドルタイムアウトを設定できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
-
sudo
を使用して管理コマンドを入力するための root
権限または権限がある。
手順
任意のテキストエディターで、
/etc/cockpit/
ディレクトリーのcockpit.conf
ファイルを開きます。次に例を示します。# vi /etc/cockpit/cockpit.conf
以下のテキストをファイルに追加します。
[Session] IdleTimeout=<X>
<X> は、任意の期間の数値 (分単位) に置き換えます。
- ファイルを保存します。
Web コンソールを再起動して、変更を有効にします。
# systemctl try-restart cockpit
検証
- 設定の期間後にセッションがログアウトされているかどうかを確認します。
1.10. Web コンソールリスニングポートの変更
デフォルトでは、RHEL Web コンソールは TCP ポート 9090 を介して通信します。デフォルトのソケット設定を上書きすることでポート番号を変更できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
-
sudo
を使用して管理コマンドを入力するための root
権限または権限がある。 -
firewalld
サービスが実行している。
手順
使用されていないポート (例: <4488/tcp>) を選択し、
Cockpit
サービスがそのポートにバインドできるように SELinux に指示します。# semanage port -a -t websm_port_t -p tcp <4488>
ポートは 1 つのサービスのみで一度に使用できるため、すでに使用しているポートを使用しようとすると、
ValueError: Port already defined
エラーが発生します。ファイアウォールで新しいポートを開き、以前のポートを閉じます。
# firewall-cmd --service cockpit --permanent --add-port=<4488>/tcp # firewall-cmd --service cockpit --permanent --remove-port=9090/tcp
cockpit.socket
サービスのオーバーライドファイルを作成します。# systemctl edit cockpit.socket
次のエディター画面では、
/etc/systemd
/system/cockpit.socket.d/ディレクトリーにある空のoverride.conf
ファイルが開きます。次の行を追加して、Web コンソールのデフォルトポートを 9090 から以前に選択した番号に変更します。[Socket] ListenStream= ListenStream=<4488>
最初の
ListenStream=
ディレクティブの値が空になっているのは意図的であることに注意してください。単一のソケットユニットで複数のListenStream
ディレクティブを宣言することができ、ドロップインファイル内の空の値はリストをリセットし、元のユニットのデフォルトポート 9090 を無効にします。重要前のコードスニペットを
、# Anything between here
と# Lines below this
で始まる行の間に挿入します。それ以外の場合、システムは変更を破棄します。- + と を押して変更を保存します。 + を押してエディターを終了します。
変更した設定を再読み込みします。
# systemctl daemon-reload
設定が機能していることを確認します。
# systemctl show cockpit.socket -p Listen Listen=[::]:4488 (Stream)
Restart
cockpit.socket
:# systemctl restart cockpit.socket
検証
Web ブラウザーを開き、更新されたポートの Web コンソールにアクセスします。例:
https://machine1.example.com:4488
関連情報
-
システム上の
firewall-cmd (1)
、semanage (8)
、systemd.unit (5)
、systemd.socket (5)
の man ページ
第2章 RHEL システムロールを使用して Web コンソールをインストールおよび設定する
Cockpit
RHEL システムロールを使用すると、複数の RHEL システムに Web コンソールを自動的にデプロイして有効にすることができます。
2.1. cockpit
RHEL システムロールを使用した Web コンソールのインストール
Cockpit
システムロールを使用すると、複数のシステムで RHEL Web コンソールのインストールと有効化を自動化できます。
この例では、cockpit
システムロールを使用して次のことを行います。
- RHEL Web コンソールをインストールする
- カスタムポート番号 (9050/tcp) を使用するように Web コンソールを設定します。デフォルトでは、Web コンソールはポート 9090 を使用します。
-
新しいポートを開くためにシステムを設定できるように、
firewalld
およびselinux
システムロールを許可します。 -
自己署名証明書を使用する代わりに、
ipa
の信頼された認証局からの証明書を使用するように Web コンソールを設定する
ファイアウォールを管理したり証明書を作成したりするために、Playbook で ファイアウォール
または 証明書
システムのロールを呼び出す必要はありません。cockpit
システムロールが、必要に応じてそれらを自動的に呼び出します。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。--- - name: Manage the RHEL web console hosts: managed-node-01.example.com tasks: - name: Install RHEL web console ansible.builtin.include_role: name: rhel-system-roles.cockpit vars: cockpit_packages: default cockpit_port: 9050 cockpit_manage_selinux: true cockpit_manage_firewall: true cockpit_certificates: - name: /etc/cockpit/ws-certs.d/01-certificate dns: ['localhost', 'www.example.com'] ca: ipa
サンプル Playbook で指定されている設定は次のとおりです。
cockpit_manage_selinux: true
-
selinux
システムロールを使用して、websm_port_t
SELinux タイプで正しいポート権限を設定するように SELinux を設定できるようにします。 cockpit_manage_firewall: true
-
Cockpit
システムロールがポートの追加にfirewalld
システムロールを使用できるようにします。 cockpit_certificates: <YAML_dictionary>
デフォルトでは、RHEL Web コンソールは自己署名証明書を使用します。あるいは、
cockpit_certificates
変数を Playbook に追加し、IdM 認証局 (CA) から証明書を要求するか、管理対象ノードで使用可能な既存の証明書と秘密鍵を使用するようにロールを設定することもできます。Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/rhel-system-roles.cockpit/README.md
ファイルを参照してください。
Playbook の構文を検証します。
$ ansible-playbook --syntax-check ~/playbook.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook ~/playbook.yml
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.cockpit/README.md
ファイル -
/usr/share/doc/rhel-system-roles/cockpit
ディレクトリー - RHEL システムロールを使用して証明書を要求する
第3章 Web コンソールアドオンのインストールとカスタムページの作成
Red Hat Enterprise Linux システムの使用方法に応じて、使用可能 なアプリケーションを Web コンソールに追加したり、ユースケースに基づいてカスタムページを作成したりできます。
3.1. RHEL Web コンソールのアドオン
cockpit
パッケージはデフォルトで Red Hat Enterprise Linux の一部ですが、次のコマンドを使用してオンデマンドでアドオンアプリケーションをインストールできます。
# yum install <add-on>
上記コマンドの <add-on> は、RHEL Web コンソールで使用可能なアドオンアプリケーションのリストのパッケージ名に置き換えます。
機能名 | パッケージ名 | 用途 |
---|---|---|
Composer |
| カスタム OS イメージの構築 |
マシン |
|
|
PackageKit |
| ソフトウェア更新およびアプリケーションインストール (通常はデフォルトでインストールされている) |
PCP |
| 永続的かつ、より詳細なパフォーマンスデータ (UI からオンデマンドでインストール) |
Podman |
| コンテナーの管理 と コンテナーイメージの管理 (RHEL 8.1 から利用可能) |
セッションの録画 |
| ユーザーセッションの記録および管理 |
ストレージ |
|
|
3.2. Web コンソールでの新しいページの作成
カスタマイズした関数を Red Hat Enterprise Linux Web コンソールに追加する場合は、必要な関数を実行するページの HTML および JavaScript ファイルを含むパッケージディレクトリーを追加する必要があります。
カスタムページの追加の詳細は、Cockpit Project Web サイトの Creating Plugins for the Cockpit User Interface を参照してください。
関連情報
3.3. Web コンソールでのマニフェスト設定のオーバーライド
システムの特定のユーザーおよび全ユーザーの Web コンソールのメニューを変更できます。cockpit
プロジェクトでは、パッケージ名はディレクトリー名です。パッケージには、manifest.json
ファイルと他のファイルが含まれています。デフォルト設定は、manifest.json
ファイルに存在します。指定したユーザーの特定の場所に <package-name>.override.json
ファイルを作成することで、デフォルトの cockpit
メニュー設定をオーバーライドできます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
任意のテキストエディターで
<systemd>.override.json
ファイルのマニフェスト設定をオーバーライドします。次に例を示します。すべてのユーザーの設定を編集するには、次のように入力します。
# vi /etc/cockpit/<systemd>.override.json
単一ユーザーの設定を編集するには、次のように入力します。
# vi ~/.config/cockpit/<systemd>.override.json
次の詳細を含む必要なファイルを編集します。
{ "menu": { "services": null, "logs": { "order": -1 } } }
-
null
値を指定すると、services タブが非表示になります。 -
-1
値を指定すると、logs タブが一番目に移動します。
-
cockpit
サービスを再起動します。# systemctl restart cockpit.service
関連情報
-
システムの
cockpit (1)
man ページ - Manifest overrides
第4章 Web コンソールでソフトウェア更新の管理
RHEL 9 Web コンソールでソフトウェア更新を管理する方法と、それらを自動化する方法について説明します。
Web コンソールのソフトウェア更新モジュールは、yum
ユーティリティーに基づいています。yum
を使用したソフトウェアの更新の詳細は、Updating software packages セクションを参照してください。
4.1. Web コンソールでの手動ソフトウェア更新の管理
Web コンソールを使用してソフトウェアを手動で更新できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
ソフトウェアの更新 をクリックします。
利用可能な更新プログラムのリストは 24 時間後に自動的に更新されます。更新を発生させるには、
ボタンをクリックします。更新を適用します。更新の実行中に更新ログを見ることができます。
- 利用可能な更新をすべてインストールするには、 ボタンをクリックします。
- セキュリティー更新プログラムがある場合は、 ボタンをクリックすると個別にインストールできます。
-
kpatch
更新が利用可能な場合は、 ボタンをクリックして個別にインストールできます。
オプション: システムを自動的に再起動するために、Reboot after completion スイッチをオンにすることができます。
この手順を実行する場合は、この手順の残りの手順をスキップできます。
- システムが更新を適用すると、システムを再起動するように勧められます。更新に、個別に再起動したくない新しいカーネルまたはシステムサービスが含まれている場合は、システムを再起動します。
無視 をクリックして再起動をキャンセルするか、今すぐ再起動 をクリックしてシステムの再起動を続行します。
システムの再起動後、Web コンソールにログインし、ソフトウェア更新 ページに移動して更新が成功したことを確認します。
4.2. Web コンソールで自動ソフトウェア更新の管理
Web コンソールでは、すべての更新またはセキュリティー更新の適用を選択し、自動更新の周期とタイミングを管理することもできます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
- ソフトウェアの更新 をクリックします。
- 設定 表で、 ボタンをクリックします。
- 自動更新の種類を一つ選びます。セキュリティー更新プログラムのみ、または すべての更新 プログラムから選択することができます。
- 自動更新の日付を変更するには、ドロップダウンメニューの 毎日 をクリックして、特定の日付を選択します。
- 自動更新の時刻を変更するには、6:00 のフィールドをクリックして、特定の時刻を選択するか、入力します。
- ソフトウェアの自動更新を無効にする場合は、更新なし を選択してください。
4.3. Web コンソールでソフトウェア更新適用後のオンデマンド再起動の管理
インテリジェント再起動機能は、ソフトウェア更新後にシステム全体を再起動する必要があるのか、それとも特定のサービスだけを再起動すればよいのかをユーザーに通知する機能です。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
- ソフトウェアの更新 をクリックします。
- システムの更新を適用します。
- 更新が成功したら、Reboot system…、Restart services…、または Ignore をクリックします。
無視することにした場合には、次のいずれかの方法で再起動またはリブートメニューに戻ることができます。
リブート:
- Software Updates ページの Status フィールドにある ボタンをクリックします。
- (オプション) ログインしているユーザーへのメッセージを書きます。
- Delay ドロップダウンメニューから、delay を選択します。
- Reboot をクリックします。
サービスの再起動:
Software Updates ページの Status フィールドにある ボタンをクリックします。
再起動が必要なすべてのサービスのリストが表示されます。
サービスの再起動 をクリックします。
選択した内容に応じて、システムを再起動するか、サービスを再起動します。
4.4. Web コンソールでのカーネルライブパッチを使用したパッチ適用
RHEL Web コンソールで、強制的に再起動せずにカーネルセキュリティーパッチを適用する kpatch
フレームワークを設定できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
- ソフトウェアの更新 をクリックします。
カーネルパッチの設定状況を確認します。
パッチがインストールされていない場合は、
をクリックします。カーネルパッチを有効にするには、
をクリックします。- カーネルパッチを適用する場合はチェックを入れます。
現在のカーネルと将来のカーネルにパッチを適用するか、現在のカーネルのみに適用するかを選択します。将来のカーネルのパッチを適用することをサブスクライブすることにした場合、システムは今後のカーネルリリースのパッチも適用します。
- をクリックします。
検証
ソフトウェア更新 の 設定 の表で、カーネルパッチが 有効 になっていることを確認します。
関連情報
第5章 Web コンソールでサブスクリプションの管理
Red Hat Enterprise Linux 8 Web コンソールで Red Hat 製品のサブスクリプションを管理できます。
前提条件
- Red Hat カスタマーポータル またはサブスクリプションアクティベーションキー。
5.1. Web コンソールでサブスクリプションの管理
RHEL 8 Web コンソールは、ローカルシステムにインストールされている Red Hat Subscription Manager を使用するインターフェイスを提供します。
サブスクリプションマネージャーは Red Hat カスタマーポータルに接続し、利用可能かどうかを確認します。
- アクティブなサブスクリプション
- 期限が切れたサブスクリプション
- 更新されたサブスクリプション
Red Hat カスタマーポータルでサブスクリプションを更新したり、別のサブスクリプションを取得したりする場合は、サブスクリプションマネージャーのデータを手動で更新する必要はありません。
サブスクリプションマネージャーは、データを Red Hat カスタマーポータルと自動的に同期します。
5.2. Web コンソールで認証情報を使用してサブスクリプションを登録
RHEL Web コンソールでアカウント認証情報を使用して、新しくインストールした Red Hat Enterprise Linux を登録できます。
前提条件
Red Hat カスタマーポータルに有効なユーザーアカウントがある。
Red Hat アカウントの作成 ページを参照してください。
- RHEL システムに使用するアクティブなサブスクリプションがある。
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
概要 ページの ヘルス ファイル内の 未登録 の警告をクリックするか、メインメニューの サブスクリプション をクリックして、サブスクリプション情報のあるページに移動します。
- Overview フィールドで、 をクリックします。
Register system ダイアログボックスで、アカウント認証情報を使用して登録する Account を選択します。
- ユーザー名を入力します。
- パスワードを入力します。
オプションで、組織名または ID を入力します。
アカウントが Red Hat カスタマーポータルで複数の組織に所属している場合には、組織名または組織 ID を追加する必要があります。組織 ID を取得するには、Red Hat の連絡先にお問い合わせください。
- システムを Red Hat Insights に接続しない場合は、Insights チェックボックスをオフにします。
- をクリックします。
5.3. Web コンソールでアクティベーションキーを使用してサブスクリプションを登録
RHEL Web コンソールでアクティベーションキーを使用して、新しくインストールした Red Hat Enterprise Linux を登録できます。
前提条件
- Red Hat 製品サブスクリプションのアクティベーションキー。
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
概要 ページの 健全性 フィールドで、未登録の 警告をクリックするか、メインメニューの サブスクリプション をクリックして、サブスクリプション情報を含むページに移動します。
.
- Overview フィールドの をクリックします。
[システムの登録] ダイアログボックスで、[アクティベーションキー] を選択して、アクティベーションキーを使用して登録します。
- キーを入力します。
組織名または ID を入力します。
組織 ID の取得は、Red Hat にお問い合わせください。
- Red Hat Insights にシステムを接続しない場合は、Insights チェックボックスのチェックを外してください。
- をクリックします。
第6章 Web コンソールでリモートシステムの管理
リモートシステムに接続し、RHEL 8 Web コンソールで管理できます。
学習内容:
- 接続したシステムで最適なトポロジー
- リモートシステムを追加および削除する方法
- リモートシステム認証に SSH 鍵を使用する時、理由、および方法
-
スマートカードで認証されたユーザーがリモートホストに
SSH
接続してサービスにアクセスできるように Web コンソールクライアントを設定する方法。
前提条件
- SSH サービスはリモートシステムで実行されています。
6.1. Web コンソールのリモートシステムマネージャー
セキュリティー上の理由から、RHEL 8 Web コンソールによって管理されるリモートシステムの次のネットワーク設定を使用します。
- Web コンソールを使用して、システム 1 台を要塞ホストとして設定します。要塞ホストは、開いている HTTPS ポートを使用するシステムです。
- その他のすべてのシステムは SSH を介して通信します。
要塞ホストで Web インターフェイスを使用して、デフォルト設定でポート 22 を使用して、SSH プロトコルを介して他のすべてのシステムに到達できます。
6.2. Web コンソールへのリモートシステムの追加
RHEL Web コンソールでは、対応する認証情報を使用してリモートシステムを追加した後、そのリモートシステムを管理できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
RHEL 8 Web コンソールで、概要 ページの左上隅にある
< ユーザー名 > @ < ホスト名 >
をクリックします。- ドロップダウンメニューから、 クリックします。
- 新規ホストの追加 ダイアログボックスで、追加するホストを指定します。
(オプション) 接続するアカウントのユーザー名を追加します。
リモートシステムのユーザーアカウントを使用できます。ただし、管理者権限のないユーザーアカウントの認証情報を使用すると、管理タスクを実行できません。
ローカルシステムと同じ認証情報を使用すると、Web コンソールはログインするたびにリモートシステムを自動的に認証します。複数のシステムで同じ認証情報を使用すると、セキュリティーが弱まることに注意してください。
- 必要に応じて、色 フィールドをクリックして、システムの色を変更します。
- をクリックします。
Web コンソールはリモートシステムへのログインに使用されるパスワードを保存しないため、システムを再起動するたびに再度ログインする必要があります。次回ログインするときは、切断されたリモートシステムのメイン画面にある
クリックして、ログインダイアログを開きます。検証
-
新しいホストは
、<username> @ <hostname>
ドロップダウンメニューに表示されます。
6.3. 新しいホストの SSH ログインの有効化
Web コンソールに新しいホストを追加すると、SSH キーを使用してホストにログインすることもできます。システム上にすでに SSH キーがある場合は、Web コンソールは既存のものを使用します。そうでない場合は、Web コンソールはキーを作成できます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
RHEL 8 Web コンソールで、概要 ページの左上隅にある
< ユーザー名 > @ < ホスト名 >
をクリックします。- ドロップダウンメニューから、 クリックします。
- 新規ホストの追加 ダイアログボックスで、追加するホストを指定します。
接続するアカウントのユーザー名を追加します。
リモートシステムのユーザーアカウントを使用できます。ただし、管理者権限のないユーザーアカウントを使用すると、管理タスクを実行できません。
- 必要に応じて、色 フィールドをクリックして、システムの色を変更します。
パスワードを要求する新しいダイアログウィンドウが表示されます。
- ユーザーアカウントのパスワードを入力します。
すでに SSH キーをお持ちの場合は、SSH キーの承認 をチェックしてください。
SSH 鍵がない場合は、Create new SSH key and authorize it にチェックを入れてください。Web コンソールがキーを作成します。
- SSH 鍵のパスワードを追加します。
- パスワードを確認すします。
- をクリックします。
検証
- ログアウトします。
- ログインし直してください。
- Not connected to host 画面の をクリックします。
認証オプションとして、SSH 鍵を選択します。
- 鍵のパスワードを入力します。
- をクリックします。
6.4. スマートカードで認証されたユーザーが、再度認証を要求されることなくリモートホストに SSH 接続できるようにするための Web コンソールの設定
RHEL の Web コンソールでユーザーアカウントにログインした後、Identity Management (IdM) システム管理者として、SSH
プロトコルを使用してリモートマシンに接続する必要がある場合があります。制約付き委任 機能を使用すると、再度認証を求められることなく SSH
を使用することができます。
制約付き委任を使用するように Web コンソールを設定するには、次の手順に従います。以下の例では、Web コンソールセッションは myhost.idm.example.com ホストで実行され、認証されたユーザーの代わりに SSH
を使用して remote.idm.example.com ホストにアクセスするように設定されています。
前提条件
-
IdM
admin
Ticket-Granting Ticket (TGT) を取得している -
remote.idm.example.com への
root
アクセス権がある - Web コンソールサービスが IdM に存在する
- remote.idm.example.com ホストが IdM に存在する
Web コンソールは、ユーザーセッションに
S4U2Proxy
Kerberos チケットを作成している。これを確認するために、IdM ユーザーで Web コンソールにログインし、Terminal
ページを開き、以下を入力します。$ klist Ticket cache: FILE:/run/user/1894000001/cockpit-session-3692.ccache Default principal: user@IDM.EXAMPLE.COM Valid starting Expires Service principal 07/30/21 09:19:06 07/31/21 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM 07/30/21 09:19:06 07/31/21 09:19:06 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM for client HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
手順
委任ルールでアクセス可能な対象ホストのリストを作成します。
サービス委任ターゲットを作成します。
$ ipa servicedelegationtarget-add cockpit-target
委任対象に対象ホストを追加します。
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
サービス委任ルールを作成し、
HTTP
サービスの Kerberos プリンシパルを追加することで、cockpit
セッションが対象ホストのリストにアクセスできるようにします。サービス委任ルールを作成します。
$ ipa servicedelegationrule-add cockpit-delegation
Web コンソールクライアントを委任ルールに追加します。
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
委任対象を委任ルールに追加します。
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
remote.idm.example.com ホストで Kerberos 認証を有効にします。
-
root
として remote.idm.example.com にSSH
接続します。 -
/etc/ssh/sshd_config
ファイルを開いて編集します。 -
GSSAPIAuthentication no
行のコメントを外し、GSSAPIAuthentication yes
に置き換えて、GSSAPIAuthentication
を有効にします。
-
上記の変更がすぐに有効になるように、remote.idm.example.com の
SSH
サービスを再起動します。$ systemctl try-restart sshd.service
6.5. Ansible を使用して Web コンソールを設定し、スマートカードで認証されたユーザーが再認証を求められることなくリモートホストに SSH 接続できるようにする
RHEL の Web コンソールでユーザーアカウントにログインした後、Identity Management (IdM) システム管理者として、SSH
プロトコルを使用してリモートマシンに接続する必要がある場合があります。制約付き委任 機能を使用すると、再度認証を求められることなく SSH
を使用することができます。
servicedelegationrule
および servicedelegationtarget
ansible-freeipa
モジュールを使用して、制約付き委任を使用するように Web コンソールを設定するには、この手順に従います。以下の例では、Web コンソールセッションは myhost.idm.example.com ホストで実行され、認証されたユーザーの代わりに SSH
を使用して remote.idm.example.com ホストにアクセスするように設定されています。
前提条件
-
IdM
admin
パスワードがある -
remote.idm.example.com への
root
アクセスがある - Web コンソールサービスが IdM に存在する
- remote.idm.example.com ホストが IdM に存在する
Web コンソールは、ユーザーセッションに
S4U2Proxy
Kerberos チケットを作成している。これを確認するために、IdM ユーザーで Web コンソールにログインし、Terminal
ページを開き、以下を入力します。$ klist Ticket cache: FILE:/run/user/1894000001/cockpit-session-3692.ccache Default principal: user@IDM.EXAMPLE.COM Valid starting Expires Service principal 07/30/21 09:19:06 07/31/21 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM 07/30/21 09:19:06 07/31/21 09:19:06 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM for client HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.14 以降を使用している。
-
Ansible コントローラーに
ansible-freeipa
パッケージがインストールされている。 - この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成したことを前提としている。
-
この例では、secret.yml Ansible vault に
ipaadmin_password
が保存されていることを前提としています。
-
ターゲットノード (
ansible-freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
$ cd ~/MyPlaybooks/
以下の内容で
web-console-smart-card-ssh.yml
Playbook を作成します。委任対象の存在を確認するタスクを作成します。
--- - name: Playbook to create a constrained delegation target hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure servicedelegationtarget web-console-delegation-target is present ipaservicedelegationtarget: ipaadmin_password: "{{ ipaadmin_password }}" name: web-console-delegation-target
対象ホストを委任ターゲットに追加するタスクを追加します。
- name: Ensure servicedelegationtarget web-console-delegation-target member principal host/remote.idm.example.com@IDM.EXAMPLE.COM is present ipaservicedelegationtarget: ipaadmin_password: "{{ ipaadmin_password }}" name: web-console-delegation-target principal: host/remote.idm.example.com@IDM.EXAMPLE.COM action: member
委任ルールの存在を確認するタスクを追加します。
- name: Ensure servicedelegationrule delegation-rule is present ipaservicedelegationrule: ipaadmin_password: "{{ ipaadmin_password }}" name: web-console-delegation-rule
Web コンソールクライアントサービスの Kerberos プリンシパルが制約付き委任ルールのメンバーであることを確認するタスクを追加します。
- name: Ensure the Kerberos principal of the web console client service is added to the servicedelegationrule web-console-delegation-rule ipaservicedelegationrule: ipaadmin_password: "{{ ipaadmin_password }}" name: web-console-delegation-rule principal: HTTP/myhost.idm.example.com action: member
制約付き委任ルールが web-console-delegation-target 委任対象と関連付けられることを確認するタスクを追加します。
- name: Ensure a constrained delegation rule is associated with a specific delegation target ipaservicedelegationrule: ipaadmin_password: "{{ ipaadmin_password }}" name: web-console-delegation-rule target: web-console-delegation-target action: member
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i inventory web-console-smart-card-ssh.yml
remote.idm.example.com で Kerberos 認証を有効にします。
-
root
として remote.idm.example.com にSSH
接続します。 -
/etc/ssh/sshd_config
ファイルを開いて編集します。 -
GSSAPIAuthentication no
行のコメントを外し、GSSAPIAuthentication yes
に置き換えて、GSSAPIAuthentication
を有効にします。
-
関連情報
- スマートカードを使用して Web コンソールへのログイン
- アイデンティティー管理における制約付き委任
-
/usr/share/doc/ansible-freeipa/
ディレクトリーのREADME-servicedelegationrule.md
およびREADME-servicedelegationtarget.md
-
/usr/share/doc/ansible-freeipa/playbooks/servicedelegationtarget
および/usr/share/doc/ansible-freeipa/playbooks/servicedelegationrule
ディレクトリーのサンプル Playbook
第7章 IdM ドメインで RHEL 8 Web コンソールにシングルサインオンを設定
RHEL 8 Web コンソールで Identity Management (IdM) によって提供されるシングルサインオン (SSO) 認証を使用すると、次の利点を活用できます。
- IdM ドメインの管理者は、RHEL 8 Web コンソールを使用して、ローカルマシンを管理できます。
- IdM ドメインで Kerberos チケットを使用すると、Web コンソールにアクセスする際にログイン認証情報を指定する必要がなくなりました。
- IdM ドメインが認識しているすべてのホストは、RHEL 8 Web コンソールのローカルインスタンスから SSH 経由でアクセスできます。
- 証明書設定は必須ではありません。コンソールの Web サーバーでは、IdM 認証局が発行した証明書に自動的に切り替わり、ブラウザーに許可されます。
RHEL Web コンソールにログインするための SSO を設定するには、次のことが必要です。
- RHEL 8 Web コンソールを使用して IdM ドメインにマシンを追加します。
- 認証に Kerberos を使用する場合は、マシン上で Kerberos チケットを取得する必要があります。
- IdM サーバーの管理者が、任意のホストで任意のコマンドを実行できます。
前提条件
RHEL Web コンソールが RHEL 8 システムにインストールされている。
詳細は、Web コンソールのインストールおよび有効化 を参照してください。
RHEL Web コンソールを使用して IdM クライアントがシステムにインストールされている。
詳細は IdM クライアントのインストール を参照してください。
7.1. Web コンソールを使用した RHEL 8 システムの IdM ドメインへの参加
Web コンソールを使用して、Red Hat Enterprise Linux 8 システムを Identity Management (IdM) ドメインに参加させることができます。
前提条件
- IdM ドメインが実行中で参加するクライアントから到達可能
- IdM ドメインの管理者認証情報がある。
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
- Overview タブの Configuration フィールドで、Join Domain をクリックします。
- ドメイン参加 ダイアログボックスの ドメインアドレス フィールドに、IdM サーバーのホスト名を入力します。
- ドメイン管理者名 フィールドで、IdM 管理アカウントのユーザー名を入力します。
- Domain administrator password にパスワードを追加します。
- をクリックします。
検証
- システムが IdM ドメインに参加していると、RHEL 8 Web コンソールにエラーが表示されず、システム 画面でドメイン名を確認できます。
ユーザーがドメインのメンバーであることを確認するには、Terminal ページをクリックし、
id
コマンドを実行します。$ id euid=548800004(example_user) gid=548800004(example_user) groups=548800004(example_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
7.2. Kerberos 認証を使用して Web コンソールにログイン
Kerberos 認証を使用するように RHEL 8 システムを設定します。
SSO を使用する場合、通常、Web コンソールでは管理者権限がありません。これは、パスワードなしの sudo を設定した場合にのみ機能します。Web コンソールは、対話的に sudo パスワードを要求しません。
前提条件
稼働中で、会社の環境で到達可能な IdM ドメイン
詳細は、Joining a RHEL 8 system to an IdM domain using the web console を参照してください。
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
-
システムが SSSD クライアントによって管理される Kerberos チケットを使用していない場合は、
kinit
ユーティリティーを使用して手動でチケットを要求します。
手順
Web ブラウザーに次の URL を入力して、RHEL Web コンソールにログインします。
https://<dns_name>:9090
この時点で、RHEL Web コンソールへの接続に成功しており、設定を開始できます。
第8章 集中管理ユーザー向けに Web コンソールを使用したスマートカード認証の設定
RHEL Web コンソールで、以下の方法で集中管理されているユーザーに対してスマートカード認証を設定できます。
- Identity Management
- Identity Management を使用してフォレスト間の信頼に接続する Active Directory
スマートカード認証では管理者権限はまだ昇格されず、Web コンソールは Web ブラウザーで読み取り専用モードで開きます。
sudo
を使用して、組み込みターミナルで管理コマンドを実行できます。
前提条件
スマートカード認証を使用するシステムは、Active Directory または Identity Management ドメインのメンバーである必要があります。
Web コンソールを使用して RHEL 8 システムをドメインに参加させる方法の詳細は、Web コンソールを使用して RHEL システムを IdM ドメインに参加させる を参照してください。
スマートカード認証に使用される証明書は、Identity Management または Active Directory の特定のユーザーに関連付けられている必要があります。
Identity Management のユーザーと証明書の関連付けの詳細は、Adding a certificate to a user entry in the IdM Web UI または Adding a certificate to a user entry in the IdM CLI を参照してください。
8.1. 集中管理ユーザーのスマートカード認証
スマートカードは、カードに保存されている証明書を使用して個人認証を提供できる物理デバイスです。個人認証とは、ユーザーパスワードと同じ方法でスマートカードを使用できることを意味します。
秘密鍵と証明書の形式で、スマートカードにユーザーの認証情報を保存できます。特別なソフトウェアおよびハードウェアを使用して、そのソフトウェアにアクセスします。スマートカードをリーダーまたは USB ソケットに挿入して、パスワードを入力する代わりに、スマートカードの PIN コードを入力します。
Identity Management (IdM) では、以下によるスマートカード認証に対応しています。
- IdM 認証局が発行するユーザー証明書。詳細は、スマートカード認証用の Identity Management の設定 を参照してください。
- Active Directory Certificate Service (ADCS) 認証局が発行するユーザー証明書。詳細は IdM でスマートカード認証用に ADCS が発行した証明書の設定 を参照してください。
スマートカード認証の使用を開始する場合は、ハードウェア要件 Smart Card support in RHEL8+ を参照してください。
8.2. スマートカードを管理および使用するツールのインストール
前提条件
-
gnutls-utils
パッケージがインストールされている。 -
opensc
パッケージがインストールされている。 -
pcscd
サービスを実行している。
スマートカードを設定する前に、対応するツール (証明書を生成して pscd
サービスを起動できるもの) をインストールする必要があります。
手順
opensc
パッケージおよびgnutls-utils
パッケージをインストールします。# yum -y install opensc gnutls-utils
pcscd
サービスを開始します。# systemctl start pcscd
検証
pcscd
サービスが稼働していることを確認します。# systemctl status pcscd
8.3. スマートカードを準備し、証明書と鍵をスマートカードにアップロードする
pkcs15-init
ツールを使用してスマートカードを設定するには、この手順に従います。このツールは、以下を設定するのに役立ちます。
- スマートカードの消去
- 新しい PIN および任意の PIN ブロック解除キー (PUK) の設定
- スマートカードでの新規スロットの作成
- スロットへの証明書、秘密鍵、および公開鍵の保存
- 必要に応じて、特定のスマートカードではこのタイプのファイナライズが必要なため、スマートカードの設定をロックします。
pkcs15-init
ツールは、すべてのスマートカードで機能するとは限りません。使用しているスマートカードで動作するツールを使用する必要があります。
前提条件
pkcs15-init
ツールを含むopensc
パッケージがインストールされている。詳細は スマートカードを管理および使用するツールのインストール を参照してください。
- カードがリーダーに挿入され、コンピューターに接続されている。
-
スマートカードに保存する秘密鍵、公開鍵、および証明書がある。この手順の
testuser.key
、testuserpublic.key
、およびtestuser.crt
は、秘密鍵、公開鍵、および証明書に使用される名前です。 - 現在のスマートカードユーザー PIN およびセキュリティーオフィス PIN (SO-PIN)
手順
スマートカードを消去して PIN で自身を認証します。
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:
カードが削除されました。
スマートカードを初期化し、ユーザーの PIN と PUK を設定します。また、セキュリティー担当者の PIN と PUK を設定します。
$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader name
pcks15-init
ツールは、スマートカードに新しいスロットを作成します。スロットのラベルと認証 ID を設定します。
$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader name
ラベルは人間が判読できる値に設定されます (この場合は
testuser
)。auth-id
は 16 進数の値である必要があります。この場合、01
に設定されます。スマートカードの新しいスロットに秘密鍵を保存し、ラベルを付けます。
$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name
注記--id
に指定する値は、秘密鍵を保存するときと、次の手順で証明書を保存するときに同じである必要があります。--id
に独自の値を指定することを推奨します。そうしないと、より複雑な値がツールによって計算されます。スマートカードの新しいスロットに証明書を保存し、ラベル付けします。
$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name
オプション: スマートカードの新しいスロットに公開鍵を保存し、ラベルを付けます。
$ pkcs15-init --store-public-key testuserpublic.key --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name
注記公開鍵が秘密鍵または証明書に対応する場合は、秘密鍵または証明書の ID と同じ ID を指定します。
オプション: スマートカードの中には、設定をロックしてカードをファイナライズする必要があるものもあります。
$ pkcs15-init -F
この段階では、スマートカードには、新たに作成されたスロットに証明書、秘密鍵、および公開鍵が含まれます。ユーザーの PIN と PUK、およびセキュリティー担当者の PIN と PUK も作成しました。
8.4. Web コンソールのスマートカード認証の有効化
Web コンソールでスマートカード認証を使用するには、cockpit.conf
ファイルでスマートカード認証方式を有効にします。
また、同じファイルでパスワード認証を無効にすることもできます。
前提条件
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
- Terminal をクリックします。
/etc/cockpit/cockpit.conf
でClientCertAuthentication
をyes
に設定します。[WebService] ClientCertAuthentication = yes
必要に応じて、以下のようにして
cockpit.conf
でパスワードベースの認証を無効にします。[Basic] action = none
この設定ではパスワード認証が無効になり、常にスマートカードを使用する必要があります。
Web コンソールを再起動して、
cockpit.service
が変更を受け入れることを確認します。# systemctl restart cockpit
8.5. スマートカードを使用して Web コンソールへのログイン
スマートカードを使用して、Web コンソールにログインできます。
前提条件
- 有効な証明書が、Active Directory または Identity Management ドメインで作成されたユーザーアカウントに関連付けられているスマートカードに保存されている。
- スマートカードのロックを解除するピン。
- スマートカードがリーダーに追加されている。
RHEL 8 Web コンソールをインストールしました。
手順は、Installing and enabling the web console を参照してください。
手順
RHEL 8 Web コンソールにログインします。
詳細は、Web コンソールへのログイン を参照してください。
ブラウザーは、スマートカードに保存されている証明書を PIN で保護するよう要求します。
- Password Required ダイアログボックスで PIN を入力し、OK をクリックします。
- User Identification Request ダイアログボックスで、スマートカードに保存されている証明書を選択します。
Remember this decision を選択します。
次回、このウィンドウが開きません。
注記この手順は、Google Chrome ユーザーには適用されません。
- OK をクリックします。
これで接続され、Web コンソールがそのコンテンツを表示します。
8.6. DoS 攻撃を防ぐためのユーザーセッションおよびメモリーの制限
証明書認証は、別のユーザーの権限を借用しようとする攻撃者に対して Web サーバー cockpit-ws
のインスタンスを分離して孤立させることで保護されます。ただし、これによりサービス拒否攻撃 (DoS) 攻撃が発生する可能性があります。リモートの攻撃者は大量の証明書を作成し、異なる証明書を使用してそれぞれ cockpit-ws に多数の HTTPS 要求を送信することができます。
このような DoS 攻撃を防ぐには、これらの Web サーバーインスタンスの共有リソースを制限します。デフォルトでは、接続数とメモリー使用量の制限として、200 スレッドと 75 % (ソフト) または 90 % (ハード) のメモリー制限が設定されています。
この例の手順では、接続数とメモリーを制限することでリソースを保護する方法を示します。
手順
端末で
system-cockpithttps.slice
設定ファイルを開きます。# systemctl edit system-cockpithttps.slice
TasksMax
を 100 に、CPUQuota
を 30% に制限します。[Slice] # change existing value TasksMax=100 # add new restriction CPUQuota=30%
変更を適用するには、システムを再起動します。
# systemctl daemon-reload # systemctl stop cockpit
新しいメモリーとユーザーセッションにより、cockpit-ws
Web サーバーに対する DoS 攻撃のリスクが低減されます。
8.7. 関連情報
第9章 Web コンソールでの Satellite ホストの管理と監視
Red Hat Satellite Server で RHEL Web コンソール統合を有効にすると、Web コンソールで多数のホストを大規模に管理できるようになります。
Red Hat Satellite は、物理環境、仮想環境、およびクラウド環境全体のシステムをデプロイ、設定、保守するためのシステム管理ソリューションです。Satellite では、一元化されたツールを使用して複数の Red Hat Enterprise Linux デプロイメントのプロビジョニング、リモート管理、監視が可能です。
デフォルトでは、Red Hat Satellite では RHEL Web コンソールの統合が無効になっています。Red Hat Satellite 内からホストの RHEL Web コンソール機能にアクセスするには、まず Red Hat Satellite Server で RHEL Web コンソールの統合を有効にする必要があります。
Satellite Server で RHEL Web コンソールを有効にするには、root
として次のコマンドを入力します。
# satellite-installer --enable-foreman-plugin-remote-execution-cockpit --reset-foreman-plugin-remote-execution-cockpit-ensure
関連情報
- Red Hat Satellite での ホストの管理ガイドの RHEL Web コンソールを使用したホストの管理と監視。