Chef を使用して Linux 用 Microsoft Defender for Endpoint を展開する

適用対象:

重要

この記事には、サード パーティ製ツールに関する情報が含まれています。 これは統合シナリオの完了に役立ちますが、Microsoft ではサード パーティ製ツールのトラブルシューティング サポートを提供していません。
サポートについては、サード パーティベンダーにお問い合わせください。

開始する前に: まだインストールされていない場合は、解凍をインストールします。

Chef コンポーネントは既にインストールされており、Chef で管理されている Linux サーバー上の Defender for Endpoint へのデプロイに使用されるクックブックを格納するために、Chef リポジトリが存在します (chef はリポジトリ <リポジトリ名>を生成します)。

既存のリポジトリに新しいクックブックを作成するには、chef リポジトリにある cookbooks フォルダー内から次のコマンドを実行します。

chef generate cookbook mdatp

このコマンドは、mdatp という新しいクックブックの新しいフォルダー構造を作成します。 Defender for Endpoint デプロイの追加に使用するクックブックが既にある場合は、既存のクックブックを使用することもできます。 クックブックが作成されたら、作成したばかりのクックブック フォルダー内に files フォルダーを作成します。

mkdir mdatp/files

Microsoft Defender ポータルからダウンロードできる Linux Server Onboarding zip ファイルを、この新しいファイル フォルダーに転送します。

警告

Defender for Endpoint インストール パッケージの再パッケージ化は、サポートされているシナリオではありません。 これにより、製品の整合性に悪影響を及ぼし、改ざんアラートや更新プログラムの適用に失敗したトリガーなど、悪影響を及ぼす可能性があります。

Chef Workstation で、mdatp/recipes フォルダーに移動します。 このフォルダーは、クックブックが生成されたときに作成されます。 任意のテキスト エディター (vi や nano など) を使用して、default.rb ファイルの末尾に次の手順を追加します。

  • '::onboard_mdatp' をinclude_recipeする
  • '::install_mdatp' をinclude_recipeする

次に、default.rb ファイルを保存して閉じます。

次に、recipes フォルダーに install_mdatp.rb という名前の新しいレシピ ファイルを作成し、このテキストをファイルに追加します。

#Add Microsoft Defender
Repo
case node['platform_family']
when 'debian'
 apt_repository 'MDAPRepo' do
   arch               'amd64'
   cache_rebuild      true
   cookbook           false
   deb_src            false
   key                'BC528686B50D79E339D3721CEB3E94ADBE1229CF'
   keyserver          "keyserver.ubuntu.com"
   distribution       'focal'
   repo_name          'microsoft-prod'
   components         ['main']
   trusted            true
   uri                "https://packages.microsoft.com/config/ubuntu/20.04/prod"
 end
 apt_package "mdatp"
when 'rhel'
 yum_repository 'microsoft-prod' do
   baseurl            "https://packages.microsoft.com/config/rhel/7/prod/"
   description        "Microsoft Defender for Endpoint"
   enabled            true
   gpgcheck           true
   gpgkey             "https://packages.microsoft.com/keys/microsoft.asc"
 end
 if node['platform_version'] <= 8 then
    yum_package "mdatp"
 else
    dnf_package "mdatp"
 end
end

デプロイ先のバージョンとデプロイするチャネルと一致するように、バージョン番号、ディストリビューション、リポジトリ名を変更する必要があります。 次に、mdatp/recipies フォルダーに onboard_mdatp.rb ファイルを作成する必要があります。 そのファイルに次のテキストを追加します。

#Create MDATP Directory
mdatp = "/etc/opt/microsoft/mdatp"
zip_path = "/path/to/chef-repo/cookbooks/mdatp/files/WindowsDefenderATPOnboardingPackage.zip"

directory "#{mdatp}" do
  owner 'root'
  group 'root'
  mode 0755
  recursive true
end

#Extract WindowsDefenderATPOnbaordingPackage.zip into /etc/opt/microsoft/mdatp

bash 'Extract Onboarding Json MDATP' do
  code <<-EOS
  unzip #{zip_path} -d #{mdatp}
  EOS
  not_if { ::File.exist?('/etc/opt/microsoft/mdatp/mdatp_onboard.json') }
end

パス名をオンボード ファイルの場所に更新してください。 Chef ワークステーションにデプロイをテストするには、 を実行 sudo chef-client -z -o mdatpします。 デプロイ後は、Linux でMicrosoft Defender for Endpointの基本設定を設定するに基づいて、構成ファイルを作成してサーバーに展開することを検討する必要があります。 構成ファイルを作成してテストした後、オンボード パッケージを cookbook/mdatp/files 配置したフォルダーに配置できます。 その後、mdatp/recipies フォルダーに settings_mdatp.rb ファイルを作成し、次のテキストを追加できます。

#Copy the configuration file
cookbook_file '/etc/opt/microsoft/mdatp/managed/mdatp_managed.json' do
  source 'mdatp_managed.json'
  owner 'root'
  group 'root'
  mode '0755'
  action :create
end

レシピの一部としてこの手順を含める場合は、レシピ フォルダー内の default.rb ファイルに追加 include_recipe ':: settings_mdatp します。

crontab を使用して自動更新をスケジュールすることもできます Microsoft Defender for Endpoint (Linux) の更新をスケジュールします。

MDATP クックブックをアンインストールします。

#Uninstall the Defender package
case node['platform_family']
when 'debian'
 apt_package "mdatp" do
   action :remove
 end
when 'rhel'
 if node['platform_version'] <= 8
then
    yum_package "mdatp" do
      action :remove
    end
 else
    dnf_package "mdatp" do
      action :remove
    end
 end
end

ヒント

さらに多くの情報を得るには、 Tech Community: Microsoft Defender for Endpoint Tech Community で Microsoft セキュリティ コミュニティとEngageします。