RSA NetWitness バージョン 11.x での SOS の実行
Issue
11.x デバイスの診断情報を取得したいと考えています。
Resolution
要件: このユーティリティには2つのRPMが必要です。「Resolution」手順を実行する前にこのナレッジベースの記事の「Notes」セクションを参照してください。実行:
- 次のコマンドを使用してコマンドラインからスクリプトを実行できます:
OWB_ALLOW_NON_FIPS=1 sosreport
- 次のコマンドを使用して画面上のヘルプメニューを表示できます:
OWB_ALLOW_NON_FIPS=1 sosreport --help
- 次のコマンドを使用してプラグインをスキップできます (カスタマーサポートからリクエスト時のみ):
--skip-plugins=<pluginname>
- 次のコマンドを使用するとプラグイン「rsa_nw_mongo」と「rsa_nw_rest」のみをスキップできます:
OWB_ALLOW_NON_FIPS=1 sosreport --skip-plugins=rsa_nw_mongo,rsa_nw_rest
- 次のコマンドはプラグイン「rsa_nw_mongo」のみを実行するために使用できます:
OWB_ALLOW_NON_FIPS=1 sosreport -o rsa_nw_mongo
- 次のコマンドを使用するとsosreportでログサイズを 5 MB(デフォルト: 10 MB)に制限できます:
OWB_ALLOW_NON_FIPS=1 sosreport --log-size=5
- ただし、これはこの制限に従うように特別に設定されたログファイルにのみ適用されます。
- 次のコマンドを使用してアクティブなプラグインと非アクティブなプラグインのリストを検索できます:
OWB_ALLOW_NON_FIPS=1 sosreport -l
- 次のコマンドを使用してヘルプメニューを表示できます:
[root@saserver1857 ~]# OWB_ALLOW_NON_FIPS=1 sosreport --help
Usage: sosreport [options]
Options:
-h, --help show this help message and exit
-l, --list-plugins list plugins and available plugin options
-n NOPLUGINS, --skip-plugins=NOPLUGINS
disable these plugins
--experimental enable experimental plugins
-e ENABLEPLUGINS, --enable-plugins=ENABLEPLUGINS
enable these plugins
-o ONLYPLUGINS, --only-plugins=ONLYPLUGINS
enable these plugins only
-k PLUGOPTS, --plugin-option=PLUGOPTS
plugin options in plugname.option=value format (see
-l)
--log-size=LOG_SIZE set a limit on the size of collected logs (in MiB)
-a, --alloptions enable all options for loaded plugins
--all-logs collect all available logs regardless of size
--batch batch mode - do not prompt interactively
--build preserve the temporary directory and do not package
results
-v, --verbose increase verbosity
--verify perform data verification during collection
--quiet only print fatal errors
--debug enable interactive debugging using the python debugger
--ticket-number=CASE_ID
specify ticket number
--case-id=CASE_ID specify case identifier
-p PROFILES, --profile=PROFILES
enable plugins selected by the given profiles
--list-profiles display a list of available profiles and plugins that
they include
--name=CUSTOMER_NAME specify report name
--config-file=CONFIG_FILE
specify alternate configuration file
--tmp-dir=TMP_DIR specify alternate temporary directory
--no-report disable HTML/XML reporting
-s SYSROOT, --sysroot=SYSROOT
system root directory path (default='/')
-c CHROOT, --chroot=CHROOT
chroot executed commands to SYSROOT [auto, always,
never] (default=auto)
-z COMPRESSION_TYPE, --compression-type=COMPRESSION_TYPE
compression technology to use [auto, gzip, bzip2, xz]
(default=auto)
- ヘルプメニューオプションの例:
- dlmプラグインのみを有効にし、dlmロックダンプを収集します:
# OWB_ALLOW_NON_FIPS=1 sosreport -o dlm -k dlm.lockdump
- メモリと samba プラグインを無効にし、rpm -Va コレクションをオフにします:
# OWB_ALLOW_NON_FIPS=1 sosreport -n memory,samba -k rpm.rpmva=off
- dlmプラグインのみを有効にし、dlmロックダンプを収集します:
- ヘルプメニューオプションの例:
Notes
RSA NetWitness 11.0 デバイスのBSAFEパッケージにより、そのままの状態でsosreportを実行すると多くのエラーが発生し、SOSがデバッグモードで実行されます。
次のようなエラーの例:
# sosreport
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/usr/lib64/python2.7/hashlib.py", line 129, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/usr/lib64/python2.7/hashlib.py", line 98, in __get_openssl_constructor
f(usedforsecurity=False)
ValueError: error:3207A06D:lib(50):B_HASH_init:cr new
DEBUG:sos:set sysroot to '/' (default)
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/usr/lib64/python2.7/hashlib.py", line 129, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/usr/lib64/python2.7/hashlib.py", line 98, in __get_openssl_constructor
f(usedforsecurity=False)
ValueError: error:3207A06D:lib(50):B_HASH_init:cr new
DEBUG:sos:set sysroot to '/' (default)
その他のエラーの例:
plugin rsa_nw_rest does not install, skipping: No module named 'requests.packages.urllib3'
WARNING:sos:plugin rsa_nw_rest does not install, skipping: No module named 'requests.packages.urllib3'
WARNING:sos:plugin rsa_nw_rest does not install, skipping: No module named 'requests.packages.urllib3'
同様のメッセージが /sos logs/sos.log でsosreportの出力にも表示されます。
2018-10-18 01:54:52,515 WARNING: plugin rsa_nw_rest does not install, skipping: No module named 'requests.packages.urllib3'
Note:上記の rsa_nw_rest プラグインの問題は、以下のステップ 1. で解決されます。
次の修正により、SOSがよりクリーンに実行されるようになります。お客様が次の手順の実行を希望しない場合、SOSパッケージは .tar.xz ファイルに付随する .sha256 ファイル(必須ではありません)を生成しません。また、.tar.xz ファイルの内容にはいくつかの項目が欠落している可能性があります。ただし、レポートは実行されます。
Fix
エラーを解決するには、次の手順を実行する必要があります:
- まず、コマンドの前に「OWB_ALLOW_NON_FIPS=1」を追加してレポートを実行します。これにより、画面に出力されるほぼすべてのエラーが削除されます。
- sosreportの実行例:
OWB_ALLOW_NON_FIPS=1 sosreport
- これを恒久的な修正にするには、次の内容のファイル /etc/profile.d/sos.sh を作成します:
alias sosreport='OWB_ALLOW_NON_FIPS=1 sosreport' 2>/dev/nullファイル /etc/profile.d/sos.sh を作成するコマンドの例
printf "alias sosreport='OWB_ALLOW_NON_FIPS=1 sosreport' 2>/dev/null" > /etc/profile.d/sos.sh
- 次のエラーは、RSAシステムがFIPSを有効にした方法です。 オープンソースのSOSパッケージは、/proc/sys/crypto/fips_enabled を調べて、FIPS対応システムで実行されているかどうかを確認します。 デフォルトでは、デバイスのファイルには「0」が含まれており、SOSパッケージはFIPSが有効になっていないと誤って想定しています。 このため、SOSが生成されたレポートのチェックサムファイルを作成しようとすると失敗します。 SOSはアプライアンスをFIPS非対応として認識しているため、sha256ではなくmd5を使用してチェックサムを作成します。
- この問題を解決するには、SOSコードを手動で変更します。 RSAはオープンソースコードを変更することはできませんが、必要な情報をお客様に提供することはできます。 お客様は、sos RPM (例: sos-3.3-5.el7.centos.noarch.rpm) を更新するたびに、次の手順を繰り返す必要があります:
sed -i.bak 's/"md5"/"sha256"/g' /usr/lib/python2.7/site-packages/sos/policies/__init__.py
- この問題を解決するには、SOSコードを手動で変更します。 RSAはオープンソースコードを変更することはできませんが、必要な情報をお客様に提供することはできます。 お客様は、sos RPM (例: sos-3.3-5.el7.centos.noarch.rpm) を更新するたびに、次の手順を繰り返す必要があります:
- お客様はsshセッションからログアウトし、再度ログインする必要があります。
お客様が上記の手順の実行を希望しない場合は、デバッグ出力の最後に次の内容がstdoutで出力されます:
INFO:sos_ui:
Creating compressed archive...
INFO:sos:[archive:TarFileArchive] finalizing archive '/var/tmp/sos.QX5bXA/sosreport-df.323322345676645-20170915152056' using method 'auto'
INFO:sos:[archive:TarFileArchive] built archive at '/var/tmp/sos.QX5bXA/sosreport-df.323322345676645-20170915152056.tar' (size=20480)
Traceback (most recent call last):
File "/usr/sbin/sosreport", line 25, in <module>
main(sys.argv[1:])
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1637, in main
sos.execute()
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1616, in execute
return self.final_work()
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1529, in final_work
checksum = self._create_checksum(archive, hash_name)
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1468, in _create_checksum
digest = hashlib.new(hash_name)
File "/usr/lib64/python2.7/hashlib.py", line 111, in __hash_new
return _hashlib.new(name, string, usedforsecurity)
ValueError: error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips
Creating compressed archive...
INFO:sos:[archive:TarFileArchive] finalizing archive '/var/tmp/sos.QX5bXA/sosreport-df.323322345676645-20170915152056' using method 'auto'
INFO:sos:[archive:TarFileArchive] built archive at '/var/tmp/sos.QX5bXA/sosreport-df.323322345676645-20170915152056.tar' (size=20480)
Traceback (most recent call last):
File "/usr/sbin/sosreport", line 25, in <module>
main(sys.argv[1:])
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1637, in main
sos.execute()
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1616, in execute
return self.final_work()
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1529, in final_work
checksum = self._create_checksum(archive, hash_name)
File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1468, in _create_checksum
digest = hashlib.new(hash_name)
File "/usr/lib64/python2.7/hashlib.py", line 111, in __hash_new
return _hashlib.new(name, string, usedforsecurity)
ValueError: error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips
お客様は、上記のログに記載されている場所で .tar.xz ファイルを見つけることができます。 この場合、/var/tmp/sos.QX5bXA/sosreport-df.323322345676645-20170915152056.tar ですが、--tmp-dir パラメータが使用されている場合、場所が若干異なる場合があります。
Product Details
NetWitness Product Set: RSA NetWitnessNetWitness Product/Service Type: NetWitness Server
NetWitness Version/Condition: 11.x
Platform: CentOS 7
Approval Reviewer Queue
Technical approval queue