Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
- Puppet >= 6.21.0 < 8.0.0
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'ruthenium-crowdstrike', '1.4.7'
Learn more about managing modules with a PuppetfileDocumentation
crowdstrike
The module is designed to deploy and manage CrowdStrike's Falcon Sensor antivirus agent.
Table of Contents
- Description
- Setup - The basics of getting started with crowdstrike
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
Description
The modules installs and manages or removes the Falcon Sensor anti-virus agent by CrowdStrike. Proxy settings and tags can be confiugred additionaly.
Setup
Setup requirements
The module installs a package falcon-sensor
, which it assumes to be
available in a repo configured on the system. The vendor does not maintain
a Linux repository.
Alternatively you can customize package source and provider to have an ability to install from a different source.
Beginning with crowdstrike
The most basic usage of the module:
class { 'crowdstrike': cid => 'AAAAAAAAAAAAA-BB' }
Parameter cid
is mandatory.
Usage
In most cases just specifying cid
(customer id) is sufficient, but adding
tags is desirable for easy grouping and searching of the hosts in the
CrowdStrike console:
class { 'crowdstrike':
cid => 'AAAAAAAAAAAA-BB',
tags => [ 'My Organization', 'My Department' ]
}
If the computer does not have direct access to the CrowdStrike cloud service, connection can be routed through a proxy server:
class { 'crowdstrike':
cid => 'AAAAAAAAAAAA-BB',
proxy_host => 'proxy-server.my-organization.com',
proxy_port => 3128
}
Both proxy_host
and proxy_port
are mandatory if either specified.
If provisioning token is reqired during the installation, use the provisioning_token
parameter:
class { 'crowdstrike':
cid => 'AAAAAAAAAAAA-BB',
provisioning_token => 'XXXXXXXXXXXXXX'
}
Limitations
If proxy has been used and later disabled, the host and port configuration is not removed entirely, only disabled. This does not affect the functionality in any way.
CrowdStrike sensor software is capable of auto-updating its binaries if configured to do so in the console. It happened in the past when update changes the format of the falconctl output, which may break the fact in this module. If that happens, the module detects this situation, displays the relevant error message and fails the puppet run. If you see this happening, it is time to update the version of the module you have.
Reference
Table of Contents
Classes
crowdstrike
: Simple module installing CrowdStrike's Falcon Agent
Classes
crowdstrike
The module is designed to install, manage and remove CrowdStrike's Falcon Agent antivirus. Tags and proxy settings can be changed any time using module parameters.
- See also
Examples
Install Falcon Agent and use proxy for connections
class { '::crowdstrike':
ensure => present,
cid => 'AAAAAAAAAAAAAAA-BB',
provisioning_token => 'XXXXXXXXXXXXXXXXXX',
tags => [ 'my_company', 'my_organization' ],
proxy_host => 'proxy.mycompany.com',
proxy_port => 3128
}
Parameters
The following parameters are available in the crowdstrike
class:
ensure
Data type: Enum['present','absent','latest']
If present
or latest
installs the agent, keeping it up-to-date with the latter value.
When set to absent
uninstalls the agent's package.
Default value: 'present'
cid
Data type: Optional[Variant[String, Deferred]]
Customer IDentifier. Necessary to register the agent with the service. Mandatory.
Default value: undef
provisioning_token
Data type: Optional[Variant[String, Deferred]]
Provisioning token for the crowdstrike agent installation.
Default value: undef
tags
Data type: Optional[Array[String]]
Array of string tags used to group agents in the CrowdStrike console.
Default value: undef
proxy_host
Data type: Optional[String]
Proxy server host name for proxied connections. Mandatory if proxy_port
is specified.
Default value: undef
proxy_port
Data type: Optional[Stdlib::Port]
Proxy server port for proxied connections. Mandatory if proxy_host
is specified.
Default value: undef
package_source
Data type: Optional[String]
Define a package source for installation
Default value: undef
package_provider
Data type: Optional[String]
Define a package provider for installation
Default value: undef
Changelog
All notable changes to this project will be documented in this file.
Release 1.4.7
- Update PDK to 3.0.
- Add RHEL 9 support.
- Drop support for Debian 9 and Ubuntu 18.04.
Release 1.4.6
- Update fact with the changes in falconctl output format with 6.51.14812.0. Closes #19.
Release 1.4.5
- Improve Deferred/Sensitive handling of CID and Install Token. Merge #15. Thanks @tedgarb.
Release 1.4.4
- Update fact to accomodate the changes in falconctl output in v6.51. Merge #17. Thanks @tedgarb.
Release 1.4.3
- Support deferred data type for CID and provisioning token. Merge #14. Thanks @tedgarb.
- Drop support for RHEL 6 and SLES 12.
Release 1.4.2
- Force falconctl to apply provided module parameters during the registration to prvent some edge cases when the module applied over the manual installation. Resolves #12. Thanks, @RamblingCookieMonster for pointing it out.
- Expand unit test to cover more cases.
- Allow stdlib 8.x.
Release 1.4.1
- Merged #11 adding SLES support. Thanks, @thirumoorthir.
Release 1.4.0
- Allow to change proxy settings when CID is set, but agent has not been registered yet. Closes #8. Add a boolean key "cid" to the fact showing if CID has been set. Thanks @davealden.
- Merge #7 adding capability to custiomize falcon-sensor package source and provider. Thanks @fe80.
- Add some more resilience to falconctl output format changes to the falcon_sensor fact.
- Fix logic in falcon_sensor fact, which was causing its failure if it becomes unable to parse falconctl output.
- Now falconctl fact returns distinct values in case of its failure to parse falconctl output or falconctl returning an error.
- Module is now capable of detecting falcon_sensor fact failure and gracefully handle the situation.
Release 1.3.0
- Add
provisioning_token
parameter for a provisioning token. Closes #6. Thanks @mnrazak.
Release 1.2.4
- Update fact to parse changed output format of falconctl
Release 1.2.3
- Handle manually installed falcon-sensor package. Closes #3. Thanks @jstraw.
Release 1.2.2
- Merge a bug fix for proxy port type mismatch at comparison. Thanks @richardnixonshead.
Release 1.2.1
- Configure Travis CI build tests.
Release 1.2.0
- Use PDK 2.0, add metadata and unit test.
- Fix undefined variable if no tags given at registration time.
Release 1.1.0
Do not show undefined keys in facter.
Release 1.0.0
Initial release
Dependencies
- puppetlabs/stdlib (>= 3.2.0 <= 9.0.0)