フレックスエージェントの手動インストールと設定
多言語インストールのウィザードを使用してフレックスエージェントをインストールする代わりに、以下の手順を使用して手動でインストールできます。この手順は、自動化を使用してアプリケーションを大規模にデプロイする場合に役立ちます。
フレックスエージェントの仕組み
フレックスエージェントは、マシン上で新しプロセスが起動するのを確認し、そのプロセスがエージェントによる監視(インストゥルメント)の対象候補であるかどうかを判断します。
フレックスエージェントをインストールすると、「インジェクタ」と呼ばれるものが提供されます。このインジェクタは、起動したプロセスの言語を特定します。そのプロセスに対応するエージェントが利用可能な場合は、エージェントをプロセスに接続(attach)するよう試みます。接続が成功すると、エージェントはプロセスを監視しします。
標準のエージェント設定を使用して、エージェントはデータをContrast Webインターフェイスに報告します。
開始する前に
ルートアクセスが必要
対応OS:Linuxのほとんどのバージョン
以下のいずれかが必要:
手動:
tar
およびcURL
、sha256sum(任意)Debian:
apt-get
、cURL
、およびgnupg2
RPM:
tee
およびyum
フレックスエージェントをインストールして全てのプロセスに接続
フレックスエージェントで実行中の全てのWebプロセスにエージェントを接続(attach)するには、以下のクイックインストールコマンドを使用します。
cURL:
cURL
を使用してインストールするには、以下のコマンドを使用します。$AGENT_TOKEN
は、ご利用のContrast APIトークンに置き換えて下さい。curl -L --output /tmp/contrast-flex-agent.tar.gz https://contrastsecurity.jfrog.io/artifactory/flex-agent-release/latest/contrast-flex-agent.tar.gz mkdir /tmp/contrast-flex-agent sudo tar -xpzf /tmp/contrast-flex-agent.tar.gz -C /tmp/contrast-flex-agent sudo /tmp/contrast-flex-agent/install.sh --api-token $AGENT_TOKEN
ダウンロードした
contrast-flex-agent.tar.gz
の署名を確認するには、untar
コマンドを実行する前に以下のコマンドを実行して下さい。OK
以外の出力があった場合は、アーティファクトを削除して再度ダウンロードして下さい。Sha256の代わりにSha1とMD5のチェックサムを使用することもできます。curl -L --output /tmp/contrast-flex-agent.tar.gz.sha256 https://contrastsecurity.jfrog.io/artifactory/flex-agent-release/latest/contrast-flex-agent.tar.gz.sha256 hash=$(cat /tmp/contrast-flex-agent.tar.gz.sha256) echo "$hash contrast-flex-agent.tar.gz" > /tmp/contrast-flex-agent.tar.gz.sha256 sha256sum --check /tmp/contrast-flex-agent.tar.gz.sha256
Debian:Debianを使用してインストールするには、以下のコマンドを使用します。
curl https://pkg.contrastsecurity.com/api/gpg/key/public | gpg -o /usr/share/keyrings/contrast-keyring.pgp --dearmor echo "deb [signed-by=/usr/share/keyrings/contrast-keyring.pgp] https://pkg.contrastsecurity.com/debian-public/ $(sed -rne 's/^VERSION_CODENAME=(.*)$/\1/p' /etc/*ease) contrast" | tee /etc/apt/sources.list.d/contrast.list echo "deb [signed-by=/usr/share/keyrings/contrast-keyring.pgp] https://pkg.contrastsecurity.com/debian-public/ all contrast" | tee -a /etc/apt/sources.list.d/contrast.list sudo apt-get update && sudo apt-get install -y contrast-flex-agent
RPM:RPMを使用してインストールするには、以下のコマンドを使用します。
rpm --import https://pkg.contrastsecurity.com/api/gpg/key/public tee /etc/yum.repos.d/contrast.repo <<-"EOF" [contrast] name=Contrast redhat-$releasever repo baseurl=https://pkg.contrastsecurity.com/rpm-public/redhat-$releasever/ gpgcheck=0 enabled=1 gpgkey=https://pkg.contrastsecurity.com/api/gpg/key/public repo_gpgcheck=1 EOF yum install contrast-flex-agent -y
通常の起動コマンドでアプリケーションを起動(または再起動)します。
フレックスエージェントを段階的にインストール
フレックスエージェントで実行中の全てのWebプロセスにエージェントを接続(attach)するが、全ての手順を管理したり、インストール手順を変更したい場合は、以下の手順を使用します。
フレックスエージェントのtarファイルをダウンロード:以下のコマンドを使用します。
curl -L --output /tmp/contrast-flex-agent.tar.gz https://contrastsecurity.jfrog.io/artifactory/flex-agent-release/latest/contrast-flex-agent.tar.gz
フレックスエージェントのtarファイルを展開:以下のコマンドを使用します。
mkdir -p /tmp/contrast-flex-agent tar -xpzf /tmp/contrast-flex-agent.tar.gz -C /tmp/contrast-flex-agent
インストールを実行:以下のいずれかのコマンドを使用します。
$AGENT_TOKEN
はご利用のContrast API トークンに置き換えて下さい。エージェントの自動インストールには、以下のコマンドを使用します。
sudo /tmp/contrast-flex-agent/install.sh --api-token $AGENT_TOKEN
エージェントの手動インストールには、次のコマンドを使用します。
以下のコマンドを使用します。
sudo /tmp/contrast-flex-agent/install.sh --api-token $AGENT_TOKEN --unattached
app
コマンドでアプリケーションを検索すると、ポートが開いている実行中のプロセスが全て一覧表示されます。sudo contrast-flex app
前述の
app
コマンドのIDを使用して、attach
コマンドでインストゥルメントを有効にします。sudo contrast-flex attach $ID true
エージェントの接続を制御には、初期インストール後にインストールを上記のスタイルに変更する方法が記載されています。この変更を行っても、アプリケーションを再起動するまで、実行中のプロセスからインストゥルメントは削除されません。
エージェントの接続を制御
デフォルトでは、フレックスエージェントは全てのプロセスを検査し、エージェントへの接続を自動的に試みます。この動作を変更したり、接続する特定のプロセスを指定する場合は、このセクションの手順を実行して下さい。
全てのプロセスに対する自動接続を制御する
フレックスエージェントが全てのプロセスに接続するのを停止する場合は、以下のコマンドを使用して
auto-attach
(自動接続)をグローバルに無効にします。contrast-flex auto-attach false
以下のコマンドで接続は再度有効になります。
contrast-flex auto-attach true
auto-attach
コマンドを使用しても、現在起動中のプロセスに対してエージェントが接続されたり、接続が解除されることはありません。新しい設定を反映するには、アプリケーションを再起動して下さい。プロセスへの接続を制御する
フレックスエージェントが特定のアプリケーションプロセスに接続するかどうかを制御するには、
attach
コマンドを使用して、アプリケーションのIDを指定します。該当するプロセスを特定するには、
app
コマンドでプロセスIDを検索します。contrast-flex app
以下のコマンドを使用して、プロセスの接続を有効または無効にします。ここで、
ID
は前述の手順で見つけたプロセスIDになります。contrast-flex attach ${ID} ${true|false}
通常のアプリケーション起動コマンドを使用して、アプリケーションを再起動します。エージェントに自動的にインジェクタが接続されます。