newcastleuniversity / puppet_module_microsoft_defender_atp_agent

Adapted from https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/linux-install-with-puppet
0 stars 0 forks source link
defender linux microsoft microsoft-defender puppet puppet-module

microsoft_defender_atp_agent

Table of Contents

  1. Description
  2. Beginning with microsoft_defender_atp_agent
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module

Description

Installs the Microsoft Defender for Endpoint agent (herein, "the agent") onto supported GNU/Linux systems. Attempts to automate many of the steps in the official MS Defender Puppet documentation.

Features include:

Beginning with microsoft_defender_atp_agent

You will need to get the "onboarding package" from whoever is responsible for managing the Microsoft Defender for Endpoint subscription for your site and put the JSON file that it generates somewhere that Puppet agents can see it. The location of this JSON file is a parameter for this module.

The package I got contained a Python file that generated the JSON file.

Soft dependencies

Usage

Installation and configuration of the agent with "roles and profiles" pattern

Roles and profiles primer for the unfamiliar.

In yourcontrolrepo/Puppetfile, add an entry to include this repo as a Puppet module.

In yourcontrolrepo/site/profiles, say pdk new class my_defender_agent (or whatever name you find useful).

Drop the mdatp_onboard.json file into yourcontrolrepo/site/profiles/files/mdatp_onboard.json (or a sub-folder of files if you find that useful).

my_defender_agent.pp should say something like:

class { microsoft_defender_atp_agent: onboarding_json_file => 'puppet:///modules/profiles/mtapd_onboard.json' }

Then your roles classes just say include my_defender_agent.

Uninstallation of the agent and onboarding file

include microsoft_defender_atp_agent::uninstall

Limitations

It doesn't support any GNU/Linux distributions that I don't support in my job. Pull requests are welcome as long as you have written exhaustive RSpec tests.

Development

How to contribute to this repo:

Release Notes/Contributors/Etc.

Based on code samples made by Microsoft.

Contributors