Warning message

  • This translation is outdated. For the most up-to-date information, please refer to the English version.
  • Log in to add comments.

Insights 103

Amaya Rosa Gil Pippino published on 2018-05-29T19:35:47+00:00, last updated 2018-06-15T02:54:35+00:00

帰って来ました!!

サンフランシスコでのクレイジーなイノベーションの 1 週間の後、再び戻って来ました。また Red Hat Insights をニーズに合わせてカスタマイズするお話をしましょう。

ブラックリスト化するか否か、それが問題

以前の Red Hat Insights 102 の投稿でも書きましたが、Red Hat Insights が Red Hat サーバーに送信するデータ、データの送信方法、送信時については、制御が可能です。ただし、デフォルトから外れると、マイナス面もあります。

Insights が収集するデータについては、必要なオプションや制御をお客様に提供することが望まれます。しかし、Red Hat に送信するデフォルトのペイロードに修正を加える度に、使用中の環境において Insights が提供する分析レベルにマイナスの影響を与える可能性があります。これは、Insights は 分析に最小限のもの しか収集しないためです。収集ペイロードからデータを削除するたびに、インフラ内で問題を検出するルール機能にマイナス影響が出ます。

注記

先に進む前に、RHEL 6 と RHEL 7 のシステムにおけるコマンドの違いについて触れておきます。これは、以下に挙げるコマンドに関わってきます。RHEL 7.5 以降では、Red Hat Insights のクライアント名が変わっていますが、RHEL 6 については変更ありません。

RHEL 7.5 以降のユーザーについては、クライアント名 (およびクライアント名を使用するすべてのコマンドと場所) は insights-client になります。これ以前の RHEL ユーザーについては、RHEL 6.10 リリースで名前とその他の変更がもたらされます。現時点では、RHEL 6 ユーザーはレガシーのクライアント名である redhat-access-insights の使用を続けてください。

ブラックリスト化の情報、または特定データへのアクセスを拒否する方法

Red Hat Insights は、システムのランタイム設定についてのメタデータ (サポートケースの sosreport で収集される約 1%) を収集しますが、このデータは必要に応じてカスタマイズや匿名化、ブラックリスト化、難読化することができます。

Red Hat に送信するデータからファイル全体や特定のコマンド、特定のパターン、特定のキーワードを除外することができます。このような除外を実行するには、/etc/redhat-access-insights/remove.conf (RHEL 7.5 を使用している場合は /etc/insights-client/remove.conf) というファイルを作成し、/etc/redhat-access-insights/redhat-access-insights.conf (RHEL 7.5 を使用している場合は /etc/insights-client/insights-client.conf) の remove_file の行でこのファイルを指定します。以下のようになります。

[remove]
files=/etc/cluster/cluster.conf,/etc/hosts
commands=/bin/dmseg
patterns=password,username
keywords=super$ecret,ultra$ecret

この例のディレクティブについて解説しましょう。

  • files: 除外するファイルのコンマ区切り一覧。ファイルのリスト内の各要素は、そのファイルの絶対パスである必要があります。確実に除外するようにするには、これらのファイル名は、収集ルールに示されているものと正確に一致する必要があります。
  • commands: 実行すべきでない コマンドで、その出力を送信しないコマンドのコンマ区切り一覧。確実に除外するようにするには、これらのコマンド名は、収集ルールに示されているものと正確に一致する必要があります。
  • patterns: 送信しないパターンのコンマ区切り一覧。
  • keywords: 送信しないキーワードのコンマ区切り一覧。一致するキーワードは、リテラルキーワードに置き換えられます。このオプションを有効にするには、/etc/redhat-access-insights/redhat-access-insights.conf ファイルで obfuscate オプションを True に設定する必要があります。

重要!

パターンは行全体に影響するので、一致するパターンが含まれている行は送信しないでください。

以前の投稿でも説明しましたが、redhat-access-insights --no-upload コマンドで送信するデータを検証することができます。

実際にやってみましょう。

デフォルト設定を使用して Red Hat Insights クライアントが収集し、Red Hat に送信したものを見てみましょう。

Insights ホスト概要

実際にデータを収集することなく収集物を確認するには、以下のように --no-upload オプションで実行します。

[root@gherkin ~]# redhat-access-insights --no-upload
Starting to collect Insights data
See Insights data in /var/tmp/oLUbKq/insights-gherkin-20180521110933.tar.gz

収集されたものを確認するには、以下のコマンドで 生成された tar.gz ファイルを解凍し、そのファイルに移動します。

[root@gherkin ~]# tar xvfz /var/tmp/oLUbKq/insights-gherkin-20180521110933.tar.gz
[root@gherkin ~]# cd ./insights-gherkin-20180521110933/

ホスト名が収集されたことが分かります。

[root@gherkin insights-gherkin-20180521110933]# cat insights_commands/hostname
gherkin

NIC 情報も収集されています。

[root@gherkin insights-gherkin-20180521110933]# cat insights_commands/ethtool_eno1
Settings for eno1:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off (auto)
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes    

カーネルバージョン情報、アーキテクチャー、OS バージョンもあります。

[root@gherkin insights-gherkin-20180521110933]# cat insights_commands/uname_-a
Linux gherkin 3.10.0-693.11.1.el7.x86_64 #1 SMP Fri Oct 27 05:39:05 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@gherkin insights-gherkin-20180521110933]# cat insights_commands/uptime
 11:09:39 up 53 days, 10:27,  3 users,  load average: 0.40, 1.24, 0.90

マシンに現在マウントされているファイルシステムも収集されています。

[root@gherkin insights-gherkin-20180521110933]# cat insights_commands/mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=16323324k,nr_inodes=4080831,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
[...]

Insights は、使用中のシステムが認識しているホスト名と IP も収集します (以下は私の自宅の LAN のマシンです)。

[root@gherkin insights-gherkin-20180521110933]# cat etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# Máquinas virtuales residentes en gherkin
192.168.100.250 ansible-tower    ansible-tower.tortilla.org
192.168.100.189    ansible-node1    ansible-node1.tortilla.org
192.168.100.199    icg1        icg1.example.com
192.168.100.202    icg2        icg2.example.com
192.168.100.147    icg3        icg3.example.com
192.168.100.194    icg4        icg4.example.com

これらのデータを Red Hat に送信したくない場合はどうすればいいでしょうか? データを送信しないようにホストを設定しましょう。

まず、使用する remove.conf の場所を Insights エージェントに知らせるように /etc/redhat-access-insights/redhat-access-insights.conf で設定します。

[root@gherkin ~]# vi /etc/redhat-access-insights/redhat-access-insights.conf
[redhat-access-insights]
remove_file=/etc/redhat-access-insights/remove.conf

自分のマシン名と IP アドレスを Red Hat に送信したくないので、以下のように同じファイルでこれらを難読化します。

# Obfuscate IP addresses
obfuscate=True

# Obfuscate hostname
obfuscate_hostname=True

Red Hat Insights は、アクセスタイプなどの sshd 設定も収集します。

[root@gherkin insights-gherkin-20180521110933]# cd etc/ssh/
[root@gherkin ssh]# grep -E '[P|p]assword' *
#PermitEmptyPasswords no
# the setting of "PermitRootLogin without-password".

ここで remove.conf ファイルをそれぞれのニーズに合うように調整してみましょう。

[root@gherkin ~]# vi /etc/redhat-access-insights/remove.conf
[remove]
files=/etc/hosts,/proc/cpuinfo
commands=/bin/dmesg,/bin/mount,/bin/mount,/bin/uname -a,/sbin/ethtool,/usr/bin/uptime
patterns=password,username

こうすることで、上記の情報は収集、送信されなくなります。確認するには、--no-upload オプションでエージェントを実行して、結果を見てみます。

[root@gherkin ~]# redhat-access-insights --no-upload
WARNING: Excluding data from files
Starting to collect Insights data
WARNING: Skipping command /bin/dmesg
WARNING: Skipping command /sbin/ethtool
WARNING: Skipping command /bin/mount
WARNING: Skipping command /bin/uname -a
WARNING: Skipping command /usr/bin/uptime
WARNING: Skipping file /proc/cpuinfo
WARNING: Skipping file /etc/hosts
See Insights data in /var/tmp/eJ9LoU/soscleaner-3125813513575232.tar.gz

エージェントを実行すると、remove.conf ファイルで指定した除外対象のコマンドを省略していることが表示されます。

さらに、tar.gz ファイルで上記のコマンドとファイルを調べます。

[root@gherkin soscleaner-3125813513575232]# cat insights_commands/hostname
host0

[root@gherkin soscleaner-3125813513575232]# cat proc/cpuinfo
cat: proc/cpuinfo: No such file or directory

[root@gherkin soscleaner-3125813513575232]# cat etc/hosts
cat: etc/hosts: No such file or directory

[root@gherkin soscleaner-3125813513575232]# cat insights_commands/ethtool_eno1
cat: insights_commands/ethtool_eno1: No such file or directory

[root@gherkin soscleaner-3125813513575232]# cat insights_commands/mount
cat: insights_commands/mount: No such file or directory

[root@gherkin soscleaner-3125813513575232]# cat insights_commands/uptime
cat: insights_commands/uptime: No such file or directory

最後に、パターンが sshd 設定例でどのように機能しているか確認します。

[root@gherkin soscleaner-3125813513575232]# cd etc/ssh/
[root@gherkin ssh]# ls
sshd_config
[root@gherkin ~]# grep -E '[P|p]assword' sshd_config

まとめ

Red Hat Insights は、最小限かつ特定のデータを収集できるように設計されています。

お客様においては、修正を加える前に、--no-upload オプションを使用して何が収集されているか確認していただくことをお勧めします。

詳細情報

Insights が収集するパターン、ファイル、およびコマンド、さらにデータ収集の際に使用するファイルおよびコマンドを確認するには、こちらの ドキュメント を参照してください。

Japanese

About The Author

Amaya Rosa Gil Pippino's picture Red Hat Community Member 65 points

Amaya Rosa Gil ...

Born and raised in Madrid (Spain) of Spanish, Italian and Argentinian roots. Computer Science Engineer (BS and MS), technology passionate, Red Hatter since 2.010. Proud RHCA, Global Solutions Architect (GPTE) at Red Hat.