Praktik terbaik SNS keamanan Amazon - Amazon Simple Notification Service

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

Praktik terbaik SNS keamanan Amazon

AWS menyediakan banyak fitur keamanan untuk AmazonSNS. Tinjau fitur keamanan ini dalam konteks kebijakan keamanan Anda.

catatan

Panduan untuk fitur keamanan ini berlaku untuk kasus penggunaan dan implementasi umum. Sebaiknya Anda meninjau praktik terbaik ini dalam konteks kasus penggunaan, arsitektur, dan model ancaman tertentu Anda.

Praktik terbaik pencegahan

Berikut ini adalah praktik terbaik keamanan preventif untuk Amazon. SNS

Memastikan topik tidak dapat diakses secara publik

Kecuali Anda secara eksplisit meminta siapa pun di internet untuk dapat membaca atau menulis ke SNS topik Amazon Anda, Anda harus memastikan bahwa topik Anda tidak dapat diakses publik (dapat diakses oleh semua orang di dunia atau oleh pengguna yang diautentikasi AWS ).

  • Hindari pembuatan kebijakan dengan Principal diatur ke "".

  • Hindari penggunaan wildcard (*). Sebagai gantinya, beri nama pengguna tertentu.

Menerapkan akses hak istimewa yang paling rendah

Saat Anda memberikan izin, Anda memutuskan siapa yang menerimanya, topik yang menjadi tujuan izin, dan API tindakan spesifik yang ingin Anda izinkan untuk topik ini. Menerapkan prinsip hak istimewa paling rendah penting untuk mengurangi risiko keamanan. Tindakan ini juga membantu mengurangi efek negatif dari kesalahan atau niat jahat.

Ikuti saran keamanan standar pemberian hak istimewa paling rendah. Artinya, hanya berikan izin yang diperlukan untuk melakukan tugas tertentu. Anda dapat menerapkan hak istimewa paling rendah dengan menggunakan kombinasi kebijakan keamanan yang berkaitan dengan akses pengguna.

Amazon SNS menggunakan model penerbit-pelanggan, yang membutuhkan tiga jenis akses akun pengguna:

  • Administrator – Akses untuk membuat, memodifikasi, dan menghapus topik. Administrator juga mengontrol kebijakan topik.

  • Penerbit – Akses untuk mengirim pesan ke topik.

  • Pelanggan – Akses untuk berlangganan topik.

Untuk informasi selengkapnya, lihat bagian berikut:

Gunakan IAM peran untuk aplikasi dan AWS layanan yang memerlukan SNS akses Amazon

Untuk aplikasi atau AWS layanan, seperti AmazonEC2, untuk mengakses SNS topik Amazon, mereka harus menggunakan AWS kredensi yang valid dalam permintaan mereka AWS API. Karena kredensil ini tidak diputar secara otomatis, Anda tidak boleh menyimpan AWS kredensil secara langsung di aplikasi atau instance. EC2

Anda harus menggunakan IAM peran untuk mengelola kredensi sementara untuk aplikasi atau layanan yang perlu mengakses Amazon. SNS Saat Anda menggunakan peran, Anda tidak perlu mendistribusikan kredensi jangka panjang (seperti nama pengguna, kata sandi, dan kunci akses) ke EC2 instans atau AWS layanan, seperti. AWS Lambda Sebagai gantinya, peran menyediakan izin sementara yang dapat digunakan aplikasi saat mereka melakukan panggilan ke AWS sumber daya lain.

Untuk informasi selengkapnya, lihat IAMPeran dan Skenario Umum untuk Peran: Pengguna, Aplikasi, dan Layanan di Panduan IAM Pengguna.

Menerapkan enkripsi sisi server

Untuk mitigasi masalah kebocoran data, gunakan enkripsi saat istirahat untuk mengenkripsi pesan menggunakan kunci yang disimpan di lokasi berbeda dari lokasi yang menyimpan pesan Anda. Enkripsi sisi server (SSE) menyediakan enkripsi data saat istirahat. Amazon SNS mengenkripsi data Anda pada tingkat pesan saat menyimpannya, dan mendekripsi pesan untuk Anda saat Anda mengaksesnya. SSEmenggunakan kunci yang dikelola di AWS Key Management Service. Saat Anda mengautentikasi permintaan dan memiliki izin akses, tidak ada perbedaan dalam mengakses topik terenkripsi atau tidak terenkripsi.

Untuk informasi selengkapnya, lihat Enkripsi diam dan Manajemen kunci.

Menegakkan enkripsi data saat transit

Dimungkinkan, tetapi tidak disarankan, untuk mempublikasikan pesan yang tidak dienkripsi selama transit dengan menggunakan. HTTP Namun, ketika suatu topik dienkripsi saat istirahat menggunakan AWS KMS, itu diperlukan untuk digunakan untuk menerbitkan pesan HTTPS untuk memastikan enkripsi baik saat istirahat maupun dalam perjalanan. Meskipun topik tidak secara otomatis menolak HTTP pesan, penggunaan HTTPS diperlukan untuk menjaga standar keamanan.

AWS merekomendasikan agar Anda menggunakan HTTPS alih-alihHTTP. Saat Anda menggunakanHTTPS, pesan secara otomatis dienkripsi selama transit, meskipun SNS topik itu sendiri tidak dienkripsi. TanpaHTTPS, penyerang berbasis jaringan dapat menguping lalu lintas jaringan atau memanipulasinya menggunakan serangan seperti. man-in-the-middle

Untuk menerapkan hanya koneksi terenkripsiHTTPS, tambahkan aws:SecureTransportkondisi dalam IAM kebijakan yang dilampirkan ke topik yang tidak terenkripsi. SNS Ini memaksa penerbit pesan untuk menggunakan HTTPS alih-alih. HTTP Anda dapat menggunakan kebijakan contoh berikut sebagai panduan:

{ "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPublishThroughSSLOnly", "Action": "SNS:Publish", "Effect": "Deny", "Resource": [ "arn:aws:sns:us-east-1:1234567890:test-topic" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }

Pertimbangkan untuk menggunakan VPC titik akhir untuk mengakses Amazon SNS

Jika Anda memiliki topik yang harus dapat berinteraksi dengan Anda, tetapi topik ini sama sekali tidak boleh diekspos ke internet, gunakan VPC titik akhir untuk membatasi akses topik hanya ke host tertentuVPC. Anda dapat menggunakan kebijakan topik untuk mengontrol akses ke topik dari VPC titik akhir Amazon tertentu atau dari yang spesifikVPCs.

SNSVPCEndpoint Amazon menyediakan dua cara untuk mengontrol akses ke pesan Anda:

  • Anda dapat mengontrol permintaan, pengguna, atau grup yang diizinkan melalui VPC titik akhir tertentu.

  • Anda dapat mengontrol VPC titik akhir VPCs atau mana yang memiliki akses ke topik Anda menggunakan kebijakan topik.

Untuk informasi selengkapnya, silakan lihat Membuat titik akhir dan Membuat kebijakan VPC endpoint Amazon untuk Amazon SNS.

Pastikan langganan tidak dikonfigurasi untuk dikirim ke titik akhir http mentah

Hindari mengonfigurasi langganan untuk dikirimkan ke titik akhir http mentah. Selalu memiliki langganan yang dikirimkan ke nama domain endpoint. Misalnya, langganan yang dikonfigurasi untuk dikirim ke titik akhirhttp://1.2.3.4/my-path, harus diubah menjadihttp://my.domain.name/my-path.