คำอธิบาย
การใช้งาน - ตัวเลือกการกำหนดค่าและฟังก์ชันเพิ่มเติม
ข้อจำกัด - ความเข้ากันได้ของระบบปฏิบัติการ ฯลฯ
api
เทียบกับวิธีการติดตั้ง local
การพัฒนา - คำแนะนำสำหรับการมีส่วนร่วมในโมดูล
ใบอนุญาต
โมดูล falcon
จะติดตั้ง กำหนดค่า และจัดการบริการ falcon
บนระบบปฏิบัติการและการกระจายหลายระบบ
หมายเหตุ :
puppet-falcon
เป็นโครงการโอเพ่นซอร์ส ไม่ใช่ผลิตภัณฑ์ CrowdStrike ด้วยเหตุนี้ จึงไม่มีการสนับสนุนอย่างเป็นทางการ ไม่ว่าโดยชัดแจ้งหรือโดยนัย
พารามิเตอร์ทั้งหมดสำหรับโมดูลเหยี่ยวจะอยู่ภายในคลาส falcon
หลัก มีตัวเลือกมากมายที่จะแก้ไขสิ่งที่โมดูลทำ อ้างถึง REFERENCE.md สำหรับรายละเอียดเพิ่มเติม
ด้านล่างนี้คือกรณีการใช้งานทั่วไปบางส่วน
หมายเหตุ : แพ็คเกจ
falcon
ไม่ได้เปิดเผยต่อสาธารณะ ดังนั้นโมดูลนี้มีสองตัวเลือกในการติดตั้งเซ็นเซอร์เหยี่ยว การใช้พารามิเตอร์install_method
คุณสามารถเลือกapi
หรือlocal
.api
เป็นค่าเริ่มต้น ข้อมูลเพิ่มเติมแสดงอยู่ในวิธีการติดตั้ง API เทียบกับ Local
# ใช้ `api` methodclass {'falcon': client_id => Sensitive('12346'), client_secret => Sensitive('12345'), cid => 'AJKQUI123JFKSDFJK`}
# โดยใช้ `local` method$package_options = { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' # คุณลักษณะอื่นใดที่ถูกต้องสำหรับแพ็คเกจทรัพยากร}คลาส {'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
คลาส { 'falcon': client_id => ละเอียดอ่อน ('12346'), client_secret => ละเอียดอ่อน ('12345'), เวอร์ชัน => '1.0.0', cid => 'AJKQUI123JFKSDFJK`}
การใช้พารามิเตอร์ update_policy
ซึ่งจะมีความสำคัญเหนือกว่าพารามิเตอร์ version_decrement
คลาส { 'falcon': client_id => ละเอียดอ่อน ('12346'), client_secret => ละเอียดอ่อน ('12345'), update_policy => 'platform_default', cid => 'AJKQUI123JFKSDFJK`}
การใช้พารามิเตอร์ version_decrement
ใช้ version_decrement
เพื่อดาวน์โหลดเวอร์ชัน nx
ค่า 0
จะดาวน์โหลดเวอร์ชันล่าสุด และค่า 2
จะดาวน์โหลดเวอร์ชัน n-2
( 2
เวอร์ชันที่ตามหลังล่าสุด)
คลาส { 'falcon': client_id => ละเอียดอ่อน ('12346'), client_secret => ละเอียดอ่อน ('12345'), version_decreation => 2, cid => 'AJKQUI123JFKSDFJK`}
local
วิธีการติดตั้ง local
ช่วยให้คุณควบคุมวิธีการติดตั้งเซ็นเซอร์ได้อย่างเต็มที่
เหตุผลบางประการที่คุณอาจใช้วิธีนี้คือ:
คุณต้องการติดตั้งเซ็นเซอร์จากไฟล์ในเครื่อง
คุณมีระบบการจัดการแพ็คเกจของคุณเอง
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการติดตั้ง local
ใน API เทียบกับวิธีการติดตั้งในเครื่อง
เมื่อคุณใช้วิธีการติดตั้ง local
จำเป็นต้องมี package_options
พารามิเตอร์ใน package_options
จะถูกส่งผ่านไปยังทรัพยากร package
คุณต้องระบุพารามิเตอร์ที่จำเป็นสำหรับทรัพยากร package
ยกเว้นพารามิเตอร์ name
โมดูลจะเลือกชื่อที่เหมาะสมตามระบบปฏิบัติการ คุณยังคงสามารถแทนที่ชื่อได้โดยการระบุคุณสมบัติ name
ในแฮช package_options
# การใช้ไฟล์ไฟล์ในเครื่อง {'/tmp/sensor.rpm': ให้แน่ใจว่า => 'ปัจจุบัน', แหล่งที่มา => 'https://company-filer-server.com/sensor.rpm'}คลาส {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' } ต้องใช้ => ไฟล์['/tmp/sensor.rpm'] -
# การใช้ http sourceclass {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => 'http://example.com/sensor.rpm' - -
# การแทนที่ชื่อ parameterclass {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm', 'name' => ' เหยี่ยวเซ็นเซอร์' - -
เมื่อ install_method
เป็น api
คุณสามารถใช้พารามิเตอร์ cleanup_installer
เพื่อลบไฟล์ตัวติดตั้งหลังการติดตั้ง
คลาส { 'falcon': client_id => ละเอียดอ่อน ('12346'), client_secret => ละเอียดอ่อน ('12345'), cleanup_installer => จริง, cid => 'AJKQUI123JFKSDFJK`}
คุณสามารถแทนที่พารามิเตอร์ใดๆ ที่ส่งไปยังทรัพยากร package
ได้โดยใช้พารามิเตอร์ package_options
พารามิเตอร์แพ็คเกจที่ถูกต้อง
วิธีนี้ใช้งานได้เหมือนกันทั้งใน api
และวิธีการติดตั้งใน local
$package_options = { 'ผู้ให้บริการ' => 'รอบต่อนาที', 'install_options' => '--บังคับ', } คลาส { 'เหยี่ยว': package_options => $package_options}
คลาส {'falcon': package_manage => false # ... พารามิเตอร์ที่จำเป็นอื่น ๆ}
หมายเหตุ เอเจนต์ windows สามารถกำหนดค่าได้ในเวลาติดตั้งเท่านั้น เอเจนต์ Linux มาพร้อมกับ
falconctl
ที่อนุญาตให้ puppet กำหนดค่าเอเจนต์หลังการติดตั้ง ตัวอย่างเช่น: การอัพเดตคุณสมบัติcid
ในทรัพยากรของคุณจะอัพเดตcid
บนเอเจนต์ linux ในการรันครั้งถัดไป แต่ไม่ใช่ใน windows
คลาส {'falcon': config_manage => false # ... พารามิเตอร์ที่จำเป็นอื่น ๆ}
คลาส {'falcon': service_manage => false # ... พารามิเตอร์ที่จำเป็นอื่น ๆ}
cid
คลาส {'falcon': cid => 'AJKQUI123JFKSDFJK` # ... พารามิเตอร์ที่จำเป็นอื่น ๆ }
cid
ด้วยโทเค็นการจัดเตรียม หากบริษัทของคุณต้องการโทเค็นการจัดเตรียมเพื่อลงทะเบียนตัวแทน คุณสามารถใช้พารามิเตอร์ provisioning_token
คลาส {'falcon': cid => 'AJKQUI123JFKSDFJK`, การจัดเตรียม_token => '1234567890' # ... พารามิเตอร์ที่จำเป็นอื่น ๆ }
คุณสามารถใช้พารามิเตอร์ proxy_host
, proxy_port
และ proxy_enabled
เพื่อกำหนดการตั้งค่าพร็อกซีสำหรับตัวแทนของคุณ
หมายเหตุ การติดตั้ง Mac ไม่มีการตั้งค่าพร็อกซีเฉพาะสำหรับตัวแทน แต่จะใช้การตั้งค่าพร็อกซีของระบบปฏิบัติการแทน การส่งค่าไปยังพารามิเตอร์เหล่านี้จะไม่กำหนดการตั้งค่าพร็อกซีสำหรับ Mac
คลาส {'falcon': cid => 'AJKQUI123JFKSDFJK`, การจัดเตรียม_token => '1234567890,' proxy_host => 'neptune.example.com', proxy_port => '8080', proxy_enabled => จริง
-
หากคุณต้องการปักหมุดเวอร์ชันเอเจนต์เป็นเวอร์ชันเฉพาะโดยใช้วิธีการติดตั้ง api
คุณสามารถตั้งค่า version_manage
เป็น true ได้
ในตัวอย่างด้านล่าง เราใช้ version_decrement
แต่ใช้งานได้เหมือนกันสำหรับทุกคน Puppet จะปรึกษา API เพื่อพิจารณาว่าเวอร์ชัน version_decrement => 2
แก้ไขเป็นเวอร์ชันใด จากนั้นจะดาวน์โหลดเวอร์ชันนั้นและตรวจสอบให้แน่ใจว่ามีการติดตั้งแล้ว
การเรียกใช้ครั้งต่อๆ ไปแต่ละครั้งจะตรวจสอบ API เพื่อดูว่าเวอร์ชันที่ส่งคืนเป็นเวอร์ชันที่ติดตั้งหรือไม่ ตัวอย่างเช่น หากเวอร์ชันใหม่ถูกปล่อยออกมา จะทำให้เวอร์ชันที่ส่งคืนจากการตรวจสอบเปลี่ยนแปลง ส่งผลให้เอเจนต์ได้รับการอัปเกรดเป็นเวอร์ชัน n-2
ใหม่
คำเตือน : สิ่งนี้ทำให้โมดูลปรึกษา API ทุกครั้งเพื่อให้แน่ใจว่าเวอร์ชันที่ API ส่งคืนนั้นเป็นเวอร์ชันที่ติดตั้ง ซึ่งอาจทำให้เกิดปัญหาขีดจำกัดอัตราสำหรับการปรับใช้ขนาดใหญ่ หากคุณต้องการอัปเกรด/ดาวน์เกรดอัตโนมัติ และใช้วิธีการติดตั้ง
api
โดยทั่วไปแนะนำให้ตั้งversion_manage
เป็นfalse
และอนุญาตให้ CrowdStrike Update Policy ทำการอัปเกรด/ดาวน์เกรดแทน Puppet
คลาส {'falcon': version_manage => true client_id => Sensitive ('12346'), client_secret => Sensitive ('12345'), update_policy => 'platform_default' cid => 'AJKQUI123JFKSDFJK` # ... พารามิเตอร์ที่จำเป็นอื่น ๆ }
การใช้ install_method
ของ local
คลาส {'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
คุณสามารถใช้วิธีการติดตั้ง local
หากต้องการการควบคุมเต็มรูปแบบและไม่ต้องการใช้ประโยชน์จาก API
โดยทั่วไปโมดูล Puppet ที่จัดการแพ็คเกจจะควบคุมวงจรการใช้งานทั้งหมดของแพ็คเกจนั้นตั้งแต่การติดตั้งจนถึงการลบออก ความจริงที่ว่าแพ็คเกจตัวแทน CrowdStrike ไม่ใช่แบบสาธารณะทำให้สิ่งนี้ยาก
เรายังต้องการมอบแนวทางในการติดตั้งแพ็คเกจอย่างรวดเร็ว ดังนั้นเราจึงสร้างวิธีการติดตั้ง api
ขึ้นมา วิธีนี้จะกำหนดให้คุณต้องระบุข้อมูลรับรอง API จากนั้นเราจะดาวน์โหลดเวอร์ชันแพ็กเกจที่ถูกต้องจาก CrowdStrike API มีพารามิเตอร์ที่ให้คุณควบคุมพฤติกรรมเช่นการตั้งค่า update_policy
นี่จะทำให้โมดูลดาวน์โหลดเวอร์ชันที่ถูกต้องตามสิ่งที่นโยบายการอัปเดตแนะนำ ตัวอย่างของแต่ละที่นี่
อย่างไรก็ตาม วิธีการนี้อาจไม่เหมาะสำหรับทุกคน ดังนั้นจึงมีการสร้างวิธีการติดตั้ง local
เพื่อให้คุณสามารถควบคุมวิธีการติดตั้งเซ็นเซอร์ได้อย่างเต็มที่
api
ทำงานอย่างไรวิธีการติดตั้ง api จะใช้ Falcon API เพื่อดาวน์โหลดเวอร์ชันแพ็คเกจที่ถูกต้อง เวอร์ชันแพ็กเกจที่ถูกต้องขึ้นอยู่กับพารามิเตอร์ที่คุณระบุ คุณสามารถดูตัวอย่างของแต่ละรายการได้ที่นี่
การเรียกใช้ครั้งแรกจะทำให้ Puppet เรียกใช้ CrowdStrike apis ที่เหมาะสมเพื่อรับข้อมูลที่จำเป็นในการดาวน์โหลดแพ็คเกจเซ็นเซอร์ จากนั้นจะดาวน์โหลดแพ็คเกจเซ็นเซอร์ หลังจากนั้นทรัพยากรหุ่นเชิดปกติจะเข้ามาแทนที่
หากคุณตั้ง version_manage
เป็น true
ทุกการรันจะทำให้โมดูลปรึกษา CrowdStrike API เพื่อรับเวอร์ชันแพ็คเกจที่เหมาะสม จากนั้นจะตรวจสอบว่าเวอร์ชันที่ติดตั้งเหมือนกับเวอร์ชันที่ส่งคืนหรือไม่ หากไม่เหมือนกัน ระบบจะดาวน์โหลดเวอร์ชันแพ็คเกจที่ถูกต้องและดำเนินการติดตั้ง/อัปเดต/ดาวน์เกรดที่เหมาะสม
หากคุณตั้งค่า version_manage
เป็น false
การเรียก API จะเกิดขึ้นเฉพาะเมื่อไม่ได้ติดตั้งเซ็นเซอร์ CrowdStrike เท่านั้น
ข้อจำกัดหลักของวิธีการติดตั้ง api
คือขีดจำกัดอัตรา api เราไม่ได้ตีพวกมันเอง แต่อาจเป็นไปได้ที่การติดตั้งขนาดใหญ่จะถึงขีดจำกัดอัตราเมื่อใช้วิธีการติดตั้ง api
โดยตั้ง version_manage
เป็น true
แต่ละครั้งที่ Puppet รวบรวมแค็ตตาล็อกสำหรับโหนด จะใช้ API เพื่อกำหนดเวอร์ชันของเอเจนต์ที่ควรติดตั้ง หากเอเจนต์ใช้เวอร์ชันที่ถูกต้องอยู่แล้ว จะไม่มีการเรียก API อีกต่อไป
การตั้งค่า version_manage
เป็น false
จะป้องกันการเรียก API เว้นแต่ไม่ได้ติดตั้งเอเจนต์
วิธีที่ดีที่สุดในการลดการโทร API คือการตั้งค่า version_manage
เป็น false
ซึ่งจะทำให้แน่ใจได้ว่าจะมีการเรียก API เพียงครั้งเดียวเมื่อไม่ได้ติดตั้งเอเจนต์ สิ่งนี้จะป้องกันปัญหาขีดจำกัดอัตรา API
แพลตฟอร์มของ Apple จำเป็นต้องมีโปรไฟล์ Mobile Device Management (MDM) เพื่อติดตั้งส่วนขยายเคอร์เนลโดยไม่ต้องแจ้งผู้ใช้ เนื่องจากข้อจำกัดนี้ โมดูลนี้จะดาวน์โหลดและติดตั้ง Falcon Sensor เท่านั้น คู่มือการปรับใช้ Mac ในเอกสาร CrowdStrike สรุปขั้นตอนที่จำเป็นในการกำหนดค่าเซ็นเซอร์ Mac เพื่อเริ่มการรายงานไปยัง CID
หากคุณต้องการพัฒนาเนื้อหาใหม่หรือปรับปรุงคอลเลกชันนี้ โปรดเปิดประเด็นหรือสร้างคำขอดึงข้อมูล ยินดีต้อนรับทุกการมีส่วนร่วม!
ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม