Untuk melindungi server origin, beberapa pengguna ingin memperoleh alamat IP node origin-fetch Alibaba Cloud CDN dan mengonfigurasi daftar putih pada server origin agar hanya traffic origin-fetch dari Alibaba Cloud CDN yang diizinkan mengaksesnya.
Perbedaan antara alamat IP node edge dan alamat IP node origin-fetch
Alamat IP node CDN terbagi menjadi dua kategori, masing-masing berlaku untuk skenario berbeda:
Type | Description | Characteristics | How to obtain |
Origin-fetch node IP (L2) | Alamat IP yang digunakan oleh node origin-fetch CDN saat mengakses server origin | Dialokasikan secara dinamis dan tidak tetap |
|
Edge node IP (L1) | Alamat IP node yang diberikan kepada pengguna berdasarkan kedekatan lokasi saat mereka mengakses CDN | Dijadwalkan secara dinamis dan terus berubah | Panggil DescribeUserVipsByDomain |
Origin-fetch node IP (L2): Digunakan untuk mengonfigurasi daftar putih pada server origin. Saat Anda perlu mengizinkan traffic origin-fetch CDN dalam grup keamanan server origin, kontrol akses SLB, atau Cloud Firewall, peroleh secara berkala alamat IP origin-fetch terbaru dan perbarui daftar putih tersebut. Atau, lihat bagian "Alternatif perlindungan keamanan server origin" dalam topik ini dan gunakan metode perlindungan yang tidak bergantung pada alamat IP.
Edge node IP (L1): Digunakan untuk troubleshooting sisi klien atau kebutuhan kepatuhan tertentu. Gunakan jenis alamat IP ini saat Anda perlu memastikan node CDN yang benar-benar diakses pengguna atau melakukan troubleshooting masalah akses. Jika Anda menjalankan perintah
nslookupataudiguntuk me-resolve nama domain yang dipercepat, alamat IP node edge yang diperoleh hanya mencerminkan status penjadwalan instan saat ini. CDN menyesuaikan penugasan node secara dinamis berdasarkan kondisi jaringan, sehingga tidak dapat digunakan sebagai alamat IP tetap.
Batasan API kueri IP origin-fetch CDN (DescribeL2VipsByDomain)
Saat memanggil operasi DescribeL2VipsByDomain untuk menanyakan alamat IP origin-fetch CDN, perhatikan batasan berikut:
Limitation | Description |
Bandwidth threshold | Hanya pengguna dengan bandwidth puncak harian 1 Gbps atau lebih yang dapat memanggil operasi ini. Anda harus mengajukan tiket untuk meminta izin. |
Query granularity | Kueri batch untuk beberapa nama domain tidak didukung. Anda hanya dapat memasukkan satu nama domain yang dipercepat per permintaan. |
IP dynamism | Alamat IP node origin-fetch yang dikembalikan berubah secara berkala. Anda harus memanggil operasi ini secara berkala untuk memperbarui daftar putih. |
Operasi ini terutama digunakan untuk memperoleh alamat IP node origin-fetch L2 dan berlaku untuk skenario di mana Anda perlu mengonfigurasi daftar putih pada server origin (seperti grup keamanan ECS, kontrol akses SLB, atau Cloud Firewall).
Alternatif perlindungan keamanan server origin
Karena alamat IP origin-fetch CDN berubah secara dinamis, kami tidak menyarankan hanya mengandalkan daftar putih IP untuk melindungi server origin. Alternatif berikut direkomendasikan:
Identifikasi permintaan origin-fetch CDN melalui Header HTTP: Selama permintaan origin-fetch, CDN meneruskan header HTTP
ali-cdn-real-ip. Server origin dapat mengenali header ini untuk mengidentifikasi dan mengizinkan permintaan origin-fetch CDN yang sah, alih-alih bergantung pada daftar putih IP.Konfigurasikan Perlindungan hotlink Referer: Konfigurasikan daftar hitam atau daftar putih Referer untuk mencegah sumber tidak sah mengakses sumber daya yang dipercepat. Metode ini tidak bergantung pada pembatasan IP dan lebih sesuai dengan sifat IP dinamis CDN.
Konfigurasikan otentikasi URL: Gunakan mekanisme otentikasi berbasis timestamp untuk menghasilkan URL terenkripsi, yang secara efektif mencegah sumber daya situs diunduh atau disalahgunakan secara ilegal. Metode ini juga tidak bergantung pada alamat IP tetap dan cocok untuk skenario dengan persyaratan keamanan tinggi.
Metode di atas dapat digunakan secara kombinasi untuk perlindungan multi-lapis yang lebih baik.
Konfigurasikan aturan izin origin-fetch CDN di Cloud Firewall atau WAF
Jika produk keamanan seperti Cloud Firewall atau WAF ditempatkan di depan server origin, Anda harus mengonfigurasi aturan izin agar traffic origin-fetch CDN dapat mencapai server origin secara normal.
Kami merekomendasikan penggunaan ESA. Fitur perlindungan origin ESA menyediakan daftar IP origin-fetch terbaru, sehingga mempermudah pemeliharaan daftar putih.
Konfigurasikan aturan inbound: Di Cloud Firewall atau WAF, tambahkan daftar IP origin-fetch yang diperoleh dengan memanggil DescribeL2VipsByDomain ke aturan izin inbound untuk mengizinkan alamat IP tersebut mengakses server origin.
Konfigurasikan aturan outbound (jika diperlukan): Jika kebijakan kontrol outbound dikonfigurasi di Cloud Firewall, izinkan juga traffic respons dari server origin ke alamat IP origin-fetch CDN.
Deskripsi port: Tanpa konfigurasi khusus, permintaan origin-fetch CDN secara default terhubung ke port 80 (HTTP) dan port 443 (HTTPS) server origin. Jika port origin-fetch kustom dikonfigurasi di CDN, pastikan aturan inbound untuk port yang sesuai juga diizinkan.
Konten di atas berlaku untuk izin inbound traffic origin-fetch CDN (node CDN → server origin). Jika lingkungan bisnis Anda juga perlu memanggil API management CDN (seperti refresh cache dan kueri konfigurasi), perhatikan bahwa sisi server API CDN tidak memiliki alamat IP tetap. Jika lingkungan jaringan Anda memiliki pembatasan outbound yang ketat, kami menyarankan mengonfigurasi server proxy, menambahkan alamat IP server proxy ke daftar putih outbound, dan meneruskan permintaan API melalui proxy tersebut.
Mengapa alamat IP dalam log akses CDN atau log server origin berbeda dengan alamat IP lokal pengguna?
Alamat IP permintaan dalam log akses CDN atau yang diterima oleh server origin adalah alamat IP node origin-fetch CDN, bukan alamat IP asli pengguna akhir. Ini merupakan perilaku origin-fetch CDN yang normal: ketika cache pada node edge (L1) tidak tersedia (cache miss), permintaan dikirim ke server origin oleh node origin-fetch (L2), sehingga alamat IP sumber yang dilihat oleh server origin adalah alamat IP node origin-fetch CDN. Untuk mendapatkan alamat IP asli pengguna, gunakan metode berikut:
Uraikan header
X-Forwarded-For: CDN meneruskan header ini dalam permintaan origin-fetch, dan header tersebut berisi alamat IP asli pengguna.Uraikan header
ali-cdn-real-ip: Ini adalah header origin-fetch khusus Alibaba Cloud CDN yang secara langsung membawa alamat IP asli pengguna. Dibandingkan denganX-Forwarded-For, header ini lebih sulit dipalsukan.
Jangan mengandalkan alamat IP sumber koneksi TCP untuk menentukan identitas pengguna. Alamat IP tersebut selalu merupakan alamat IP node CDN.