Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Merencanakan daftar pencabutan sertifikat (CRL)
Sebelum Anda dapat mengonfigurasi CRL sebagai bagian dari proses pembuatan CA, beberapa pengaturan sebelumnya mungkin diperlukan. Bagian ini menjelaskan prasyarat dan opsi yang harus Anda pahami sebelum membuat CA dengan CRL terlampir.
Untuk informasi tentang menggunakan Online Certificate Status Protocol (OCSP) sebagai alternatif atau suplemen CRL, lihat Opsi pencabutan sertifikat dan. Mengkonfigurasi URL Kustom untuk AWS Private CA OCSP
Topik
Struktur CRL
Setiap CRL adalah file DER yang dikodekan. Untuk mengunduh file dan menggunakan OpenSSL
openssl crl -inform DER -in
path-to-crl-file
-text -noout
CRL memiliki format sebagai berikut:
Certificate Revocation List (CRL):
Version 2 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: /C=US/ST=WA/L=Seattle/O=Example Company CA/OU=Corporate/CN=www.example.com
Last Update: Feb 26 19:28:25 2018 GMT
Next Update: Feb 26 20:28:25 2019 GMT
CRL extensions:
X509v3 Authority Key Identifier:
keyid:AA:6E:C1:8A:EC:2F:8F:21:BC:BE:80:3D:C5:65:93:79:99:E7:71:65
X509v3 CRL Number:
1519676905984
Revoked Certificates:
Serial Number: E8CBD2BEDB122329F97706BCFEC990F8
Revocation Date: Feb 26 20:00:36 2018 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Key Compromise
Serial Number: F7D7A3FD88B82C6776483467BBF0B38C
Revocation Date: Jan 30 21:21:31 2018 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Key Compromise
Signature Algorithm: sha256WithRSAEncryption
82:9a:40:76:86:a5:f5:4e:1e:43:e2:ea:83:ac:89:07:49:bf:
c2:fd:45:7d:15:d0:76:fe:64:ce:7b:3d:bb:4c:a0:6c:4b:4f:
9e:1d:27:f8:69:5e:d1:93:5b:95:da:78:50:6d:a8:59:bb:6f:
49:9b:04:fa:38:f2:fc:4c:0d:97:ac:02:51:26:7d:3e:fe:a6:
c6:83:34:b4:84:0b:5d:b1:c4:25:2f:66:0a:2e:30:f6:52:88:
e8:d2:05:78:84:09:01:e8:9d:c2:9e:b5:83:bd:8a:3a:e4:94:
62:ed:92:e0:be:ea:d2:59:5b:c7:c3:61:35:dc:a9:98:9d:80:
1c:2a:f7:23:9b:fe:ad:6f:16:7e:22:09:9a:79:8f:44:69:89:
2a:78:ae:92:a4:32:46:8d:76:ee:68:25:63:5c:bd:41:a5:5a:
57:18:d7:71:35:85:5c:cd:20:28:c6:d5:59:88:47:c9:36:44:
53:55:28:4d:6b:f8:6a:00:eb:b4:62:de:15:56:c8:9c:45:d7:
83:83:07:21:84:b4:eb:0b:23:f2:61:dd:95:03:02:df:0d:0f:
97:32:e0:9d:38:de:7c:15:e4:36:66:7a:18:da:ce:a3:34:94:
58:a6:5d:5c:04:90:35:f1:8b:55:a9:3c:dd:72:a2:d7:5f:73:
5a:2c:88:85
catatan
CRL hanya akan disimpan di Amazon S3 setelah sertifikat dikeluarkan yang merujuknya. Sebelum itu, hanya akan ada file acm-pca-permission-test-key
yang terlihat di bucket Amazon S3.
Kebijakan akses untuk CRL di Amazon S3
Jika Anda berencana membuat CRL, Anda perlu menyiapkan ember Amazon S3 untuk menyimpannya. AWS Private CA secara otomatis menyetor CRL di bucket Amazon S3 yang Anda tunjuk dan memperbaruinya secara berkala. Untuk informasi selengkapnya, lihat Membuat bucket.
Bucket S3 Anda harus diamankan dengan kebijakan izin IAM terlampir. Pengguna resmi dan kepala layanan memerlukan Put
izin AWS Private CA
untuk mengizinkan menempatkan objek di ember, dan Get
izin untuk mengambilnya. Selama prosedur konsol untuk membuat CA, Anda dapat memilih untuk mengizinkan AWS Private CA membuat bucket baru dan menerapkan kebijakan izin default.
catatan
Konfigurasi kebijakan IAM tergantung pada yang Wilayah AWS terlibat. Wilayah terbagi dalam dua kategori:
-
Default-enabled Regions — Wilayah yang diaktifkan secara default untuk semua. Akun AWS
-
Wilayah yang dinonaktifkan default — Wilayah yang dinonaktifkan secara default, tetapi dapat diaktifkan secara manual oleh pelanggan.
Untuk informasi selengkapnya dan daftar Wilayah yang dinonaktifkan default, lihat Mengelola. Wilayah AWS Untuk diskusi tentang prinsip-prinsip layanan dalam konteks IAM, lihat prinsip AWS layanan di Wilayah opt-in.
Saat Anda mengonfigurasi CRL sebagai metode pencabutan sertifikat, AWS Private CA buat CRL dan publikasikan ke bucket S3. Bucket S3 memerlukan kebijakan IAM yang memungkinkan kepala AWS Private CA layanan untuk menulis ke bucket. Nama kepala layanan bervariasi sesuai dengan Wilayah yang digunakan, dan tidak semua kemungkinan didukung.
PCA | S3 | Pemimpin layanan |
---|---|---|
Keduanya di wilayah yang sama |
|
|
Diaktifkan |
Diaktifkan |
|
Dinonaktifkan | Diaktifkan |
|
Diaktifkan | Dinonaktifkan |
Tidak didukung |
Kebijakan default tidak berlaku SourceArn
pembatasan pada CA. Kami menyarankan Anda secara manual menerapkan kebijakan yang kurang permisif yang ditunjukkan di bawah ini, yang membatasi akses ke AWS akun tertentu dan CA pribadi tertentu. Untuk informasi selengkapnya, lihat Menambahkan kebijakan bucket menggunakan konsol Amazon S3.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET
" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"account
", "aws:SourceArn":"arn:partition
:acm-pca:region
:account
:certificate-authority/CA_ID
" } } } ] }
Jika Anda memilih untuk mengizinkan kebijakan default, Anda selalu dapat memodifikasinya nanti.
Mengaktifkan S3 Block Public Access (BPA) dengan CloudFront
Bucket Amazon S3 yang baru dikonfigurasi secara default dengan fitur Blokir Akses Publik (BPA) yang aktif. Termasuk dalam praktik terbaik keamanan Amazon S3, BPA adalah seperangkat kontrol akses yang dapat digunakan pelanggan untuk menyempurnakan akses ke objek di bucket S3 mereka dan ke ember secara keseluruhan. Ketika BPA aktif dan dikonfigurasi dengan benar, hanya AWS pengguna yang berwenang dan diautentikasi yang memiliki akses ke ember dan isinya.
AWS merekomendasikan penggunaan BPA pada semua bucket S3 untuk menghindari paparan informasi sensitif terhadap musuh potensial. Namun, perencanaan tambahan diperlukan jika klien PKI Anda mengambil CRL di internet publik (yaitu, saat tidak masuk ke akun AWS ). Bagian ini menjelaskan cara mengonfigurasi solusi PKI pribadi menggunakan Amazon CloudFront, jaringan pengiriman konten (CDN), untuk melayani CRL tanpa memerlukan akses klien yang diautentikasi ke bucket S3.
catatan
Menggunakan CloudFront menimbulkan biaya tambahan pada akun Anda AWS . Untuk informasi selengkapnya, lihat CloudFront Harga Amazon
Jika Anda memilih untuk menyimpan CRL Anda di bucket S3 dengan BPA diaktifkan, dan Anda tidak menggunakannya CloudFront, Anda harus membangun solusi CDN lain untuk memastikan bahwa klien PKI Anda memiliki akses ke CRL Anda.
Siapkan Amazon S3 dengan BPA
Dalam S3, membuat bucket baru untuk CRL Anda, seperti biasa, lalu aktifkan BPA di sana.
Untuk mengonfigurasi bucket Amazon S3 yang memblokir akses publik ke CRL Anda
-
Buat bucket S3 baru menggunakan prosedur di Membuat bucket. Selama prosedur, pilih opsi Blokir semua akses publik.
Untuk informasi lebih lanjut, lihat Memblokir akses publik ke penyimpanan Amazon S3 Anda.
-
Saat bucket telah dibuat, pilih namanya dari daftar, navigasikan ke tab Izin, pilih Edit di bagian Kepemilikan objek, dan pilih Pemilik bucket yang disukai.
-
Juga pada tab Izin, tambahkan kebijakan IAM ke bucket seperti yang dijelaskan dalam. Kebijakan akses untuk CRL di Amazon S3
Siapkan CloudFront untuk BPA
Buat CloudFront distribusi yang akan memiliki akses ke bucket S3 pribadi Anda, dan dapat melayani CRL ke klien yang tidak diautentikasi.
Untuk mengkonfigurasi CloudFront distribusi untuk CRL
-
Buat CloudFront distribusi baru menggunakan prosedur dalam Membuat Distribusi di Panduan CloudFront Pengembang Amazon.
Saat menyelesaikan prosedur, terapkan pengaturan berikut:
-
Di Nama Domain Asal, pilih bucket S3 Anda.
-
Pilih Ya untuk Batasi Akses Bucket.
-
Pilih Buat Identitas Baru untuk Identitas Akses Asal.
-
Pilih Ya, Perbarui Kebijakan Bucket di bawah Berikan Izin Baca pada Bucket.
catatan
Dalam prosedur ini, CloudFront ubah kebijakan bucket Anda agar dapat mengakses objek bucket. Pertimbangkan mengedit kebijakan ini untuk hanya mengizinkan akses ke objek di bawah folder
crl
.
-
-
Setelah distribusi diinisialisasi, cari nama domainnya di CloudFront konsol dan simpan untuk prosedur selanjutnya.
catatan
Jika bucket S3 Anda baru dibuat di Wilayah selain us-east-1, Anda mungkin mendapatkan kesalahan pengalihan sementara HTTP 307 saat mengakses aplikasi yang dipublikasikan melalui. CloudFront Mungkin perlu beberapa jam agar alamat ember menyebar.
Siapkan CA Anda untuk BPA
Saat mengonfigurasi CA baru Anda, sertakan alias ke distribusi Anda CloudFront.
Untuk mengonfigurasi CA Anda dengan CNAME untuk CloudFront
-
Buat CA Anda menggunakan Prosedur untuk membuat CA (CLI) .
Saat Anda melakukan prosedur, file pencabutan
revoke_config.txt
harus menyertakan baris berikut untuk menentukan objek CRL non-publik dan untuk memberikan URL ke titik akhir distribusi di: CloudFront"S3ObjectAcl":"BUCKET_OWNER_FULL_CONTROL", "CustomCname":"
abcdef012345.cloudfront.net
"Setelah itu, ketika Anda mengeluarkan sertifikat dengan CA ini, sertifikat tersebut akan berisi blok seperti berikut:
X509v3 CRL Distribution Points: Full Name: URI:http://abcdef012345.cloudfront.net/crl/01234567-89ab-cdef-0123-456789abcdef.crl
catatan
Jika Anda memiliki sertifikat yang lebih lama yang diterbitkan oleh CA ini, sertifikat tersebut akan dapat mengakses CRL.
Mengenkripsi CRL Anda
Anda dapat mengonfigurasi enkripsi secara opsional pada bucket Amazon S3 yang berisi CRL Anda. AWS Private CA mendukung dua mode enkripsi untuk aset di Amazon S3:
-
Enkripsi sisi server otomatis dengan kunci AES-256 terkelola Amazon S3.
-
Enkripsi terkelola pelanggan menggunakan AWS Key Management Service dan AWS KMS key dikonfigurasi dengan spesifikasi Anda.
catatan
AWS Private CA tidak mendukung penggunaan kunci KMS default yang dihasilkan secara otomatis oleh S3.
Prosedur berikut menjelaskan cara menyiapkan setiap opsi enkripsi.
Untuk mengkonfigurasi enkripsi otomatis
Selesaikan langkah-langkah berikut untuk mengaktifkan enkripsi sisi server S3.
Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di tabel Bucket, pilih ember yang akan menampung AWS Private CA aset Anda.
-
Pada halaman untuk bucket Anda, pilih tab Properti.
-
Pilih kartu Enkripsi default.
-
Pilih Aktifkan.
-
Pilih Kunci Amazon S3 (SSE-S3).
-
Pilih Simpan Perubahan.
Untuk mengkonfigurasi enkripsi kustom
Selesaikan langkah-langkah berikut untuk mengaktifkan enkripsi menggunakan kunci kustom.
Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di tabel Bucket, pilih ember yang akan menampung AWS Private CA aset Anda.
-
Pada halaman untuk bucket Anda, pilih tab Properti.
-
Pilih kartu Enkripsi default.
-
Pilih Aktifkan.
-
Pilih AWS Key Management Service kunci (SSE-KMS).
-
Pilih salah satu Pilih dari AWS KMS kunci Anda atau Masukkan AWS KMS key ARN.
-
Pilih Simpan Perubahan.
-
(Opsional) Jika Anda belum memiliki kunci KMS, buat satu menggunakan perintah AWS CLI create-key berikut:
$
aws kms create-key
Outputnya berisi ID kunci dan Nama Sumber Daya Amazon (ARN) dari kunci KMS. Berikut ini adalah contoh output:
{ "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
-
Dengan menggunakan langkah-langkah berikut, Anda memberikan izin kepada kepala AWS Private CA layanan untuk menggunakan kunci KMS. Secara default, semua kunci KMS bersifat pribadi; hanya pemilik sumber daya yang dapat menggunakan kunci KMS untuk mengenkripsi dan mendekripsi data. Namun, pemilik sumber daya dapat memberikan izin untuk mengakses kunci KMS ke pengguna dan sumber daya lain. Prinsipal layanan harus berada di Wilayah yang sama dengan tempat kunci KMS disimpan.
-
Pertama, simpan kebijakan default untuk kunci KMS Anda seperti
policy.json
menggunakan get-key-policyperintah berikut:$
aws kms get-key-policy --key-id
key-id
--policy-name default --output text > ./policy.json -
Buka file
policy.json
di editor teks. Pilih salah satu pernyataan kebijakan berikut dan tambahkan ke kebijakan yang ada.Jika kunci bucket Amazon S3 diaktifkan, gunakan pernyataan berikut:
{ "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::
bucket-name
" } } }Jika kunci bucket Amazon S3 dinonaktifkan, gunakan pernyataan berikut:
{ "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
bucket-name
/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name
/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name
/audit-report/*", "arn:aws:s3:::bucket-name
/crl/*" ] } } } -
Terakhir, terapkan kebijakan yang diperbarui menggunakan put-key-policyperintah berikut:
$
aws kms put-key-policy --key-id
key_id
--policy-name default --policy file://policy.json
-
Menentukan URI Titik Distribusi CRL (CDP)
Jika Anda menggunakan bucket S3 sebagai CDP untuk CA Anda, URI CDP dapat berada dalam salah satu format berikut.
http://
DOC-EXAMPLE-BUCKET
.s3.region-code
.amazonaws.com/crl/CA-ID
.crlhttp://s3.
region-code
.amazonaws.com/DOC-EXAMPLE-BUCKET
/crl/CA-ID
.crl
Jika Anda telah mengonfigurasi CA Anda dengan CNAME kustom, URI CDP akan menyertakan CNAME, misalnya, http://
alternative.example.com
/crl/CA-ID
.crl