Serangan jahat atau traffic penipuan yang menargetkan bucket Anda dapat menyebabkan lonjakan tiba-tiba pada bandwidth dan transfer data, sehingga menghasilkan tagihan yang tidak terduga. Ikuti praktik keamanan terbaik berikut untuk mengurangi risiko insiden yang mahal.
Praktik terbaik ini merupakan rekomendasi umum, bukan solusi keamanan yang komprehensif. Rekomendasi ini mungkin tidak sesuai dengan lingkungan atau kebutuhan spesifik Anda. Gabungkan ke dalam strategi keamanan yang lebih luas dan tetap waspada terhadap perlindungan data dan konten.
Risiko kerugian finansial signifikan
Serangan jahat atau traffic penipuan pada bucket Anda dapat menyebabkan risiko finansial berikut:
-
Tagihan tinggi: Serangan jahat mengonsumsi bandwidth Object Storage Service (OSS) Anda, dan Anda bertanggung jawab atas biaya yang timbul.
-
Tagihan yang melebihi saldo akun Anda: OSS adalah layanan pay-as-you-go, dan jumlah tagihan dipengaruhi oleh faktor-faktor seperti siklus penagihan dan penundaan pemrosesan. Oleh karena itu, layanan tidak dapat segera dihentikan ketika saldo akun Anda mencapai nol. Hal ini dapat mengakibatkan pembayaran tertunda. Jika bucket Anda menjadi sasaran serangan jahat atau mengalami pencurian traffic, Anda mungkin dikenai biaya tinggi. Risiko terkaitnya adalah jumlah tagihan sering kali melebihi saldo akun Anda.
Blokir Akses Publik
OSS memungkinkan akses publik melalui kebijakan bucket dan ACL, yang berarti siapa pun dapat mengakses resource Anda tanpa otentikasi. Hal ini menimbulkan risiko kebocoran data dan biaya traffic tinggi akibat aktivitas jahat. Untuk mengurangi risiko tersebut, OSS menyediakan fitur Blokir Akses Publik satu klik di tingkat global, bucket, titik akses, atau titik akses Function Compute. Setelah diaktifkan, Blokir Akses Publik mengesampingkan izin publik yang ada dan mencegah pembuatan izin publik baru, sehingga melindungi data Anda dari paparan publik. Untuk informasi selengkapnya, lihat Blokir Akses Publik.
Akses resource OSS melalui PrivateLink
PrivateLink membuat koneksi privat dan aman antara VPC Anda dan OSS, sehingga menghindari risiko keamanan dari akses internet publik. Koneksi privat meningkatkan keamanan data dan mengurangi risiko biaya berlebih akibat traffic jahat. Manfaatnya meliputi:
-
Isolasi: PrivateLink memastikan bahwa resource OSS Anda hanya dapat diakses dari dalam VPC yang telah Anda otorisasi, sehingga mencegah serangan berbasis internet.
-
Kontrol izin: Titik akhir VPC memungkinkan Anda menerapkan kontrol akses detail halus, seperti membatasi akses ke alamat IP atau subnet tertentu, atau menerapkan aturan security group tertentu.
-
Pemantauan traffic: Layanan yang ditempatkan di dalam VPC Anda memungkinkan pemantauan dan pengelolaan network traffic yang lebih baik, sehingga Anda dapat mendeteksi anomali dengan cepat dan mencegah akses jahat.
Untuk informasi selengkapnya, lihat Akses OSS melalui PrivateLink.
Tetapkan izin ACL ke private
Jangan mengatur access control list (ACL) bucket atau objek ke public-read atau public-read-write kecuali jika semua orang memang harus dapat membaca atau menulis resource OSS Anda. Izin berikut berlaku jika Anda memberikan akses publik:
-
public-read-write: Siapa pun dapat membaca dan menulis objek di bucket tersebut.
PeringatanIzin ini memungkinkan pengguna mana pun di internet mengakses objek Anda dan mengunggah objek baru ke bucket Anda. Hal ini dapat menyebabkan eksfiltrasi data, lonjakan biaya tak terduga, dan potensi masalah hukum jika konten jahat atau ilegal diunggah. Kecuali benar-benar diperlukan untuk kasus penggunaan tertentu, kami sangat menyarankan untuk tidak memberikan izin
public-read-write. -
public-read: Hanya pemilik bucket yang dapat menulis objek ke bucket tersebut, tetapi siapa pun dapat membaca objek tersebut.
PeringatanIzin ini memungkinkan pengguna mana pun di internet mengakses objek Anda, yang dapat menyebabkan eksfiltrasi data dan lonjakan biaya tak terduga. Gunakan izin ini dengan hati-hati.
Untuk menghindari risiko keamanan ini, kami sangat menyarankan agar Anda menetapkan ACL bucket dan objek Anda ke private. Sebelum mengubah ACL menjadi private, pastikan perubahan tersebut tidak memengaruhi aplikasi atau layanan Anda.
Untuk langkah-langkah detail, lihat Tetapkan ACL bucket dan Tetapkan ACL objek.
Konfigurasikan aturan alert CloudMonitor
Buat aturan alert di CloudMonitor untuk memantau penggunaan dan status resource OSS Anda. Ketika suatu metrik melebihi ambang batas yang telah ditentukan, CloudMonitor mengirimkan alert sehingga Anda dapat segera mengidentifikasi dan menangani anomali.
Sebagai contoh, Anda dapat mengonfigurasi aturan alert untuk sebuah bucket yang dipicu ketika metrik seperti traffic inbound atau outbound publik mencapai 100 MB atau lebih dalam satu menit. Informasi alert tersebut kemudian ditulis ke Logstore tertentu di Simple Log Service.
Contoh berikut menunjukkan cara mengonfigurasi aturan alert yang dipicu ketika traffic inbound publik mencapai 100 MB atau lebih:
Pada kotak dialog Create Alert Rule, atur Product ke Object Storage Service (OSS), Resource Range ke Instance, dan Associate Resources ke examplebucket. Atur Rule Name ke alert dan kondisi alert ke (Bucket)Public Inbound Traffic ≥ 100 Mbytes selama satu periode berturut-turut. Atur Mute For ke 24 hours dan Effective Period dari 00:00 hingga 23:59. Pilih group1 untuk Contact Group. Di Advanced Settings, aktifkan Simple Log Service. Untuk Region, pilih China (Hangzhou) dan konfigurasikan ProjectName serta Logstore yang sesuai. Biarkan opsi lain seperti Auto Scaling, Message Service (MNS)—topic, dan Function Compute dinonaktifkan. Untuk Method to Process No Data, pilih Do not process.
Anda dapat mengonfigurasi aturan alert untuk bucket tertentu atau untuk semua resource OSS di bawah Akun Alibaba Cloud Anda. Untuk informasi selengkapnya, lihat Buat aturan alert.
Konfigurasikan Perlindungan hotlink
Konfigurasikan aturan akses berbasis Referer di OSS untuk mencegah referrer yang tidak sah mengakses objek Anda. Hal ini memblokir hotlinking dari website lain dan melindungi Anda dari biaya traffic yang tidak perlu.
Ketika browser mengirim permintaan ke OSS, header permintaan mencakup Referer yang menunjukkan sumbernya. Jika Perlindungan hotlink dikonfigurasi, OSS mengevaluasi Referer tersebut terhadap aturan yang telah ditentukan untuk mengizinkan atau menolak permintaan:
-
Jika Referer dalam permintaan cocok dengan entri di blacklist atau tidak cocok dengan entri apa pun di daftar putih, OSS menolak permintaan tersebut.
-
Jika Referer dalam permintaan cocok dengan entri di daftar putih, OSS mengizinkan permintaan tersebut.
Sebagai contoh, pertimbangkan bucket dengan daftar putih Referer yang berisi https://10.10.10.10.
-
Pengguna A menyematkan gambar, test.jpg, yang disimpan di bucket tersebut pada website
https://10.10.10.10. Ketika browser meminta gambar ini, header permintaan mencakuphttps://10.10.10.10sebagai Referer. Dalam kasus ini, OSS mengizinkan permintaan tersebut. -
Pengguna B melakukan hotlinking terhadap gambar test.jpg dan menyematkannya di website
https://192.168.0.0. Ketika browser meminta gambar ini, header permintaan mencakuphttps://192.168.0.0sebagai Referer. Dalam kasus ini, OSS menolak permintaan tersebut.
Untuk informasi selengkapnya, lihat Perlindungan hotlink.
Konfigurasikan Berbagi sumber daya lintas asal (CORS)
Berbagi sumber daya lintas asal (CORS) adalah mekanisme standar yang memungkinkan server web mengontrol akses dari origin berbeda untuk memastikan transfer data lintas asal yang aman. Browser menerapkan kebijakan asal sama untuk mengisolasi file yang berpotensi jahat. Secara default, browser memblokir permintaan jika kode JavaScript dari satu origin mencoba mengakses resource dari origin berbeda.
OSS memungkinkan Anda mengonfigurasi aturan CORS untuk mengizinkan atau menolak permintaan lintas asal. Sebagai contoh, untuk hanya mengizinkan permintaan dari origin www.aliyun.com dengan metode permintaan lintas asal GET, konfigurasikan aturan CORS sebagai berikut:
Pada kotak dialog Create CORS Rule, biarkan Allowed Headers dan Exposed Headers kosong. Atur Cache Time (s) ke 0, dan biarkan centang pada Vary: Origin tidak dipilih.
Untuk informasi selengkapnya, lihat Konfigurasikan CORS.
Hindari penggunaan awalan berurutan untuk nama objek
Ketika Anda mengunggah sejumlah besar objek, penggunaan awalan yang dapat diprediksi dan berurutan seperti timestamp, urutan alfabet, tanggal, atau ID numerik memungkinkan penyerang menebak dan mengambil semua objek Anda dengan melakukan iterasi melalui pola penamaan tersebut. Hal ini dapat menyebabkan kebocoran data. Tambahkan awalan hash heksadesimal acak ke nama objek Anda atau balikkan karakter nama tersebut untuk secara signifikan mengurangi risiko enumerasi nama objek. Untuk informasi selengkapnya, lihat Keamanan data.