Kebocoran pasangan AccessKey atau token STS dari Akun Alibaba Cloud atau Pengguna RAM dapat membahayakan sumber daya cloud dan bisnis Anda. Ikuti praktik berikut untuk mengamankan kredensial dan mencegah akses tidak sah.
Alibaba Cloud menggunakan dua jenis kredensial: pasangan AccessKey dan token Security Token Service (STS). Untuk informasi selengkapnya, lihat Kredensial.
Kesalahan umum
-
Hardcoding pasangan AccessKey dalam kode membuatnya terlihat oleh siapa pun yang memiliki akses ke repositori. Mempublikasikan kode tersebut ke platform open-source atau layanan hosting memperbesar risiko.
-
Menyematkan pasangan AccessKey dalam kode sisi client memungkinkan penyerang mengekstraksinya melalui dekompilasi.
-
Dokumentasi atau materi bersama yang memuat pasangan AccessKey berisiko membocorkannya.
-
Kode contoh dalam dokumentasi yang memuat pasangan AccessKey berpotensi menyebabkan kebocoran.
-
Tanggapan API yang mengekspos pasangan AccessKey di luar cakupan manajemen yang dimaksudkan.
Solusi keamanan
Hindari mentransmisikan atau melakukan hardcoding kredensial selama pengembangan.
Jangan gunakan pasangan AccessKey Akun Alibaba Cloud Anda
Akun Alibaba Cloud memiliki izin penuh atas semua sumber daya, sehingga kebocoran pasangan AccessKey menimbulkan risiko kritis. Jangan pernah menggunakan pasangan AccessKey Akun Alibaba Cloud secara langsung.
Hindari hardcoding kredensial dalam kode
Simpan kredensial dalam variabel lingkungan. Contoh berikut menggunakan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. Untuk informasi selengkapnya, lihat Konfigurasikan variabel lingkungan pada Linux, macOS, dan Windows.
Kode contoh:
public static com.aliyun.ecs20140526.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.endpoint = "ecs.cn-shanghai.aliyuncs.com";
return new com.aliyun.ecs20140526.Client(config);
}
Gunakan KMS untuk mengelola kredensial
Key Management Service (KMS) mengelola kredensial Anda secara aman. Untuk informasi selengkapnya, lihat Pengelolaan rahasia. Secrets Manager di KMS melakukan rotasi rahasia RAM sesuai jadwal atau sesuai permintaan. Dengan Plugin rahasia RAM terinstal, aplikasi Anda mengambil pasangan AccessKey terkini secara dinamis. Untuk informasi selengkapnya, lihat Kelola dan gunakan rahasia RAM.
Gunakan instance RAM role
Lampirkan instance RAM role ke instans Elastic Compute Service (ECS), instans kontainer elastis, atau node pekerja Container Service for Kubernetes (ACK). Server metadata ECS menyediakan token STS, sehingga menghilangkan kebutuhan hardcoding pasangan AccessKey. Untuk informasi selengkapnya, lihat Instance RAM roles, Gunakan instance RAM role menggunakan operasi API, dan Tetapkan RAM role ke Pod ECI.
Gunakan fitur RRSA
Di ACK, satu node pekerja dapat menjalankan Pod dari beberapa layanan. Setiap Pod dapat mengakses server metadata ECS dan memperoleh token STS dari RAM role node pekerja tersebut, sehingga berpotensi menyebabkan kebocoran izin. RAM Roles for Service Accounts (RRSA) menyediakan kontrol akses tingkat Pod dengan menyuntikkan informasi OpenID Connect (OIDC) ke dalam variabel lingkungan. Gunakan tool Alibaba Cloud Credentials untuk memperoleh token STS. Untuk informasi selengkapnya, lihat Gunakan RRSA untuk kontrol akses tingkat Pod.
Gunakan Alibaba Cloud Credentials tool
Alibaba Cloud Credentials tool menyediakan rantai penyedia kredensial default yang menghilangkan kebutuhan hardcoding kredensial. Untuk informasi selengkapnya, lihat Kelola kredensial.
Deteksi kebocoran AccessKey dengan Security Center
Security Center memantau GitHub secara real-time untuk mencari pasangan AccessKey Akun Alibaba Cloud dan Pengguna RAM yang terekspos, serta memberikan peringatan saat terdeteksi. Tangani segera setiap insiden kebocoran. Untuk informasi selengkapnya, lihat Deteksi kebocoran pasangan AccessKey.
Penanganan kebocoran pasangan AccessKey
Kebocoran pasangan AccessKey
-
Nonaktifkan atau hapus pasangan AccessKey
Segera nonaktifkan atau hapus pasangan AccessKey yang telah dikompromikan dan buat penggantinya. Untuk informasi selengkapnya, lihat Nonaktifkan kunci akses Pengguna RAM dan Hapus AccessKey Pengguna RAM.
-
Kueri event pasangan AccessKey
Gunakan fitur audit pasangan AccessKey dari ActionTrail untuk mengkueri detail pasangan AccessKey, termasuk layanan yang diakses, alamat IP, dan sumber daya. Hal ini membantu melacak penggunaan dan mengidentifikasi kebocoran.
Kebocoran token STS
Token STS berlaku selama 15 menit hingga 12 jam. Bahkan dalam rentang waktu tersebut, kebocoran token menimbulkan risiko keamanan serius. Untuk membatalkan token STS yang dikompromikan:
-
Masuk ke Konsol RAM.
-
Lepaskan semua kebijakan dari RAM role tersebut.
Untuk informasi selengkapnya, lihat Cabut izin dari RAM role.
-
Atau, hapus seluruh RAM role tersebut.
Untuk informasi selengkapnya, lihat Hapus RAM role.
Tindakan ini segera membatalkan semua token STS yang belum kedaluwarsa untuk role tersebut.
Untuk melanjutkan penggunaan role tersebut setelahnya, buat role baru dengan nama dan kebijakan yang sama.
Referensi
Topik terkait: