Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム リファレンス


6.15.1 実行許可コマンド定義ファイル

〈この項の構成〉

(1) 形式

(2) 機能

コマンドアダプタで実行できる外部コマンドとコマンドライン引数の組み合わせを正規表現で設定します。

コマンドアダプタへのリクエスト時,要求電文で指定された外部コマンドと各コマンドライン引数をそれぞれ半角空白で結合した文字列に対して,実行許可コマンド定義ファイルに指定した正規表現で判定します。

実行許可コマンド定義ファイルは次の手順で作成してください。

  1. コマンドアダプタで実行を許可するファイルパス,および指定可能とするコマンドライン引数の仕様をまとめます。

  2. チェック対象文字列を受理する正規表現を作成して,ファイルに記載します。

  3. 作成した実行許可コマンド定義ファイルは,任意の場所に任意のファイル名で保存します。

    注意事項

    実行許可コマンド定義ファイルを有効にするには,コマンドアダプタ実行環境プロパティファイルのadpcmd.config.command.allow-file-pathプロパティに保存先のファイルパスを指定してください。

(3) 記述例

実行許可コマンド定義ファイルの記述例を次に示します。

/bin/ls(?: -l)?
/usr/share/product/bin/[^ /]+.sh[^&|<>]*

(4) 注意事項

外部コマンドやコマンドライン引数の部分の受理正規表現は適切に設定してください。特に,システム設計時に次に示す前提条件がある場合は,システム管理者が意図しないプロセスの起動を抑止することで,セキュリティのリスクを回避できます。

参考

不適切な正規表現の一例を次に示します。

  • 任意文字列を受理する表現(例えば,.+や.*など)

    意図しないプロセスの起動を防げません。

  • シェルやコマンドプロンプトで実行制御の意味を持つ特殊な文字(例えば,&,|,>,<など)

    コマンドライン引数内に意図しないプロセスを指定された場合に起動を防げません。