ユーザ ロール
IPS 5.1 の CLI では、複数ユーザの同時ログインが許可されます。ローカル センサーからユーザを作成および削除することができます。一度に変更できるユーザ アカウントは 1 つだけです。各ユーザは、ユーザが何を変更でき何を変更できないかを制御するロールに関連付けられます。
CLI は、管理者、オペレータ、ビューア、およびサービスの 4 つのユーザ ロールをサポートします。特権レベルはロールごとに異なるので、メニューや使用できるコマンドもロールによって異なります。
• 管理者 :このユーザ ロールは、最高レベルの特権を持ちます。管理者は、無制限の表示アクセス権を持ち、次の機能を実行できます。
–ユーザの追加とパスワードの割り当て
–物理インターフェイスおよび仮想センサーの制御のイネーブル化とディセーブル化
–仮想センサーへの物理センシング インターフェイスの割り当て
–設定または表示エージェントとしてセンサーへ接続することを許可されたホストのリストの変更
–センサー アドレス コンフィギュレーションの変更
–シグニチャの調整
–仮想センサーへのコンフィギュレーションの割り当て
–ルータの管理
• オペレータ :このユーザ ロールは、2 番目に高いレベルの特権を持ちます。オペレータは、無制限の表示アクセス権を持ち、次の機能を実行できます。
–パスワードの変更
–シグニチャの調整
–ルータの管理
–仮想センサーへのコンフィギュレーションの割り当て
• ビューア :このユーザ ロールは、最低レベルの特権を持ちます。ビューアは、コンフィギュレーションおよびイベント データの表示と、パスワードの変更を実行できます。
ヒント アプリケーションのモニタリングでは、センサーに対するビューア アクセス権のみが必要とされます。CLI を使用してビューア特権を持つユーザ アカウントをセットアップし、このアカウントを使用してセンサーに接続するようイベント ビューアを設定することができます。
• サービス :このユーザ ロールは、CLI への直接アクセス権を持ちません。サービス アカウント ユーザは、バッシュ シェルに直接ログインします。このアカウントは、サポートとトラブルシューティングにのみ使用します。不正な変更はサポートされません。不正に変更が行われた場合、適切な操作を保証するためデバイスのイメージを再作成する必要があります。サービス ロールを持つユーザは 1 人しか作成できません。
サービス アカウントにログインすると、次の警告が表示されます。
******************************* WARNING *****************************************
UNAUTHORIZED ACCESS TO THIS NETWORK DEVICE IS PROHIBITED.
This account is intended to be used for support and troubleshooting purposes only. Unauthorized modifications are not supported and will require this device to be re-imaged to guarantee proper operation.
*********************************************************************************
(注) サービス ロールは、必要に応じて CLI をバイパスできる特殊なロールです。サービス アカウントを編集できるのは、管理者特権を持つユーザだけです。
CLI の動作
IPS CLI を使用する際は、これらのヒントに従ってください。
プロンプト
• CLI コマンドに対して表示されるプロンプトは変更できません。
• システムから質問が表示され、ユーザの入力待ちになる場合は、対話型のプロンプトになります。デフォルト入力はカッコ [ ] 内に表示されます。デフォルト入力を受け入れるには、 Enter キーを押します。
ヘルプ
• コマンドのヘルプを表示するには、コマンドの後ろに ? を入力します。
次の例では、? の機能を示します。
terminal Configure from the terminal
(注) プロンプトがヘルプの表示から戻ると、前に入力されたコマンドが ? なしで表示されます。
• 不完全なトークンの後に ? を入力して、コマンドを完成させる有効なトークンを表示することもできます。トークンと ? の間にスペースがある場合は、コマンドがあいまいであることを示すエラーが表示されます。
% Ambiguous command : “show c”
スペースなしでトークンを入力すると、コマンドを完成させるために使用できるトークンの選択肢が表示されます(ヘルプの説明なしで)。
• 現在のモードで使用できるコマンドだけがヘルプによって表示されます。
タブ補完
• 現在のモードで使用できるコマンドだけがタブ補完およびヘルプによって表示されます。
• コマンドの完全な構文がわからない場合は、コマンドの一部を入力して Tab キーを押し、コマンドを完成させることができます。
• タブ補完で複数のコマンドが一致する場合は、何も表示されません。
再呼び出し
• モードで入力されたコマンドを再呼び出しするには、↑キーまたは↓キーを使用するか、あるいは Ctrl+P キーまたは Ctrl+N キーを押します。
(注) ヘルプおよびタブ補完の要求は、再呼び出しリストでは報告されません。
• ブランクのプロンプトは、再呼び出しリストの最後を示します。
大文字と小文字の区別
• CLI では、大文字と小文字は区別されませんが、テキストは入力された大文字と小文字の状態を保ってエコー バックされます。たとえば、次のように入力します。
Tab キーを押すと、次のように表示されます。
表示オプション
• --More--
は、ターミナル出力が割り当てられた表示スペースを超えていることを示しています。残りの出力を表示する場合は、Space キーを押して出力の次のページを表示するか、 Enter キーを押して出力を 1 行ずつ表示します。
• 現在の行の内容をクリアしてブランクのコマンドラインに戻るには、 Ctrl+C キーを押します。
コマンドライン編集
表1-1 に、CLI で提供されるコマンドライン編集機能を示します。
表1-1 コマンドライン編集
|
|
Tab |
部分的に入力されたコマンド名を補完します。一意な文字のセットを入力して Tab キーを押すと、コマンド名が補完されます。複数のコマンドを示す可能性のある文字のセットを入力すると、エラーを示すビープ音が発生します。コマンドの一部を入力した直後(スペースなし)に疑問符(?)を入力します。これにより、その文字列で始まるコマンドのリストが表示されます。 |
Back Space |
カーソルの左側の文字を消去します。 |
Enter |
コマンドラインで Enter キーを押すと、コマンドが処理されます。ターミナル画面の ---More--- プロンプトで Enter キーを押すと、行がスクロールされます。 |
Space |
ターミナル画面でさらに出力を表示できます。画面に ---More--- の行が表示されているときに Space キーを押すと、次の画面が表示されます。 |
左矢印(←) |
カーソルを 1 文字左に移動します。1 行を超えるコマンドを入力するときには、繰り返し←キーを押し、スクロールしてシステム プロンプトまで戻り、コマンド入力の先頭を確認することができます。 |
右矢印(→) |
カーソルを 1 文字右に移動します。 |
上矢印(↑)または Ctrl+P |
最も新しいコマンドを先頭に、履歴バッファ内のコマンドを再呼び出しします。このキー シーケンスを繰り返すと、より古いコマンドが順に再呼び出しされます。 |
下矢印(↓)または Ctrl+N |
上矢印(↑)キーまたは Ctrl+P キーでコマンドの再呼び出しを行った後で、履歴バッファ内のより新しいコマンドに戻ります。このキー シーケンスを繰り返すと、より新しいコマンドが順に再呼び出しされます。 |
Ctrl+A |
カーソルを行の先頭に移動します。 |
Ctrl+B |
カーソルを 1 文字前に戻します。 |
Ctrl+D |
カーソル位置の文字を削除します。 |
Ctrl+E |
カーソルをコマンドラインの最後に移動します。 |
Ctrl+F |
カーソルを 1 文字先に進めます。 |
Ctrl-K |
カーソル位置からコマンドラインの最後までのすべての文字を削除します。 |
Ctrl+L |
画面をクリアし、システム プロンプトとコマンドラインを再表示します。 |
Ctrl+T |
カーソルの左側の文字とカーソル位置の文字を入れ替えます。 |
Ctrl+U |
カーソル位置からコマンドラインの先頭までのすべての文字を削除します。 |
Ctrl+V |
この直後のキー ストロークを編集キーではなく、コマンド入力として扱うようにシステムに指示するコードを挿入します。 |
Ctrl+W |
カーソルの左側の語を削除します。 |
Ctrl+Y |
削除バッファ内の最新のエントリを再呼び出しします。削除バッファには、最後に削除または切り取りを行った 10 項目が含まれています。 |
Ctrl+Z |
コンフィギュレーション モードを終了し、EXEC プロンプトに戻ります。 |
Esc+B |
カーソルを 1 語前に戻します。 |
Esc+C |
カーソル位置の語を大文字にします。 |
Esc+D |
カーソル位置から語の最後までを削除します。 |
Esc+F |
カーソルを 1 語先に進めます。 |
Esc+L |
カーソル位置の語を小文字にします。 |
Esc+U |
カーソル位置から語の最後までを大文字にします。 |
IPS コマンド モード
IPS CLI には次のコマンド モードがあります。
• 特権 EXEC:CLI インターフェイスにログインした場合に入るモード。
• グローバル コンフィギュレーション:特権 EXEC モードから configure terminal を入力して入るモード。
コマンド プロンプトは sensor(config)#
です。
• サービス モード コンフィギュレーション:グローバル コンフィギュレーション モードから service service-name を入力して入るモード。
コマンド プロンプトは sensor(config-ser)#
です。 ser
はサービス名の最初 3 文字です。
• マルチインスタンス サービス モード:グローバル コンフィギュレーション モードから service service-name log-instance-name を入力して入るモード。
コマンド プロンプトは sensor(config-log)#
です。 log
はログ インスタンス名の最初の 3 文字です。システム内のマルチインスタンス サービスは、シグニチャ定義とイベント アクション ルールだけです。
正規表現の構文
正規表現は、文字列の照合に使用されるテキスト パターンです。正規表現では、プレーン テキストと特殊文字を組み合せてどのような照合を実行するかを指示します。たとえば、数字を検索する場合は、検索用の正規表現は「[0-9]」になります。角カッコは、比較対象の文字が角カッコで囲まれた文字のいずれかに一致する必要があることを示します。0 と 9 の間のダッシュ(-)は、0 ~ 9 の範囲を示します。したがって、この正規表現では、0 ~ 9 の任意の文字、つまり任意の数字に一致します。
特定の特殊文字を検索する場合は、その特殊文字の前にバックスラッシュを使用する必要があります。たとえば、1 文字の正規表現「\*」は、1 つのアスタリスクと一致します。
この項で定義されている正規表現は、POSIX 拡張正規表現定義のサブセットと類似しています。特に、「[..]」、「[==]」、および「[::]」の表現はサポートされません。また、1 つの文字を表すエスケープ表現はサポートされます。文字は 16 進値で表現できます。たとえば、\x61 は「a」に相当するため、\x61 は文字「a」を表すエスケープ表現になります。
表1-2 に、特殊文字を示します。
表1-2 正規表現の構文
|
|
^ |
文字列の先頭。「^A」という表現は、文字列の先頭の「A」だけに一致します。 |
^ |
左の角カッコ([)の直後。角カッコ内の残りの文字をターゲット文字列の照合から除外します。「[^0-9]」という表現は、ターゲット文字が数字ではないことを示します。 |
$ |
文字列の最後に一致します。「abc$」という表現は、文字列の最後にある場合にだけ「abc」というサブ文字列に一致します。 |
| |
この記号のいずれか一方の側にある表現とターゲット文字列を照合します。「a|b」という表現は、「a」にも「b」にも一致します。 |
. |
任意の文字に一致します。 |
* |
表現内のアスタリスクの左側の文字の 0 回以上の出現に一致することを示します。 |
+ |
* と似ていますが、表現内の + 記号の左側の文字の 1 回以上の出現に一致します。 |
? |
この記号の左側の文字の 0 回または 1 回の出現に一致します。 |
() |
パターン評価の順序に影響します。また、一致したサブ文字列を別の表現で置き換える場合のタグ付き表現にも使用されます。 |
[] |
一連の文字を囲み、囲まれた文字のいずれかがターゲット文字と一致することを示します。 |
\ |
この記号を使用しない場合に特殊文字と解釈される文字を指定することができます。 \xHH は、16 進数の文字 [0-9A-Fa-f] で (HH) と表現された値と同じ値を表します。この値は 0 以外である必要があります。 BEL と \x07、BS と \x08、FF と \x0C、LF と \x0A、CR と \x0D、TAB と \x09、VT と \x0B は、それぞれ同じです。 その他のすべての文字では、「c」と「\c」は「c」と同じで、エスケープ文字がなくても特殊文字と解釈されることはありません。 |
次に、特殊文字の使用例を示します。
• a* は、文字 a が一度も出現しない場合も含めて、a の任意の回数の出現に一致します。
• a+ では、一致する文字列内に文字 a が少なくとも 1 回出現する必要があります。
• ba?b は、文字列 bb または bab に一致します。
• \** は、任意の個数のアスタリスク(*)に一致します。
複数文字からなるパターンとともに複数回の出現を指定する記号を使用するには、そのパターンを丸カッコで囲みます。
• (ab)* は、複数文字からなる文字列 ab の任意の回数の出現に一致します。
• ([A-Za-z][0-9])+ は、アルファベットと数字のペアの 1 回以上の出現に一致しますが、0 回には一致しません(空文字列では一致しません)。
複数回の出現を指定する記号(*、+、または ?)を使用した照合は、長い構造のものから順に行われます。ネストした構造の場合は、外側から内側の順に照合されます。連結された構造の場合は、左側から照合が開始されます。したがって、この正規表現は、A9b3 に一致しますが、9Ab3 には一致しません。これは、文字が数字より前に指定されているからです。
また、丸カッコを使用して 1 つまたは複数の文字からなるパターンを囲むことにより、ソフトウェアにそのパターンを記憶させ、正規表現内の別の場所で使用することができます。
以前に記憶したパターンを再呼び出しする正規表現を作成するには、丸カッコを使用して特定のパターンを記憶するように指示し、バックスラッシュ(\)に続けて数字を指定して、記憶したパターンを再利用します。この数字は、その正規表現パターン内でのその丸カッコの出現場所を示します。正規表現内で記憶したパターンが複数存在する場合は、\1 が最初に記憶したパターンを示し、\2 が 2 番目に記憶したパターンとなり、以下同様に続きます。
次の正規表現では、丸カッコを使用して次のように再呼び出しを行っています。
• a(.)bc(.)\1\2 は、1 つの a 、任意の文字、 bc 、任意の文字、最初に出現した 任意の 文字(2 回目)、2 番目に出現した 任意の 文字(2 回目)の順に並んだ文字列に一致します。
たとえば、この正規表現は aZbcTZT に一致します。ソフトウェアでは、最初の文字と 2 番目の文字としてそれぞれ Z と T を記憶し、その後正規表現内で Z と T を再び使用しています。
汎用 CLI コマンド
次の CLI コマンドは、IPS 5.1 の汎用コマンドです。
• configure terminal:グローバル コンフィギュレーション モードに入ります。
グローバル コンフィギュレーション コマンドは、1 つのプロトコルやインターフェイスではなく、システム全体に影響する機能に対して適用されます。
sensor# configure terminal
• service : analysis-engine 、 authentication 、 event-action-rules 、 host 、 interface 、 logger 、 network-access 、 notification 、 signature-definition 、 ssh-known-hosts 、 trusted-certificates 、 web-server の各コンフィギュレーション サブモードに入ります。
(注) event-action-rules と signature-definition の各サブモードは、複数インスタンスに対応したサービスです。どちらの場合も、事前定義済みの 1 つのインスタンスだけが許可されます。event-action-rules では、インスタンス名 rules0 だけがサポートされます。
signature-definition では、インスタンス名 sig0 だけがサポートされます。
sensor# configure terminal
sensor(config)# service event-action-rules rules0
• end :コンフィギュレーション モードまたは任意のコンフィギュレーション サブモードを終了します。これにより、トップレベルの EXEC メニューに戻ります。
sensor# configure terminal
• exit :任意のコンフィギュレーション モードを終了するか、アクティブなターミナル セッションを閉じて、EXEC モードを終了します。これにより、直前のメニュー セッションに戻ります。
sensor# configure terminal
sensor(config)# service event-action-rules rules0
CLI のキーワード
一般に、特定の機能をディセーブルにするには、コマンドの no 形式を使用します。ディセーブルになっていた機能をイネーブルにするには、キーワード no を付けずに該当のコマンドを使用します。たとえば、コマンド ssh host-key ipaddress を使用すると、既知のホスト テーブルにエントリが追加され、コマンド no ssh host-key ipaddress では既知のホスト テーブルからエントリが削除されます。個々のコマンドの no 形式で実行される内容については、各コマンドの詳細情報を参照してください。
サービス コンフィギュレーション コマンドにもデフォルト形式を指定できます。コマンドの設定をデフォルトに戻すには、コマンドの default 形式を使用します。このキーワードは、アプリケーションの設定に使用される service サブメニュー コマンドに適用されます。コマンドとともに default と入力することにより、パラメータがデフォルト値にリセットされます。 default キーワードは、コンフィギュレーション ファイルでデフォルト値を指定するコマンドだけで使用することができます。