View a markdown version of this page

Penggunaan Koki InSpec profil dengan Kepatuhan Manajer Sistem - AWS Systems Manager

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola dasbor Amazon CloudWatch mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat dokumentasi CloudWatch Dasbor Amazon.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penggunaan Koki InSpec profil dengan Kepatuhan Manajer Sistem

AWS Systems Manager terintegrasi dengan Chef InSpec. Chef InSpecadalah kerangka pengujian sumber terbuka yang memungkinkan Anda membuat profil yang dapat dibaca manusia untuk disimpan di GitHub atau Amazon Simple Storage Service (Amazon S3). Kemudian Anda dapat menggunakan Manajer Sistem untuk menjalankan pemindaian kepatuhan dan melihat node yang sesuai dan tidak sesuai. Profil adalah persyaratan keamanan, kepatuhan, atau kebijakan untuk lingkungan komputasi Anda. Misalnya, Anda dapat membuat profil yang melakukan pemeriksaan berikut saat Anda memindai node dengan Kepatuhan, alat di AWS Systems Manager:

  • Periksa apakah port tertentu terbuka atau tertutup.

  • Periksa apakah aplikasi tertentu sedang berjalan.

  • Periksa apakah paket tertentu telah terinstal.

  • Periksa kunci Windows Registry untuk properti tertentu.

Anda dapat membuat InSpec profil hanya untuk instans Amazon Elastic Compute Cloud (Amazon EC2) yang dikelola dengan System Manager. On-premises server atau mesin virtual (VM) tidak didukung. Chef InSpecProfil sampel berikut memeriksa apakah port 22 terbuka.

control 'Scan Port' do impact 10.0 title 'Server: Configure the service port' desc 'Always specify which port the SSH server should listen to. Prevent unexpected settings.' describe sshd_config do its('Port') { should eq('22') } end end

InSpec mencakup kumpulan sumber daya yang membantu Anda menulis cek dan kontrol audit dengan cepat. InSpec menggunakan InSpec Domain-specific Language (DSL) untuk menulis kontrol ini di Ruby. Anda juga dapat menggunakan profil yang dibuat oleh komunitas InSpec pengguna yang besar. Misalnya, proyek DevSec chef-os-menyer GitHub takan lusinan profil untuk membantu Anda mengamankan node Anda. Anda dapat membuat dan menyimpan profil di GitHub atau Amazon S3.

Cara kerjanya

Berikut adalah cara kerja proses menggunakan InSpec profil dengan Kepatuhan:

  1. Identifikasi InSpec profil yang telah ditentukan sebelumnya yang ingin Anda gunakan, atau buat profil Anda sendiri. Anda dapat menggunakan profil yang telah https://github.com/search?p=1&q=topic%3Ainspec+org%3Adev-sec&type=Repositories ditentukan GitHub sebelumnya untuk memulai. Untuk informasi tentang cara membuat InSpec profil Anda sendiri, lihat Chef InSpec Profil Koki.

  2. Simpan profil di GitHub repositori publik atau pribadi, atau dalam bucket S3.

  3. Jalankan Kepatuhan dengan InSpec profil Anda dengan menggunakan dokumen Manajer Sistem (dokumen SSM)AWS-RunInspecChecks. Anda dapat memulai pemindaian Kepatuhan dengan menggunakanRun Command, untuk pemindaian sesuai permintaan, atau Anda dapat menjadwalkan pemindaian Kepatuhan reguler dengan menggunakanState Manager, alat di AWS Systems Manager.

  4. Mengidentifikasi node yang tidak sesuai dengan menggunakan API Kepatuhan atau konsol Kepatuhan.

catatan

Perhatikan informasi berikut.

  • Chefmenggunakan klien pada node Anda untuk memproses profil. Anda tidak perlu menginstal klien. Ketika Systems Manager menjalankan dokumen SSM AWS-RunInspecChecks, sistem memeriksa apakah klien terinstal. Jika tidak, Manajer Sistem menginstal Chef klien selama pemindaian, dan kemudian menghapus instalasi klien setelah pemindaian selesai.

  • Menjalankan dokumen SSMAWS-RunInspecChecks, seperti yang dijelaskan dalam topik ini, menetapkan entri kepatuhan tipe Custom:Inspec untuk setiap node yang ditargetkan. Untuk menetapkan jenis kepatuhan ini, dokumen memanggil operasi PutComplianceItems API.

Menjalankan pemindaian InSpec kepatuhan

Bagian ini mencakup informasi tentang cara menjalankan pemindaian InSpec kepatuhan dengan menggunakan konsol Manajer Sistem dan AWS Command Line Interface (AWS CLI). Prosedur konsol menunjukkan cara mengkonfigurasi State Manager untuk menjalankan pemindaian. AWS CLI Prosedur ini menunjukkan cara mengkonfigurasi Run Command untuk menjalankan pemindaian.

Menjalankan pemindaian InSpec kepatuhan dengan State Manager (konsol)

Untuk menjalankan pemindaian InSpec kepatuhan dengan State Manager dengan menggunakan AWS Systems Manager konsol
  1. Buka AWS Systems Manager konsol di https://console.aws.amazon.com/systems-manager/.

  2. Di panel navigasi, pilih State Manager.

  3. Pilih Buat asosiasi.

  4. Di bagian Berikan detail asosiasi, masukkan nama.

  5. Di daftar Dokumen, pilih AWS-RunInspecChecks.

  6. Di daftar Versi dokumen, pilih Terbaru pada waktu aktif.

  7. Di bagian Parameter, dalam daftar Jenis Sumber, pilih salah satu GitHub atau S3.

    Jika Anda memilih GitHub, masukkan jalur ke InSpec profil baik di GitHub repositori publik atau pribadi di bidang Info Sumber. Berikut adalah contoh jalur ke profil publik yang disediakan oleh tim Manajer Sistem dari lokasi berikut: https://github.com/awslabs/amazon-ssm/tree/master/Compliance/InSpec/PortCheck.

    {"owner":"awslabs","repository":"amazon-ssm","path":"Compliance/InSpec/PortCheck","getOptions":"branch:master"}

    Jika Anda memilih S3, masukkan URL yang valid ke InSpec profil di bucket S3 di bidang Info Sumber.

    Untuk informasi selengkapnya tentang cara System Manager terintegrasi dengan GitHub dan Amazon S3, lihatMenjalankan skrip dari GitHub.

  8. Di bagian Target, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.

    Tip

    Jika node terkelola yang Anda harapkan tidak terdaftar, lihat tips pem Memecahkan masalah ketersediaan node terkelola ecahan masalah.

  9. Di bagian Tentukan jadwal, gunakan pilihan pembangun jadwal untuk membuat jadwal yang menentukan kapan Anda menginginkan pemindaian kepatuhan dijalankan.

  10. Untuk Pengendalian rate:

    • Untuk Konkurensi, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.

      catatan

      Jika Anda memilih target dengan menentukan tag yang diterapkan ke node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, batasi jumlah target yang dapat menjalankan dokumen secara bersamaan dengan menentukan persentase.

    • Untuk Ambang kesalahan, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

  11. (Opsional) Untuk Opsi output, untuk menyimpan output perintah ke file, pilih kotak Tuliskan output perintah ke bucket S3. Masukkan nama bucket dan prefiks (folder) di kotak.

    catatan

    Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan milik pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat Mengonfigurasi izin instans yang diperlukan untuk Manajer Sistem atau Membuat peran layanan IAM untuk lingkungan hibrida. Selain itu, jika bucket S3 yang ditentukan berada di tempat yang berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

  12. Pilih Buat Asosiasi. Sistem membuat asosiasi dan secara otomatis menjalankan pemindaian Kepatuhan.

  13. Tunggu beberapa menit sampai pemindaian selesai, lalu pilih Kepatuhan di panel navigasi.

  14. Di Inst ans terkelola yang sesuai, cari node tempat kolom Jenis Kepatuhan berada Custom:Inspec.

  15. Pilih ID node untuk melihat detail status yang tidak sesuai.

Menjalankan pemindaian InSpec kepatuhan dengan Run Command (AWS CLI)

  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk informasi, lihat Menginstal atau memperbarui versi terbaru dari AWS CLI.

  2. Jalankan salah satu perintah berikut untuk menjalankan InSpec profil dari salah satu GitHub atau Amazon S3.

    Perintah membawa parameter berikut:

    • Jenis sumber: atau Amazon S3 GitHub

    • SourceInfo: URL ke folder InSpec profil baik di dalam GitHub atau bucket S3. Folder harus berisi InSpec file dasar (*.yml) dan semua kontrol terkait (*.rb).

    GitHub

    aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"Inspec.yml_file"}"]}'

    Inilah contohnya.

    aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters '{"sourceType":["GitHub"],"getOptions":"branch:master","sourceInfo":["{\"owner\":\"awslabs\", \"repository\":\"amazon-ssm\", \"path\": \"Compliance/InSpec/PortCheck\"}"]}'

    Amazon S3

    aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/Inspec.yml_file\"}"]}'

    Inilah contohnya.

    aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/InSpec/PortCheck.yml\"}"]}'
  3. Jalankan perintah berikut untuk melihat ringkasan pemindaian Kepatuhan.

    aws ssm list-resource-compliance-summaries --filters Key=ComplianceType,Values=Custom:Inspec
  4. Jalankan perintah berikut untuk melihat detail node yang tidak sesuai.

    aws ssm list-compliance-items --resource-ids node_ID --resource-type ManagedInstance --filters Key=DocumentName,Values=AWS-RunInspecChecks