Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat laporan temuan Network Access Analyzer untuk akses internet masuk dalam beberapa Akun AWS
Mike Virgilio, Amazon Web Services
Ringkasan
Akses internet masuk yang tidak disengaja ke AWS sumber daya dapat menimbulkan risiko bagi perimeter data organisasi. Network Access Analyzer adalah fitur Amazon Virtual Private Cloud (Amazon VPC) yang membantu Anda mengidentifikasi akses jaringan yang tidak diinginkan ke sumber daya Anda di Amazon Web Services ().AWS Anda dapat menggunakan Network Access Analyzer untuk menentukan persyaratan akses jaringan Anda dan untuk mengidentifikasi jalur jaringan potensial yang tidak memenuhi persyaratan yang Anda tentukan. Anda dapat menggunakan Network Access Analyzer untuk melakukan hal berikut:
Identifikasi AWS sumber daya yang dapat diakses oleh internet melalui gateway internet.
Validasi bahwa virtual private cloud (VPCs) Anda tersegmentasi dengan tepat, seperti mengisolasi lingkungan produksi dan pengembangan dan memisahkan beban kerja transaksional.
Network Access Analyzer menganalisis kondisi jangkauan end-to-end jaringan dan bukan hanya satu komponen. Untuk menentukan apakah sumber daya dapat diakses internet, Network Access Analyzer mengevaluasi gateway internet, tabel rute VPC, daftar kontrol akses jaringan (ACLs), alamat IP publik pada antarmuka jaringan elastis, dan grup keamanan. Jika salah satu komponen ini mencegah akses internet, Network Access Analyzer tidak menghasilkan temuan. Misalnya, jika instans Amazon Elastic Compute Cloud (Amazon EC2) memiliki grup keamanan terbuka yang memungkinkan lalu lintas dari 0/0
tetapi instance berada dalam subnet pribadi yang tidak dapat dirutekan dari gateway internet mana pun, maka Network Access Analyzer tidak akan menghasilkan temuan. Ini memberikan hasil kesetiaan tinggi sehingga Anda dapat mengidentifikasi sumber daya yang benar-benar dapat diakses dari internet.
Ketika Anda menjalankan Network Access Analyzer, Anda menggunakan Network Access Scopes untuk menentukan persyaratan akses jaringan Anda. Solusi ini mengidentifikasi jalur jaringan antara gateway internet dan elastic network interface. Dalam pola ini, Anda menyebarkan solusi secara terpusat Akun AWS di organisasi Anda, dikelola oleh AWS Organizations, dan menganalisis semua akun, di mana pun Wilayah AWS, di organisasi.
Solusi ini dirancang dengan mempertimbangkan hal-hal berikut:
AWS CloudFormation Template mengurangi upaya yang diperlukan untuk menyebarkan AWS sumber daya dalam pola ini.
Anda dapat menyesuaikan parameter dalam CloudFormation template dan skrip naa-script.sh pada saat penerapan untuk menyesuaikannya untuk lingkungan Anda.
Bash scripting secara otomatis menyediakan dan menganalisis Network Access Scopes untuk beberapa akun, secara paralel.
Skrip Python memproses temuan, mengekstrak data, dan kemudian mengkonsolidasikan hasilnya. Anda dapat memilih untuk meninjau laporan konsolidasi temuan Network Access Analyzer dalam format CSV atau dalam format. AWS Security Hub Contoh laporan CSV tersedia di bagian Informasi tambahan dari pola ini.
Anda dapat memulihkan temuan, atau Anda dapat mengecualikannya dari analisis future dengan menambahkannya ke file naa-exclusions.csv.
Prasyarat dan batasan
Prasyarat
Sebuah Akun AWS untuk layanan dan alat keamanan hosting, dikelola sebagai akun anggota organisasi di AWS Organizations. Dalam pola ini, akun ini disebut sebagai akun keamanan.
Di akun keamanan, Anda harus memiliki subnet pribadi dengan akses internet keluar. Untuk petunjuknya, lihat Membuat subnet dalam dokumentasi Amazon VPC. Anda dapat membuat akses internet dengan menggunakan gateway NAT atau titik akhir VPC antarmuka.
Akses ke akun AWS Organizations manajemen atau akun yang telah mendelegasikan izin administrator untuk. CloudFormation Untuk petunjuk, lihat Mendaftarkan administrator yang didelegasikan dalam CloudFormation dokumentasi.
Aktifkan akses tepercaya antara AWS Organizations dan CloudFormation. Untuk petunjuk, lihat Mengaktifkan akses tepercaya dengan AWS Organizations dalam CloudFormation dokumentasi.
Jika Anda mengunggah temuan ke Security Hub, Security Hub harus diaktifkan di akun dan Wilayah AWS tempat EC2 instans Amazon disediakan. Untuk informasi selengkapnya, lihat Menyiapkan AWS Security Hub.
Batasan
Jalur jaringan lintas akun saat ini tidak dianalisis karena keterbatasan fitur Network Access Analyzer.
Target Akun AWS harus dikelola sebagai organisasi di AWS Organizations. Jika Anda tidak menggunakan AWS Organizations, Anda dapat memperbarui CloudFormation template naa-execrole.yaml dan skrip naa-script.sh untuk lingkungan Anda. Sebagai gantinya, Anda memberikan daftar Akun AWS IDs dan Wilayah tempat Anda ingin menjalankan skrip.
CloudFormation Template ini dirancang untuk menyebarkan EC2 instance Amazon di subnet pribadi yang memiliki akses internet keluar. AWS Systems Manager Agen (Agen SSM) memerlukan akses keluar untuk mencapai titik akhir layanan Systems Manager, dan Anda memerlukan akses keluar untuk mengkloning repositori kode dan menginstal dependensi. Jika Anda ingin menggunakan subnet publik, Anda harus memodifikasi template naa-resources.yaml untuk mengaitkan alamat IP Elastis dengan instans Amazon. EC2
Arsitektur
Arsitektur target
Opsi 1: Akses temuan di ember Amazon S3

Diagram menunjukkan proses berikut:
Jika Anda menjalankan solusi secara manual, pengguna mengautentikasi ke EC2 instance Amazon dengan menggunakan Session Manager dan kemudian menjalankan skrip naa-script.sh. Skrip shell ini melakukan langkah 2—7.
Jika Anda menjalankan solusi secara otomatis, skrip naa-script.sh dimulai secara otomatis pada jadwal yang Anda tentukan dalam ekspresi cron. Skrip shell ini melakukan langkah 2—7. Untuk informasi selengkapnya, lihat Otomatisasi dan skala di akhir bagian ini.
EC2 Instans Amazon mengunduh file naa-exception.csv terbaru dari bucket Amazon S3. File ini digunakan nanti dalam proses ketika skrip Python memproses pengecualian.
EC2 Instans Amazon mengasumsikan peran
NAAEC2Role
AWS Identity and Access Management (IAM), yang memberikan izin untuk mengakses bucket Amazon S3 dan untuk mengambil peranNAAExecRole
IAM di akun lain di organisasi.EC2 Instans Amazon mengasumsikan peran
NAAExecRole
IAM dalam akun manajemen organisasi dan menghasilkan daftar akun dalam organisasi.EC2 Instans Amazon mengasumsikan peran
NAAExecRole
IAM dalam akun anggota organisasi (disebut akun beban kerja dalam diagram arsitektur) dan melakukan penilaian keamanan di setiap akun. Temuan disimpan sebagai file JSON di EC2 instance Amazon.EC2 Instans Amazon menggunakan skrip Python untuk memproses file JSON, mengekstrak bidang data, dan membuat laporan CSV.
EC2 Instans Amazon mengunggah file CSV ke bucket Amazon S3.
EventBridge Aturan Amazon mendeteksi unggahan file dan menggunakan topik Amazon SNS untuk mengirim email yang memberi tahu pengguna bahwa laporan sudah lengkap.
Pengguna mengunduh file CSV dari bucket Amazon S3. Pengguna mengimpor hasil ke template Excel dan meninjau hasilnya.
Opsi 2: Akses temuan di AWS Security Hub

Diagram menunjukkan proses berikut:
Jika Anda menjalankan solusi secara manual, pengguna mengautentikasi ke EC2 instance Amazon dengan menggunakan Session Manager dan kemudian menjalankan skrip naa-script.sh. Skrip shell ini melakukan langkah 2—7.
Jika Anda menjalankan solusi secara otomatis, skrip naa-script.sh dimulai secara otomatis pada jadwal yang Anda tentukan dalam ekspresi cron. Skrip shell ini melakukan langkah 2—7. Untuk informasi selengkapnya, lihat Otomatisasi dan skala di akhir bagian ini.
EC2 Instans Amazon mengunduh file naa-exception.csv terbaru dari bucket Amazon S3. File ini digunakan nanti dalam proses ketika skrip Python memproses pengecualian.
EC2 Instans Amazon mengasumsikan peran
NAAEC2Role
IAM, yang memberikan izin untuk mengakses bucket Amazon S3 dan untuk mengambil peranNAAExecRole
IAM di akun lain di organisasi.EC2 Instans Amazon mengasumsikan peran
NAAExecRole
IAM dalam akun manajemen organisasi dan menghasilkan daftar akun dalam organisasi.EC2 Instans Amazon mengasumsikan peran
NAAExecRole
IAM dalam akun anggota organisasi (disebut akun beban kerja dalam diagram arsitektur) dan melakukan penilaian keamanan di setiap akun. Temuan disimpan sebagai file JSON di EC2 instance Amazon.EC2 Instans Amazon menggunakan skrip Python untuk memproses file JSON dan mengekstrak bidang data untuk diimpor ke Security Hub.
EC2 Instans Amazon mengimpor temuan Network Access Analyzer ke Security Hub.
EventBridge Aturan Amazon mendeteksi impor dan menggunakan topik Amazon SNS untuk mengirim email yang memberi tahu pengguna bahwa prosesnya selesai.
Pengguna melihat temuan di Security Hub.
Otomatisasi dan skala
Anda dapat menjadwalkan solusi ini untuk menjalankan skrip naa-script.sh secara otomatis pada jadwal khusus. Untuk mengatur jadwal kustom, dalam template CloudFormation naa-resources.yaml, ubah parameter. CronScheduleExpression
Misalnya, nilai default 0 0 * * 0
menjalankan solusi pada tengah malam setiap hari Minggu. Nilai 0 0 * 1-12 0
akan menjalankan solusi pada tengah malam pada hari Minggu pertama setiap bulan. Untuk informasi selengkapnya tentang penggunaan ekspresi cron, lihat Cron dan ekspresi tingkat dalam dokumentasi Systems Manager.
Jika Anda ingin sesuaikan jadwal setelah NAA-Resources
tumpukan digunakan, Anda dapat mengedit jadwal cron secara manual. /etc/cron.d/naa-schedule
Alat
Layanan AWS
Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
Amazon EventBridge adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data waktu nyata dari berbagai sumber. Misalnya, AWS Lambda fungsi, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di tempat lain. Akun AWS
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
AWS Organizationsadalah layanan manajemen akun yang membantu Anda mengkonsolidasikan beberapa Akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat.
AWS Security Hubmemberikan pandangan komprehensif tentang keadaan keamanan Anda di AWS. Ini juga membantu Anda memeriksa AWS lingkungan Anda terhadap standar industri keamanan dan praktik terbaik.
Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
AWS Systems Managermembantu Anda mengelola aplikasi dan infrastruktur yang berjalan di AWS Cloud. Ini menyederhanakan aplikasi dan manajemen sumber daya, mempersingkat waktu untuk mendeteksi dan menyelesaikan masalah operasional, dan membantu Anda mengelola AWS sumber daya Anda dengan aman dalam skala besar. Pola ini menggunakan Session Manager, kemampuan Systems Manager.
Repositori kode
Kode untuk pola ini tersedia di repositori Analisis Multi-Akun GitHub Network Access Analyzer
naa-script.sh - Skrip bash ini digunakan untuk memulai analisis Network Access Analyzer dari beberapa Akun AWS, secara paralel. Seperti yang didefinisikan dalam CloudFormation template naa-resources.yaml, skrip ini secara otomatis diterapkan ke folder pada instance Amazon.
/usr/local/naa
EC2naa-resources.yaml - Anda menggunakan CloudFormation template ini untuk membuat tumpukan di akun keamanan dalam organisasi. Template ini menyebarkan semua sumber daya yang diperlukan untuk akun ini untuk mendukung solusinya. Tumpukan ini harus digunakan sebelum template naa-execrole.yaml.
catatan
Jika tumpukan ini dihapus dan digunakan kembali, Anda harus membangun kembali kumpulan
NAAExecRole
tumpukan untuk membangun kembali dependensi lintas akun di antara peran IAM.naa-execrole.yaml - Anda menggunakan CloudFormation templat ini untuk membuat kumpulan tumpukan yang menerapkan peran
NAAExecRole
IAM di semua akun di organisasi, termasuk akun manajemen.naa-processfindings.py - Skrip naa-script.sh secara otomatis memanggil skrip Python ini untuk memproses output JSON Network Access Analyzer, mengecualikan sumber daya yang diketahui baik dalam file naa-exclusions.csv, dan kemudian menghasilkan file CSV dari hasil konsolidasi atau mengimpor hasilnya ke Security Hub.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Kloning repositori kode. |
| AWS DevOps |
Tinjau template. |
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Menyediakan sumber daya di akun keamanan. | Menggunakan template naa-resources.yaml, Anda membuat CloudFormation tumpukan yang menyebarkan semua sumber daya yang diperlukan di akun keamanan. Untuk petunjuk, lihat Membuat tumpukan dalam CloudFormation dokumentasi. Perhatikan hal berikut saat menerapkan template ini:
| AWS DevOps |
Menyediakan peran IAM di akun anggota. | Di akun AWS Organizations manajemen atau akun dengan izin administrator yang didelegasikan CloudFormation, gunakan templat naa-execrole.yaml untuk membuat kumpulan tumpukan. CloudFormation Kumpulan tumpukan menyebarkan peran
| AWS DevOps |
Menyediakan peran IAM dalam akun manajemen. | Menggunakan template naa-execrole.yaml, Anda membuat CloudFormation tumpukan yang menerapkan peran
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Sesuaikan skrip shell. |
| AWS DevOps |
Analisis akun target. |
| AWS DevOps |
Opsi 1 - Ambil hasil dari bucket Amazon S3. |
| AWS DevOps |
Opsi 2 — Tinjau hasilnya di Security Hub. |
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Memperbaiki temuan. | Perbaiki temuan apa pun yang ingin Anda atasi. Untuk informasi selengkapnya dan praktik terbaik tentang cara membuat perimeter di sekitar AWS identitas, sumber daya, dan jaringan Anda, lihat Membangun perimeter data di AWS (AWS Whitepaper). | AWS DevOps |
Kecualikan sumber daya dengan jalur jaringan yang diketahui baik. | Jika Network Access Analyzer menghasilkan temuan untuk sumber daya yang seharusnya dapat diakses dari internet, maka Anda dapat menambahkan sumber daya ini ke daftar pengecualian. Lain kali Network Access Analyzer berjalan, itu tidak akan menghasilkan temuan untuk sumber daya itu.
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Perbarui skrip naa-script.sh. | Jika Anda ingin memperbarui skrip naa-script.sh ke versi terbaru di repo, lakukan hal berikut:
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Hapus semua sumber daya yang digunakan. | Anda dapat meninggalkan sumber daya yang digunakan di akun. Jika Anda ingin menghentikan semua sumber daya, lakukan hal berikut:
| AWS DevOps |
Pemecahan Masalah
Isu | Solusi |
---|---|
Tidak dapat terhubung ke EC2 instans Amazon dengan menggunakan Pengelola Sesi. | Agen SSM harus dapat berkomunikasi dengan endpoint Systems Manager. Lakukan hal-hal berikut:
|
Saat menerapkan set tumpukan, CloudFormation konsol meminta Anda untuk melakukannya. | Ini menunjukkan bahwa akses tepercaya belum diaktifkan antara AWS Organizations dan CloudFormation. Akses tepercaya diperlukan untuk menerapkan set tumpukan yang dikelola layanan. Pilih tombol untuk mengaktifkan akses tepercaya. Untuk informasi selengkapnya, lihat Mengaktifkan akses tepercaya dalam CloudFormation dokumentasi. |
Sumber daya terkait
Informasi tambahan
Contoh keluaran konsol
Contoh berikut menunjukkan output dari menghasilkan daftar akun target dan menganalisis akun target.
[root@ip-10-10-43-82 naa]# ./naa-script.sh download: s3://naa-<account ID>-us-east-1/naa-exclusions.csv to ./naa-exclusions.csv AWS Management Account: <Management account ID> AWS Accounts being processed... <Account ID 1> <Account ID 2> <Account ID 3> Assessing AWS Account: <Account ID 1>, using Role: NAAExecRole Assessing AWS Account: <Account ID 2>, using Role: NAAExecRole Assessing AWS Account: <Account ID 3>, using Role: NAAExecRole Processing account: <Account ID 1> / Region: us-east-1 Account: <Account ID 1> / Region: us-east-1 – Detecting Network Analyzer scope... Processing account: <Account ID 2> / Region: us-east-1 Account: <Account ID 2> / Region: us-east-1 – Detecting Network Analyzer scope... Processing account: <Account ID 3> / Region: us-east-1 Account: <Account ID 3> / Region: us-east-1 – Detecting Network Analyzer scope... Account: <Account ID 1> / Region: us-east-1 – Network Access Analyzer scope detected. Account: <Account ID 1> / Region: us-east-1 – Continuing analyses with Scope ID. Accounts with many resources may take up to one hour Account: <Account ID 2> / Region: us-east-1 – Network Access Analyzer scope detected. Account: <Account ID 2> / Region: us-east-1 – Continuing analyses with Scope ID. Accounts with many resources may take up to one hour Account: <Account ID 3> / Region: us-east-1 – Network Access Analyzer scope detected. Account: <Account ID 3> / Region: us-east-1 – Continuing analyses with Scope ID. Accounts with many resources may take up to one hour
Contoh laporan CSV
Gambar-gambar berikut adalah contoh dari output CSV.

