IBM i セキュリティ対策をするためにコマンド情報を纏める方法はありませんか?
Question
セキュリティ対策のため、コマンドの「制限されたユーザーで可能」などの情報を確認したいのですが、DSPCMD ですと1つ1つのコマンドを見る事になり非常に手間です。DSPCMD以外に確認する方法は無いでしょうか。
できれば、一覧に出して確認できる方法があると助かります。
Answer
コマンドの「制限されたユーザーで可能」を確認されたいということは、「機能の制限」を「*YES」にし制限を掛けているユーザーに対して、必要最低限のコマンドを実行させるように運用されているものと思います。
正しく管理されていない、実は誤った設定になっていたものがあると、重大なセキュリティーホールになる可能性がありますから、確かに一覧で確認できると助かりますよね。
DSPCMD ではご存じの通り、総称名や*ALLを指定できないので複数のコマンド情報を纏めて処理することはできません。
ただし、お客様のシステムがIBM i V7.5(TR1)、IBM i V7.4(TR7)以降であれば、以下のSQL ビューが使用できます。
COMMAND_INFO ビュー
https://www.ibm.com/docs/ja/i/7.5?topic=services-command-info-view
コマンド例①:すべてのコマンドを表示
SELECT * FROM QSYS2.COMMAND_INFO
WHERE COMMAND_LIBRARY = 'QSYS'
コマンド例②:「制限されたユーザーで可能」が YES のコマンドのみ表示
SELECT * FROM QSYS2.COMMAND_INFO
WHERE COMMAND_LIBRARY = 'QSYS'
AND ALLOW_LIMITED_USER ='YES'
IBM i Access Client Solutions(ACS)をご使用であれば「SQLスクリプトの実行」機能にて実行結果をExcelとして保管できます。
ACSのSQL実行結果をダウンロードしたい
https://www.e-bellnet.com/category/technology/2212/2212-02.html
「制限されたユーザーで可能」に該当する見出しは「ALLOW_LIMITED_USER」になります。
上記のコマンド例①で情報を抽出してExcel形式で保管して、見出し「ALLOW_LIMITED_USER」をフィルター機能で絞り込むと確認し易いかと思います。
セキュリティ対策には日々頭を悩ませているかと思いますが、上記によって少しでも手間が軽減されると嬉しいですね。
by . 槻樹