« KernelCareをさくっとインストールしてみた。 | メイン | 実録 Xi Frame 構築血風録 »

2019/12/11

KernelCare ePortal を使ってみた

KernelCareの説明で予告していた大規模orエアギャップ環境でKernelCareを使う場合の投稿です。 KernelCareの仕組み上、Kernelのパッチはどこかからダウンロードする必要があります。ですので、なんらかの方法でダウンロード先(パッチ配信サーバ)を確保する必要があります。
今回説明するePortalはオンプレミス上に作成できるパッチ配信の管理サーバーです。


ePortalの機能

ePortalには以下のような機能があります。

  • KernelCareのクラウド上からパッチをダウンロード
  • KernelCare Agentのパッチ取得先として指定可能
  • Webベースの管理UIを提供

通常のePortalではクラウド上からパッチをダウンロードする必要があるため、完全なエアギャップ(インターネットにはどんな方法でも接続できない)環境では利用ができません。プロキシ経由でなんとか接続する、もしくはお手数ですがお問い合わせをいただければと思います。


ePortalのトライアル方法

Web上でのトライアルの申込ができません。お手数ですが弊社までご連絡ください。


ePortalをインストールして使ってみる


環境

システム要件は下記になります。

https://docs.kernelcare.com/jp/kernelcare_enterprise/

今回は下記のLinuxサーバーを用意しました。

  • OS: CentOS 7.5
  • HW: VMware Virtual Machine
    • CPU: 4core
    • memory: 4GB
    • disk: 200GB (homeディレクトリは作成せず)

プロキシーなしでインターネットに接続できる環境です。


インストール

対象OSに root でSSH接続した状態で作業をします。


SELinuxの設定変更

今回は検証ですので、SELinuxを Permissive に変更しています。

vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted


Nginxのリポジトリ設定

ePortalはNginxを利用します。Nginxの取得のためリポジトリを指定します。

cat > /etc/yum.repos.d/nginx.repo < [nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/\$basearch/
gpgcheck=0
enabled=1
EOL


KernelCare ePortalのリポジトリ設定

ePortalのリポジトリを設定します。

cat > /etc/yum.repos.d/kcare-eportal.repo < [kcare-eportal]
name=KernelCare ePortal
baseurl=https://repo.eportal.kernelcare.com/x86_64.el7/
enabled=1
gpgkey=https://repo.cloudlinux.com/kernelcare/RPM-GPG-KEY-KernelCare
gpgcheck=1
EOL


ePortalのインストール

インストールします。

yum install -y kcare-eportal

Kceportalinst


※画像をクリックしてポップアップウインドウでご覧ください。


ユーザーの作成

ePortalのWebUI管理用に "admin" ユーザーを作成します。
今回は下記のユーザー情報で作成します。

  • ユーザー名: admin
  • パスワード: password

kc.eportal -a admin -p password


ePortalへアクセス

ePortalのアクセスURLは下記になります。

  • http://(ePortal サーバーIPアドレス)/admin

ユーザー名、パスワードは ユーザーの作成 で作成したユーザーを使います。

Eportal_0



パッチソースへのアクセス設定

KernelCareのパッチ取得先とアクセスする際のユーザー情報を指定します。
ユーザー情報はベンダー(日本は代理店から)個別に提供が行われます。

情報は、Source(URL) , Login , Password の3つが提供されます。

  • 管理UI -> Settings -> Patch Source

Eportal_1



パッチセットのダウンロード

パッチのデータをダウンロードします。Webアクセスの場合はパッチセットのリンクをクリックしダウンロードします。
パッチのダウンロードにはしばらく時間がかかります。

  • 管理UI -> Feeds -> Default Feeds

Eportal_2



Keyの作成と管理

KeyはKernelCareエージェントを導入後、パッチ取得先(今回はePortal)に接続するためのキー情報になります。
ePortalではePortal上でKeyを発行し、そのキーをKernelCare Agent上で利用する形になります。

  • 管理UI -> Keys -> Create タブ

Eportal_3



ePortalに接続するKernelCare Agentをインストールする

接続先サーバーを指定してインストールします。
サンプルは下記です。

export KCARE_PATCH_SERVER=http://10.1.10.115/
export KCARE_REGISTRATION_URL=http://10.1.10.115/admin/api/kcare
export KCARE_MAILTO=admin@mycompany.com
curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash

kcarectl --register demokey1

サーバーのIPアドレス 10.1.10.115 は自身のePortalサーバーに置き換えます。 admin@mycompany.com も自身の管理者用メールアドレスに置き換えます。
demokey1 はKey情報になります。Keyの作成と管理で作成したKeyを指定します。


動作確認


ePortal

ePortalのWebUI上で管理しているサーバーの一覧や適用されているKernelバージョン(KernelCare適用時のKernelバージョン)を確認することができます。

20191129_14h19_52a



Agent

コマンドはクラウドを利用した場合と何も変わりません。

kcarectl -i でステータスを確認できます。

また、接続先サーバーの情報などはConfファイルに保存されています。

# cat /etc/sysconfig/kcare/kcare.conf
AUTO_UPDATE = YES
PATCH_SERVER=http://xxx.xxx.xxx.xxx/
REGISTRATION_URL=http://xxx.xxx.xxx.xxx/admin/api/kcare


まとめ

今回はePortalの紹介とインストール・設定方法の基本的な部分と投稿しました。
大量のLinuxに対してKernelCareを適用するにはやはり必要になってくるかと思いますので、大規模環境でKernelCareをご検討される際にはePortalも思い出して頂ければと思います。

お問い合わせはここからお願いします。

すずきけ