Pantau aktivitas pengguna root IAM - AWS Prescriptive Guidance

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

Pantau aktivitas pengguna root IAM

Mostefa Brougui, Amazon Web Services

Ringkasan

Setiap akun Amazon Web Services (AWS) memiliki pengguna root. Sebagai praktik keamanan terbaik untuk AWS Identity and Access Management (IAM), kami menyarankan Anda menggunakan pengguna root untuk menyelesaikan tugas yang hanya dapat dilakukan oleh pengguna root. Untuk daftar lengkapnya, lihat Tugas yang memerlukan kredensil pengguna root di Panduan Referensi Manajemen Akun AWS. Karena pengguna root memiliki akses penuh ke semua sumber daya AWS dan informasi penagihan Anda, sebaiknya Anda tidak menggunakan akun ini dan memantaunya untuk aktivitas apa pun, yang mungkin menunjukkan bahwa kredensil pengguna root telah disusupi.

Dengan menggunakan pola ini, Anda menyiapkan arsitektur berbasis peristiwa yang memantau pengguna root IAM. Pola ini menyiapkan hub-and-spoke solusi yang memantau beberapa akun AWS, akun spoke, dan memusatkan manajemen dan pelaporan dalam satu akun, akun hub.

Saat kredensi pengguna root IAM digunakan, Amazon dan CloudWatch AWS CloudTrail masing-masing merekam aktivitas di log dan jejak. Di akun spoke, EventBridge aturan Amazon mengirimkan acara ke bus acara pusat di akun hub. Di akun hub, EventBridge aturan mengirimkan acara ke fungsi AWS Lambda. Fungsi ini menggunakan topik Amazon Simple Notification Service (Amazon SNS) yang memberi tahu Anda tentang aktivitas pengguna root.

Dalam pola ini, Anda menggunakan CloudFormation templat AWS untuk menerapkan layanan pemantauan dan penanganan peristiwa di akun spoke. Anda menggunakan templat HashiCorp Terraform untuk menerapkan manajemen acara dan layanan notifikasi di akun hub.

Prasyarat dan batasan

Prasyarat

  1. Izin untuk menerapkan sumber daya AWS di lingkungan AWS Anda.

  2. Izin untuk menyebarkan set CloudFormation tumpukan. Untuk informasi selengkapnya, lihat Prasyarat untuk operasi set tumpukan (dokumentasi). CloudFormation

  3. Terraform diinstal dan siap digunakan. Untuk informasi selengkapnya, lihat Memulai — AWS (dokumentasi Terraform).

  4. Jejak yang ada di setiap akun bicara. Untuk informasi selengkapnya, lihat Memulai AWS CloudTrail (CloudTrail dokumentasi).

  5. Jejak dikonfigurasi untuk mengirim acara ke CloudWatch Log. Untuk informasi selengkapnya, lihat Mengirim peristiwa ke CloudWatch Log (CloudTrail dokumentasi).

  6. Akun hub dan spoke Anda harus dikelola oleh AWS Organizations.

Arsitektur

Diagram berikut menggambarkan blok bangunan implementasi.

Peristiwa di akun bicara yang membuat notifikasi email di akun hub
  1. Saat kredensil pengguna root IAM digunakan, CloudWatch dan CloudTrail rekam aktivitas di log dan jejak, masing-masing.

  2. Di akun spoke, EventBridge aturan mengirimkan acara ke bus acara pusat di akun hub.

  3. Di akun hub, EventBridge aturan mengirimkan acara ke fungsi Lambda.

  4. Fungsi Lambda menggunakan topik Amazon SNS yang memberi tahu Anda tentang aktivitas pengguna root.

Alat

Layanan AWS

  • AWS CloudFormation membantu Anda menyiapkan sumber daya AWS, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya di seluruh akun dan Wilayah AWS.

  • AWS CloudTrail membantu Anda mengaudit tata kelola, kepatuhan, dan risiko operasional akun AWS Anda.

  • Amazon CloudWatch Logs membantu Anda memusatkan log dari semua sistem, aplikasi, dan layanan AWS sehingga Anda dapat memantau dan mengarsipkannya dengan aman.

  • Amazon EventBridge adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data waktu nyata dari berbagai sumber. Misalnya, fungsi AWS Lambda, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di akun AWS lainnya.

  • AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

  • AWS Lambda adalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.

  • Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.

Alat dan layanan lainnya

  • Terraform adalah aplikasi CLI untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud dengan menggunakan kode, dalam bentuk file konfigurasi.

Repositori kode

Kode sumber dan template untuk pola ini tersedia di GitHub repositori. Pola ini menyediakan dua template:

  • Template Terraform yang berisi sumber daya yang Anda terapkan di akun hub

  • CloudFormation Template yang Anda terapkan sebagai instance set tumpukan di akun spoke

Repositori memiliki struktur keseluruhan berikut.

.  |__README.md  |__spoke-stackset.yaml  |__hub.tf  |__root-activity-monitor-module      |__main.tf  # contains Terraform code to deploy resources in the Hub account      |__iam      # contains IAM policies JSON files          |__ lambda-assume-policy.json          # contains trust policy of the IAM role used by the Lambda function          |__ lambda-policy.json                 # contains the IAM policy attached to the IAM role used by the Lambda function      |__outputs  # contains Lambda function zip code

Bagian Epics memberikan step-by-step instruksi untuk menyebarkan template.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori kode sampel.

  1. Buka repositori AWS IAM Root Activity Monitor.

  2. Pada tab Kode, di atas daftar file, pilih Kode, lalu salin URL HTTPS.

  3. Di antarmuka baris perintah, ubah direktori kerja Anda ke lokasi tempat Anda ingin menyimpan file sampel.

  4. Masukkan perintah berikut:

    git clone <repoURL>
AWS Umum

Perbarui template Terraform.

  1. Ambil ID organisasi Anda. Untuk petunjuknya, lihat Melihat detail organisasi dari akun manajemen (dokumentasi AWS Organizations).

  2. Di repositori kloning, buka. hub.tf

  3. Perbarui yang berikut ini dengan nilai yang sesuai untuk lingkungan Anda:

    • OrganizationId— Tambahkan ID organisasi Anda.

    • SNSTopicName— Tambahkan nama untuk topik Amazon SNS.

    • SNSSubscriptions— Tambahkan email ke mana notifikasi Amazon SNS harus dikirim.

    • Region— Tambahkan kode Wilayah AWS tempat Anda menggunakan sumber daya. Misalnya, eu-west-1.

    • Tags— Tambahkan tag Anda. Untuk informasi selengkapnya, lihat Menandai sumber daya AWS (AWS General Reference).

  4. Simpan dan tutup file hub.tf.

AWS Umum

Menerapkan sumber daya ke akun hub AWS.

  1. Di antarmuka baris perintah Terraform, arahkan ke folder root dari repositori kloning, lalu masukkan perintah berikut.

    terraform init && terraform plan
  2. Tinjau output dan konfirmasikan bahwa Anda ingin membuat sumber daya yang dijelaskan.

  3. Masukkan perintah berikut.

    terraform apply
  4. Saat diminta, konfirmasikan penyebaran dengan memasukkan. yes

AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Menyebarkan CloudFormation template.

  1. Masuk ke AWS Management Console, dan buka CloudFormation konsol.

  2. Dari panel navigasi, pilih StackSets.

  3. Di bagian atas StackSetshalaman, pilih Buat StackSet.

  4. Di bawah Izin, pilih Izin yang dikelola layanan. CloudFormation secara otomatis mengonfigurasi izin yang diperlukan untuk menerapkan ke akun target yang dikelola oleh AWS Organizations.

  5. Di bawah Prasyarat - Siapkan templat, pilih Template sudah siap.

  6. Di bawah Tentukan Templat, pilih Unggah file templat.

  7. Pilih Pilih file, dan kemudian di repositori kloning, pilih. spoke-stackset.yaml

  8. Pilih Berikutnya.

  9. Pada halaman Tentukan StackSet detail, masukkan nama untuk kumpulan tumpukan.

  10. Di bawah Parameter, masukkan ID akun akun hub, lalu pilih Berikutnya.

  11. Pada halaman Konfigurasi StackSet opsi, di bawah Tag, tambahkan tag Anda.

  12. Di bawah Konfigurasi eksekusi, pilih Tidak Aktif, lalu pilih Berikutnya.

  13. Pada halaman Setel opsi penerapan, tentukan unit organisasi dan Wilayah tempat Anda ingin menerapkan kumpulan tumpukan, lalu pilih Berikutnya.

  14. Pada halaman Tinjauan, pilih Saya mengakui bahwa AWS CloudFormation mungkin membuat sumber daya IAM, lalu pilih Kirim. CloudFormation mulai menerapkan set tumpukan Anda.

Untuk informasi dan petunjuk selengkapnya, lihat Membuat kumpulan tumpukan (CloudFormation dokumentasi).

AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Gunakan kredensil pengguna root.

  1. Masuk ke akun spoke atau akun hub dengan menggunakan kredensi pengguna root.

  2. Konfirmasikan bahwa akun email yang Anda tentukan menerima pemberitahuan Amazon SNS.

AWS Umum

Sumber daya terkait

Informasi tambahan

Amazon GuardDuty adalah layanan pemantauan keamanan berkelanjutan yang menganalisis dan memproses log untuk mengidentifikasi aktivitas tak terduga dan berpotensi tidak sah di lingkungan AWS Anda. Sebagai alternatif untuk solusi ini, jika Anda telah mengaktifkan GuardDuty, itu dapat mengingatkan Anda ketika kredenial pengguna root telah digunakan. GuardDuty Temuannya adalahPolicy:IAMUser/RootCredentialUsage, dan tingkat keparahan default adalah Rendah. Untuk informasi selengkapnya, lihat Mengelola GuardDuty temuan Amazon.