설명
사용법 - 구성 옵션 및 추가 기능
제한사항 - OS 호환성 등
api
와 local
설치 방법
개발 - 모듈에 기여하기 위한 가이드
특허
falcon
모듈은 여러 운영 체제 및 배포판에서 falcon
서비스를 설치, 구성 및 관리합니다.
참고 :
puppet-falcon
은 CrowdStrike 제품이 아닌 오픈 소스 프로젝트입니다. 따라서 이는 명시적이든 묵시적이든 공식적인 지원을 제공하지 않습니다.
falcon 모듈의 모든 매개변수는 기본 falcon
클래스에 포함되어 있습니다. 모듈의 기능을 수정하는 옵션이 많이 있습니다. 자세한 내용은 REFERENCE.md를 참조하세요.
다음은 일반적인 사용 사례 중 일부입니다.
참고 :
falcon
패키지는 공개되지 않으므로 이 모듈에는 falcon 센서 설치를 위한 두 가지 옵션이 있습니다.install_method
매개변수를 사용하면api
또는local
선택할 수 있습니다.api
기본값입니다. 자세한 내용은 API 및 로컬 설치 방법에 설명되어 있습니다.
# `api` 메소드 클래스 사용 {'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), cid => 'AJKQUI123JFKSDFJK`}
# `local` 메서드 사용$package_options = { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' # 패키지 리소스에 유효한 기타 속성}class {'falcon' : install_method => 'local', package_options => $package_options, cid => 'AJKQUI123JFKSDFJK`}
api
설치 방법 사용 api
설치 방법은 API를 사용하여 센서 패키지를 다운로드합니다. 다운로드되는 패키지 버전은 모듈에 전달된 매개변수에 따라 결정됩니다.
api
설치 방법의 동작을 변경하는 세 가지 매개변수가 있습니다. 이러한 매개변수 중 하나만 한 번에 사용할 수 있으며 아래 나열된 순서대로 평가됩니다.
version
- 지정한 버전과 일치하는 센서 패키지를 다운로드합니다.
update_policy
- 업데이트 정책에 지정된 버전을 다운로드합니다.
version_decrement
- 현재 버전 이전의 n
번째 버전을 다운로드합니다.
api
설치 방법 사용의 단점은 API 및 로컬 설치 방법에 설명되어 있습니다.
각각에 대한 예는 다음과 같습니다. version
매개변수 사용
이는 update_policy
및 version_decrement
보다 우선합니다.
class { 'falcon': client_id => 민감('12346'), client_secret => 민감('12345'), 버전 => '1.0.0', cid => 'AJKQUI123JFKSDFJK`}
update_policy
매개변수 사용
이는 version_decrement
매개변수보다 우선합니다.
class { 'falcon': client_id => 민감('12346'), client_secret => 민감('12345'), update_policy => 'platform_default', cid => 'AJKQUI123JFKSDFJK`}
version_decrement
매개변수 사용
nx
버전을 다운로드하려면 version_decrement
사용하세요.
값이 0
이면 최신 버전이 다운로드되고, 값이 2
이면 n-2
버전(최신 버전보다 2
릴리스 뒤처짐)이 다운로드됩니다.
class { 'falcon': client_id => 민감('12346'), client_secret => 민감('12345'), version_decrement => 2, cid => 'AJKQUI123JFKSDFJK`}
local
설치 방법 사용 local
설치 방법을 사용하면 센서 설치 방법을 완전히 제어할 수 있습니다.
이 방법을 사용할 수 있는 몇 가지 이유는 다음과 같습니다.
로컬 파일에서 센서를 설치하려고 합니다.
자신만의 패키지 관리 시스템이 있습니다.
API 및 로컬 설치 방법에서 local
설치 방법에 대해 자세히 알아볼 수 있습니다.
local
설치 방법을 사용하는 경우 package_options
필요합니다. package_options
의 매개변수는 package
리소스로 전달됩니다. name
매개변수를 제외하고 package
리소스에 대한 필수 매개변수를 제공해야 합니다. 모듈은 운영 체제에 따라 적절한 이름을 선택합니다. package_options
해시에 name
속성을 지정하여 이름을 재정의할 수 있습니다.
# 로컬 파일 파일 사용 {'/tmp/sensor.rpm': verify => 'present', source => 'https://company-filer-server.com/sensor.rpm'}class {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' }, 요구 => 파일['/tmp/sensor.rpm'] }
# http 소스 클래스 사용하기 {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => 'http://example.com/sensor.rpm' } }
# 이름 매개변수 클래스 재정의 {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm', 'name' => ' 팔콘 센서' } }
install_method
api
인 경우 cleanup_installer
매개변수를 사용하여 설치 후 설치 프로그램 파일을 제거할 수 있습니다.
class { 'falcon': client_id => 민감('12346'), client_secret => 민감('12345'), cleanup_installer => true, cid => 'AJKQUI123JFKSDFJK`}
package_options
매개변수를 사용하여 package
리소스에 전달되는 모든 매개변수를 재정의할 수 있습니다. 유효한 패키지 매개변수
이는 api
및 local
설치 방법 모두에서 동일하게 작동합니다.
$package_options = { '공급자' => 'rpm', 'install_options' => '--force', }class { 'falcon': 패키지_옵션 => $패키지_옵션}
class {'falcon': package_manage => false # ... 기타 필수 매개변수}
참고 Windows 에이전트는 설치 시에만 구성할 수 있습니다. Linux 에이전트는 설치 후 Puppet이 에이전트를 구성할 수 있도록 하는
falconctl
과 함께 제공됩니다. 예를 들어 리소스에서cid
속성을 업데이트하면 다음 실행 시 Linux 에이전트의cid
업데이트되지만 Windows는 업데이트되지 않습니다.
class {'falcon': config_manage => false # ... 기타 필수 매개변수}
class {'falcon': service_manage => false # ... 기타 필수 매개변수}
cid
등록class {'falcon': cid => 'AJKQUI123JFKSDFJK` # ... 기타 필수 매개변수}
cid
등록 회사에서 에이전트 등록을 위해 프로비저닝 토큰이 필요한 경우 provisioning_token
매개변수를 사용할 수 있습니다.
class {'falcon': cid => 'AJKQUI123JFKSDFJK`, Provisioning_token => '1234567890' # ... 기타 필수 매개변수}
proxy_host
, proxy_port
및 proxy_enabled
매개변수를 사용하여 에이전트에 대한 프록시 설정을 구성할 수 있습니다.
참고 Mac 설치에는 에이전트와 관련된 프록시 설정이 없습니다. 대신 OS의 프록시 설정을 사용합니다. 이러한 매개변수에 값을 전달하면 Mac에 대한 프록시 설정이 구성되지 않습니다.
클래스 {'falcon': cid => 'AJKQUI123JFKSDFJK`, Provisioning_token => '1234567890,' Proxy_host => 'neptune.example.com', Proxy_port => '8080', Proxy_enabled => true
}
api
설치 방법을 사용하여 에이전트 버전을 특정 버전에 고정하려면 version_manage
true로 설정하면 됩니다.
아래 예에서는 version_decrement
사용하지만 모두 동일하게 작동합니다. Puppet은 API를 참조하여 version_decrement => 2
가 해결되는 버전을 결정합니다. 그런 다음 해당 버전을 다운로드하고 설치되었는지 확인합니다.
후속 실행마다 API를 확인하여 반환된 버전이 설치된 버전인지 확인합니다. 예를 들어 새 버전이 출시되면 검사에서 반환된 버전이 변경되어 에이전트가 새 n-2
버전으로 업그레이드됩니다.
warning : 이로 인해 모듈은 실행될 때마다 API를 참조하여 API가 반환하는 버전이 설치된 버전인지 확인합니다. 이로 인해 대규모 배포에서는 속도 제한 문제가 발생할 수 있습니다. 자동 업그레이드/다운그레이드를 원하고
api
설치 방법을 사용하려는 경우 일반적으로version_manage
false
로 설정하고 CrowdStrike 업데이트 정책이 Puppet 대신 업그레이드/다운그레이드를 수행하도록 허용하는 것이 좋습니다.
class {'falcon': version_manage => true client_id => Sensitive('12346'), client_secret => Sensitive('12345'), update_policy => 'platform_default' cid => 'AJKQUI123JFKSDFJK` # ... 기타 필수 매개변수}
local
의 install_method
사용
class {'falcon': install_method => 'local', package_options => { 'ensure' => '32.4.3', 'source' => '/tmp/sensor-32.4.3.rpm' } }
api
와 local
설치 방법 일반적으로 api
메소드는 version_manage
가 false
로 설정된 경우 대부분의 사용 사례에 적합합니다. version_manage
가 true
로 설정되면 API 속도 제한이 발생할 수 있습니다.
모든 권한을 원하고 API를 활용하지 않으려는 경우 local
설치 방법을 사용할 수 있습니다.
일반적으로 패키지를 관리하는 Puppet 모듈은 설치부터 제거까지 해당 패키지의 전체 수명 주기를 제어합니다. CrowdStrike 에이전트 패키지가 공개되지 않는다는 사실이 이를 어렵게 만듭니다.
우리는 여전히 패키지를 신속하게 설치할 수 있는 방법을 제공하고 싶었기 때문에 api
설치 방법을 만들었습니다. 이 방법을 사용하려면 API 자격 증명을 제공해야 하며, 그런 다음 CrowdStrike API에서 올바른 패키지 버전을 다운로드합니다. update_policy
설정과 같은 동작을 제어할 수 있는 매개변수가 있습니다. 이렇게 하면 모듈이 업데이트 정책 제안에 따라 올바른 버전을 다운로드하게 됩니다. 여기에 각각의 예가 있습니다.
그러나 이 방법은 모든 사람에게 적합하지 않을 수 있으므로 센서 설치 방법을 완전히 제어할 수 있는 local
설치 방법이 만들어졌습니다.
api
설치 방법의 작동 방식API 설치 방법은 falcon API를 사용하여 올바른 패키지 버전을 다운로드합니다. 올바른 패키지 버전은 제공하는 매개변수에 따라 다릅니다. 여기에서 각각의 예를 볼 수 있습니다.
첫 번째 실행에서는 Puppet이 적절한 CrowdStrike API를 호출하여 센서 패키지를 다운로드하는 데 필요한 정보를 얻습니다. 그런 다음 센서 패키지를 다운로드합니다. 그 후에는 일반 인형 리소스가 인계됩니다.
version_manage
true
로 설정하면 실행할 때마다 모듈이 CrowdStrike API를 참조하여 적절한 패키지 버전을 가져옵니다. 그런 다음 설치된 버전이 반환된 버전과 동일한지 확인합니다. 동일하지 않으면 올바른 패키지 버전을 다운로드하고 적절한 설치/업데이트/다운그레이드 작업을 수행합니다.
version_manage
false
로 설정하면 CrowdStrike 센서가 설치되지 않은 경우에만 API 호출이 발생합니다.
api
설치 방법의 주요 제한 사항은 API 속도 제한입니다. 우리가 직접 그런 문제를 겪지는 않았지만, version_manage
true
로 설정된 api
설치 방법을 사용하면 대규모 설치에서 속도 제한에 도달할 수 있습니다.
Puppet은 노드에 대한 카탈로그를 컴파일할 때마다 API를 사용하여 설치해야 하는 에이전트 버전을 결정합니다. 에이전트가 이미 올바른 버전에 있으면 더 이상 API 호출이 이루어지지 않습니다.
version_manage
false
로 설정하면 에이전트가 설치되지 않은 한 API 호출이 방지됩니다.
API 호출을 줄이는 가장 좋은 방법은 version_manage
false
로 설정하는 것입니다. 이렇게 하면 에이전트가 설치되지 않은 경우에만 API가 호출됩니다. 이렇게 하면 API 속도 제한 문제를 방지할 수 있습니다.
Apple 플랫폼에서는 사용자 메시지 없이 커널 확장을 설치하려면 MDM(모바일 장치 관리) 프로필이 필요합니다. 이러한 제한으로 인해 이 모듈은 Falcon Sensor만 다운로드하고 설치합니다. CrowdStrike 문서의 Mac 배포 가이드에서는 CID
에 보고를 시작하도록 Mac 센서를 구성하는 데 필요한 단계를 간략하게 설명합니다.
새로운 콘텐츠를 개발하거나 이 컬렉션을 개선하려면 이슈를 열거나 끌어오기 요청을 작성하세요. 모든 기여를 환영합니다!
자세한 내용은 라이센스를 참조하세요.