Pembelian akaun perusahaan AWS: gunakan AWS KMS (perkhidmatan pengurusan kunci) untuk menyulitkan baldi S3 dan cakera keras awan EBS dengan satu klik
Dalam pengkomputeran awan dan seni bina peringkat perusahaan, "keselamatan data" selalu menjadi garis merah yang tidak dapat dielakkan. Ketika banyak pasukan pertama kali memindahkan perniagaan mereka ke AWS, mereka sering hanya memperhatikan sama ada firewall rangkaian (kumpulan keselamatan, ACL) layak untuk mati, tetapi mengabaikan langkah terakhir pertahanan --
Penyulitan data statik (Encryption at Rest)
。
Bayangkan saja: jika penggodam memintas rangkaian periferal, atau pekerja yang mengundurkan diri secara langsung menyalin gambar cakera keras awan EBS anda yang mendasari dengan beberapa cara, atau kontrak sulit dalam baldi simpanan S3 anda secara tidak sengaja dibocorkan, jika data tersebut dalam teks biasa Sekiranya disimpan, syarikat akan menghadapi kepupusan secara langsung.
Dalam ekologi keselamatan AWS, komponen jiwa yang digunakan khas untuk mengendalikan semua kunci penyulitan dan menyedari "pendaratan data adalah penyulitan" disebut
Amazon KMS(Key Management Service, perkhidmatan pengurusan utama)
。
Hari ini kita tidak akan membincangkan formula kriptografi yang tidak jelas. Bermula dari pertempuran sebenar, kami akan membawa anda menggunakan AWS KMS untuk memberikan dua aset simpanan teras syarikat --
Baldi simpanan S3
Dengan
Pemacu keras awan EBS
, Kimpalan garis pertahanan "penyulitan satu kunci" yang tidak dapat dihancurkan.
Tahap pertama: Maut ke bawah, fahami teknologi hitam "enkripsi sampul surat" KMS
Sebelum mengkonfigurasi dengan tangan, anda mesti terlebih dahulu memahami bagaimana lapisan bawah AWS memainkan kata laluan, jika tidak, anda pasti akan buta ketika memilih kunci kemudian. Inti KMS menggunakan
"Envelope Encryption"
Kerangka kerja:
Kunci induk pelanggan (KMS Key / CMK): Ini adalah "kunci induk" anda, yang dihasilkan oleh KMS dalam modul keselamatan perkakasan khusus (HSM) dan dipegang dengan kuat. Tidak ada yang (termasuk anda dan pegawai AWS) boleh memuat turun kunci induk ini dalam teks biasa secara tempatan.
Kunci Data: Apabila anda ingin menyulitkan fail 10GB, kunci utama tidak akan langsung masuk. KMS akan memperoleh "kunci data" dalam masa nyata dengan kunci utama.
Pembungkusan dan penyimpanan: Kunci data bertanggungjawab untuk menyulitkan fail. Setelah penyulitan selesai, teks kunci data yang jelas akan dimusnahkan dengan segera, hanya meninggalkan satu salinan ciphertext kunci data yang dienkripsi oleh kunci induk, dan menempelkannya dengan fail yang dienkripsi.
Kesimpulan keselamatan teras: Ini seperti mengunci kalung berharga ke dalam peti besi (penyulitan data), kemudian memasukkan kunci peti besi ke dalam sampul kecil, dan kemudian mengunci sampul dengan kunci yang lebih maju (kunci utama). Tanpa kebenaran kunci utama, sesiapa sahaja yang mendapat cakera keras yang mendasari atau fail S3 akan melihat watak-watak yang tidak teratur.
Tahap kedua: latihan pertempuran sebenar satu-kunci baldi S3
Bucket S3 sering digunakan untuk menyimpan gambar syarikat, ID sensitif yang dimuat naik oleh pengguna atau penyata kewangan. Pada masa lalu, penyulitan S3 perlu mengembangkan logik penyulitan yang rumit dalam kod, dan sekarang AWS sudah ada
Lapisan mencapai "penyulitan bukan induktif satu klik".
1. Memahami perbezaan antara dua kunci
Semasa mengkonfigurasi penyulitan S3, konsol akan membolehkan anda memilih salah satu daripada dua:
Kunci hosting AWS (aws/s3): Percuma, AWS secara automatik membantu anda menguruskan. Kelemahannya ialah anda tidak dapat memberi kebenaran di seluruh akaun, dan anda tidak dapat mengawal strategi rotasi.
Kunci pengurusan pelanggan (SSE-KMS): standard peringkat perusahaan. Dicipta oleh anda di KMS, ia menyokong kawalan kebenaran IAM yang halus dan audit tingkah laku CloudTrail yang sempurna.
2. Penyulitan pendaratan S3 tiga langkah cepat
Log masuk ke konsol AWS, masukkan perkhidmatan KMS, klik "Buat Kunci", pilih "Kunci Simetri", namakan Company-S3-Key, dan buat langkah seterusnya.
Tukar ke konsol S3 dan klik untuk memasukkan baldi di mana anda menyimpan data teras anda.
Klik tab "Properties", klik ke bawah untuk mencari "Default Encryption", klik Edit: Jenis Penyulitan: Pilih "Gunakan Kunci Perkhidmatan Pengurusan Kunci AWS lalai (SSE-KMS)". Kunci KMS: Pilih "Pilih dari kunci KMS anda yang ada" untuk memilih Company-S3-Key yang baru dibina dengan tepat. Kunci Bucket: Pilih "Aktifkan". Panduan untuk menjimatkan wang dan mengelakkan lubang tenaga tinggi: Sekiranya S3 anda membaca dan menulis berjuta-juta kali sehari, mengetuk pintu KMS yang kerap akan menghasilkan sejumlah besar bayaran permintaan KMS. Setelah membuka "Bucket Key", S3 akan menyimpan kunci sementara pada tahap baldi dan secara langsung membantu anda memotong lebih daripada 90% bil lalu lintas KMS.
Klik simpan. Sejak itu, sama ada fail yang dimuat naik ke baldi ini melalui konsol atau API, ia akan dienkripsi secara automatik pada saat ia jatuh. Dan apabila anda mempunyai aplikasi belakang yang sah untuk memuat turun fail, S3 secara automatik akan menemui KMS untuk menyahsulitkan di latar belakang.
Pengubahsuaian sifar kod sisi aplikasi, sama sekali tidak masuk akal
。
Tahap ketiga: latihan pertempuran sebenar dua-penyulitan global cakera keras awan EBS dan snapshot
Hard disk awan EBS (setara dengan pemacu C dan pemacu D pelayan) dipasang pada pelayan EC2, yang mengandungi sistem operasi, data pangkalan data dan log aplikasi anda.
1. Senario A: Penyulitan satu klik semasa membeli pelayan baru
Apabila membeli penyimpanan konfigurasi contoh EC2 (Penyimpanan), mengembangkan pilihan lanjutan:
Tandakan "Encryption".
Kunci Pilih kunci KMS yang anda sesuaikan. Dengan cara ini, keseluruhan cakera sistem telah dienkripsi secara fizikal sejak lahir pelayan ini.
2. Adegan B: Bagaimana cakera keras teks lama dapat dienkripsi separuh jalan?
AWS tidak membenarkan "penyulitan in-situ" secara langsung pada cakera keras EBS teks biasa yang ada. Sekiranya anda mempunyai cakera data teks biasa yang telah berjalan selama setengah tahun,
Bagaimana cara mengenkripsi dengan selamat? Kami menggunakan "kaedah snapshot springboard".
Prosedur Operasi Piawai Terbaik bagi Pengoperasian dan Penyelenggaraan:
Ambil gambar: Di halaman contoh EC2, pilih cakera keras teks biasa dan klik Operasi-> "Buat Gambar".
Salin kertas ujian silang (penyulitan suntikan): Pergi ke "senarai snapshot" untuk mencari snapshot yang baru dihasilkan, dan klik Operasi-> "Salin snapshot". Di tetingkap pop timbul, periksa "Enkripsi tangkapan ini" dan pilih kunci pengurusan pelanggan KMS anda. Klik Salin. AWS akan menyalin data di bahagian bawah sambil melengkapkan gambar baru dengan kunci KMS anda.
Pulihkan cakera baru dari snapshot yang dienkripsi: pilih snapshot baru yang disalin dengan kata-kata "dienkripsi", dan klik Operasi-> "Buat volume dari snapshot". Nyahpasang cakera keras teks biasa lama dari pelayan (Detach), dan pasang cakera keras baru yang disulitkan penuh darah ini (Attach).
Kerja yang sempurna. Seluruh pelayan secara tidak sedar menyelesaikan peningkatan fizikal dari teks biasa ke teks ciphertext, dan data tidak rosak.
Tahap keempat: permainan peringkat tinggi peringkat kilang besar-"undang-undang besi penyulitan wajib" untuk membuka tahap akaun
Sebagai ketua arkitek, perkara yang paling anda takuti adalah: "Walaupun saya telah menetapkan peraturan keselamatan, peta pembangunan pendatang baru di bawah saya dapat menyelamatkan masalah. Semasa membina pelayan baru atau baldi baru, saya lupa memeriksa penyulitan, yang menyebabkan ikan yang terlepas jaring. Streaking dalam talian."
AWS memberikan langkah pertahanan global yang besar, yang dapat menghilangkan bahaya tersembunyi ini dari sumbernya:
1. Hidupkan penyulitan automatik EBS global
Di sebelah kanan konsol EC2, klik
"Tetapan Data"-> "Tetapan EC2"-> "Enkripsi Secara Lalai"
。
Periksa untuk mengaktifkan dan tentukan kunci KMS lalai anda. Setelah menghidupkan suis ini,
Di bawah Wilayah ini, walaupun ada yang terlepas atau lupa memilih penyulitan, AWS akan memaksa semua cakera keras EBS yang baru dibuat di bahagian bawah.
, Secara langsung menolak untuk membuat tanpa penyulitan.
2. Tulis Dasar Bucket S3 untuk pertahanan fizikal
Dalam "kebenaran" baldi S3, tampal strategi berikut. Logiknya ialah:
Selagi anda mendapati bahawa permintaan muat naik tidak membawa tajuk permintaan penyulitan (iaitu, anda ingin menghantar dokumen), anda akan menolak tanpa syarat (Deny)
:
JSON
{
"Versi": "2012-10-17",
"Peraturan": [
{
"Sid": "DenyUnencryptedObjectUploads",
"Effect": "Deny",
"Principal": "*",
"Tindakan": "s3:PutObject",
"Sumber": "arn:aws:s3 ::: anda
Nama baldi/* ",
"Condition": {
"StringNotEquals": {
"S3: x-amz-server-side-encryption": "aws:kms"
}
}
}
]
}
Peringkat kelima: Sejarah pahit dan pengalaman berharga mengelakkan kesilapan dalam operasi dan penyelenggaraan harian
Jangan hapus kunci secara tidak sengaja, itu adalah tingkah laku bunuh diri: Kunci pengurusan pelanggan KMS Untuk mengelakkan penghapusan secara tidak sengaja, apabila anda mengklik untuk menghapus, sistem tidak akan menghapusnya dengan segera, tetapi akan memaksa 7 hingga 30 hari "Menunggu untuk menghapus tempoh pengasingan". Amaran darah dan air mata: Sekiranya tidak ada yang mengambilnya dalam tempoh ini, setelah kuncinya dimusnahkan secara fizikal, tidak ada orang di dunia yang akan mengambil fail S3 dan cakera keras EBS yang disulitkan dengannya! Malah mencari pakar keselamatan teratas di ibu pejabat AWS tidak akan membantu. Oleh itu, kunci KMS dalam persekitaran pengeluaran mesti dilengkapi dengan kebenaran IAM, dan kebenaran Kms: ScheduleKeyDeletion mesti tersekat.
Putaran Kunci KMS secara automatik: Untuk menangani audit pematuhan (seperti pengesahan PCI-DSS peringkat kewangan), ingatlah untuk memeriksa "putaran automatik kunci ini" semasa membuat kunci. AWS secara automatik akan membantu anda memperoleh versi kunci utama baru setiap tahun di latar belakang untuk menyulitkan data baru, sementara versi lama untuk menyahsulitkan data lama. Keseluruhan proses juga tidak mempengaruhi perniagaan apa pun dan dijalankan secara automatik.
Ringkasan
Menggunakan AWS KMS untuk penyulitan data statik, daya tarikan terbesar terletak pada "lapisan bawah sangat keras, lapisan permukaan bodoh satu kunci". Dengan bayaran hosting kunci KMS yang sangat rendah dan teknologi penjimatan wang kunci baldi S3, anda boleh meletakkan lapisan perisai badan pada semua cakera keras dan cakera rangkaian syarikat dalam satu petang, yang bahkan tidak berdaya untuk penggodam. Keselamatan bukan mengenai nasib baik. Pegang kuasa dominan di tangan anda sendiri, dan kod akan dienkripsi ketika anda mendarat. Sejak itu, tidak kira apa pemeriksaan pematuhan yang anda hadapi, anda boleh menjadi stabil.

