Hindari menetapkan Elastic IP Address (EIP) atau alamat IP publik statis secara langsung ke instance ECS untuk mengakses Internet atau menyediakan layanan jaringan.
Risiko keamanan
Saat Anda menetapkan alamat IP publik—seperti EIP atau alamat IP publik statis—langsung ke instance ECS, instance tersebut terpapar ke Internet. Hal ini memperluas permukaan serangan dan menimbulkan risiko keamanan berikut:
-
Pemindaian dan penemuan pasif: Setelah instance ECS membuka port layanan, instance tersebut dapat ditemukan oleh pemindai. Hal ini berpotensi menyebabkan serangan DDoS atau memungkinkan penyerang mengeksploitasi kerentanan jarak jauh pada layanan terkait, yang berisiko mengompromikan host.
-
Serangan pada port yang rentan: Membuka port sensitif secara signifikan meningkatkan risiko keamanan. Jika security group dikonfigurasi secara salah, port manajemen untuk login dan operasi serta maintenance (O&M)—seperti Secure Shell Protocol (SSH) (port 22), Remote Desktop Protocol (RDP) (port 3389), dan Server Message Block (SMB) (port 445)—mungkin secara tidak sengaja terbuka ke Internet. Port-port tersebut menjadi sangat rentan terhadap serangan brute-force, tebakan password, dan pencurian kredensial, yang dapat menyebabkan konsekuensi serius seperti host yang dikompromikan dan kebocoran data.
-
Kompleksitas manajemen yang meningkat: Menyambungkan alamat IP publik langsung ke instance mengharuskan Anda mengelola alamat IP publik dan kebijakan kontrol akses untuk setiap instance secara independen. Hal ini meningkatkan kompleksitas O&M jaringan. Dengan banyak instance, risiko kesalahan konfigurasi dan kelalaian kebijakan meningkat, serta dapat menciptakan titik kegagalan tunggal yang berdampak pada ketersediaan dan keamanan seluruh sistem.
-
Ketidaksesuaian dengan persyaratan Perlindungan Tingkat Keamanan: Keamanan jaringan merupakan bagian penting dari sistem kepatuhan perusahaan. Misalnya, standar seperti "Persyaratan Dasar untuk Perlindungan Tingkat Keamanan Siber" (MLPS 2.0) mensyaratkan bahwa semua akses jaringan publik harus aman, terkendali, dan dapat diaudit. Perusahaan sebaiknya menghindari mengekspos host cloud secara langsung ke Internet. Sebagai gantinya, gunakan arsitektur aman seperti Server Load Balancer, NAT Gateway, dan Bastionhost untuk memusatkan kontrol dan perlindungan akses jaringan publik.
Praktik terbaik
Gunakan security group dengan benar
Sebelum membahas solusi jaringan lanjutan, penting untuk menguasai pertahanan keamanan paling dasar untuk ECS: security group. Security group adalah firewall virtual yang mengontrol lalu lintas inbound dan outbound untuk satu atau beberapa instance ECS.
Prinsip inti: Hak istimewa minimal Saat mengonfigurasi aturan inbound atau outbound, patuhi secara ketat prinsip hak istimewa minimal. Artinya:
-
Tentukan objek otorisasi: Saat memberikan akses ke alamat IP, gunakan alamat IP spesifik atau blok CIDR bila memungkinkan, seperti alamat IP egress perusahaan Anda atau alamat IP pribadi resource cloud lainnya. Jangan gunakan 0.0.0.0/0 kecuali layanan Anda harus dapat diakses dari seluruh Internet, misalnya untuk layanan web pada port 80/443.
-
Tentukan port yang diizinkan: Buka hanya port yang dibutuhkan untuk bisnis Anda. Jangan pernah membuka port untuk manajemen jarak jauh atau database ke Internet.
Contoh buruk:
Misalnya, pengguna menyambungkan alamat IP publik ke instance ECS demi kemudahan. Di security group, pengguna menetapkan alamat sumber untuk port SSH (22) dan Redis (6379) ke 0.0.0.0/0. Pengguna juga menetapkan password lemah untuk pengguna root dan tidak menetapkan password untuk Redis. Akibatnya, kurang dari 5 menit setelah alamat IP publik disambungkan, tool otomatis memindai dan mengompromikan server, yang menyebabkan pencurian data.
Jika pengguna membatasi alamat IP sumber untuk port 22 ke alamat IP perusahaan dan membatasi akses ke port 6379 hanya ke jaringan internal VPC, penyerang tidak akan dapat mengeksploitasi kerentanan ini langsung dari Internet, meskipun menggunakan password lemah.
Daftar port umum yang rentan Saat mengonfigurasi security group, berhati-hatilah terhadap port yang tercantum dalam tabel berikut. Selalu batasi rentang alamat IP sumbernya.
|
Port Category |
Port/Protokol |
Nama Layanan |
Risiko Utama |
|
Manajemen jarak jauh |
22/TCP, 3389/TCP |
SSH, RDP |
Serangan brute-force, mendapatkan full kontrol server |
|
Database |
3306/TCP, 6379/TCP, 1433/TCP |
MySQL, Redis, SQL Server |
Akses tanpa izin, kebocoran data, eksekusi kode jarak jauh (RCE) |
|
Berbagi file |
445/TCP, 139/TCP |
SMB, NetBIOS |
Penyebaran worm (seperti EternalBlue), pencurian file |
|
Manajemen aplikasi web |
7001/TCP, 8080/TCP |
WebLogic, Tomcat |
Password backend lemah, kerentanan deserialisasi, menyebabkan RCE |
Hubungkan ke instance ECS secara aman
Skenario: Login jarak jauh dan kelola instance ECS Linux atau Windows menggunakan command line atau antarmuka pengguna grafis.
Membuka SSH (port 22) atau RDP (port 3389) ke Internet membuat host Anda rentan terhadap serangan. Alibaba Cloud menyediakan beberapa tool O&M yang aman dan nyaman yang menghilangkan kebutuhan untuk membuka port yang rentan ini.
Tabel berikut membandingkan tiga solusi utama untuk membantu Anda memilih yang terbaik:
|
Solusi |
Skenario |
|
Koneksi terminal Workbench |
Manajemen harian cepat dan sementara, cocok untuk pemula |
|
Manajemen sesi |
Penggunaan harian oleh developer dan engineer O&M, tanpa eksposur port |
|
Bastionhost |
Penggunaan tingkat perusahaan dengan persyaratan kepatuhan dan audit ketat |
Solusi 1 (Nyaman dan mudah digunakan): Hubungkan menggunakan Workbench
Hubungkan ke instance menggunakan Workbench adalah metode yang direkomendasikan untuk manajemen harian. Metode ini memungkinkan Anda membuka sesi secure shell atau RDP langsung di browser untuk mengelola instance.
-
Cara kerja: Permintaan akses terlebih dahulu diautentikasi dan diteruskan melalui kluster layanan Workbench resmi Alibaba Cloud yang telah diperkeras keamanannya sebelum mencapai instance ECS. Di security group instance ECS, Anda hanya perlu memberikan akses ke rentang alamat IP layanan Workbench untuk port manajemen. Hal ini secara signifikan meminimalkan permukaan serangan.
-
Cara menggunakan:
Solusi 2 (Fleksibel dan kuat): Gunakan manajemen sesi
Hubungkan ke instance menggunakan manajemen sesi di konsol adalah metode manajemen yang lebih fleksibel dengan nol eksposur port.
-
Cara kerja: Cloud Assistant Agent di instance ECS secara aktif membuat koneksi balik terenkripsi ke layanan Cloud Assistant. Semua operasi O&M dilakukan melalui saluran data yang telah dibuat ini, sehingga instance tidak perlu mendengarkan port inbound apa pun.
-
Cara menggunakan:
Biarkan instance ECS mengakses Internet secara aman (lalu lintas outbound)
Skema: Program yang berjalan di instance ECS perlu mengakses Internet untuk mengunduh paket perangkat lunak, memperbarui sistem, atau memanggil operasi API pihak ketiga.
Solusi yang direkomendasikan: Gunakan NAT Gateway
-
Cara kerja:
-
Beberapa instance ECS dalam VPC tidak disambungkan ke alamat IP publik apa pun.
-
Semua lalu lintas outbound diarahkan ke NAT Gateway melalui entri rute VPC.
-
NAT Gateway menerjemahkan alamat IP pribadi sumber menjadi alamat IP publik miliknya sendiri, lalu mengirim permintaan ke Internet.
-
-
Keunggulan utama:
-
Sembunyikan instance backend: Hanya alamat IP publik NAT Gateway yang terlihat dari Internet. Instance ECS backend tidak dapat ditemukan atau diakses langsung. Hal ini sangat mengurangi risiko serangan.
-
Manajemen terpusat: Kelola secara terpusat egress lalu lintas outbound untuk VPC guna menyederhanakan konfigurasi jaringan.
-
Hemat alamat IP publik: Beberapa instance ECS dapat berbagi satu atau beberapa alamat IP publik untuk mengakses Internet.
-
Untuk informasi lebih lanjut, lihat Gunakan fitur SNAT Gateway NAT Internet untuk mengakses Internet.
Penguatan keamanan: Konfigurasi aturan keluar grup keamanan
Meskipun instance hanya dapat mengakses Internet dalam satu arah, risiko keamanan tetap ada. Jika instance terinfeksi Trojan horse, program berbahaya tersebut secara aktif terhubung ke server command and control (C&C) eksternal. Dengan mengonfigurasi aturan keluar grup keamanan, Anda dapat secara efektif memblokir koneksi berbahaya semacam itu.
Langkah konfigurasi:
-
Tetapkan kebijakan deny default: Di aturan outbound security group, tambahkan aturan dengan prioritas terendah (nilai terbesar, misalnya 100). Tetapkan kebijakan ke "Deny", tujuan ke 0.0.0.0/0, dan range port ke semua.
-
Izinkan layanan Alibaba Cloud yang diperlukan: Tambahkan aturan allow prioritas tinggi untuk mengizinkan akses ke alamat layanan Alibaba Cloud dasar yang diperlukan agar ECS beroperasi normal. Contohnya:
-
Security Center Agent: 100.100.0.0/16, 106.11.0.0/16, dan lainnya pada port 80/443.
-
Cloud Assistant Agent: 100.100.100.200:80 dan nama domain layanan Cloud Assistant untuk setiap wilayah.
-
Sumber mirror Alibaba Cloud/OSS/SLS: Berdasarkan wilayah Anda, selesaikan nama domain layanan terkait dan tambahkan alamat IP-nya.
-
-
Izinkan alamat tujuan yang diperlukan untuk bisnis Anda: Jika bisnis Anda perlu mengakses nama domain tertentu, seperti github.com, gunakan perintah `dig` atau `nslookup` di instance ECS untuk menyelesaikan alamat IP-nya. Lalu, tambahkan alamat IP tersebut ke aturan allow outbound.
Sediakan layanan ke Internet secara aman (lalu lintas inbound)
Skema: Anda telah men-deploy website, backend aplikasi, atau operasi API di instance ECS dan perlu menyediakan layanan yang stabil dan andal kepada pengguna melalui internet.
Solusi yang direkomendasikan: Gunakan Server Load Balancer (SLB)
Menyambungkan alamat IP publik langsung ke instance ECS untuk menyediakan layanan mengekspos server backend ke Internet dan tidak menyediakan ketersediaan tinggi. Praktik terbaik untuk lingkungan produksi adalah menggunakan Server Load Balancer (SLB), seperti Application Load Balancer (ALB) atau Network Load Balancer (NLB).
-
Cara kerja:
-
Permintaan pengguna pertama kali mencapai titik akhir publik instance SLB.
-
Instance SLB mendistribusikan permintaan ke sekelompok instance ECS backend yang sehat berdasarkan aturan pengalihan yang dikonfigurasi dan hasil pemeriksaan kesehatan.
-
Instance ECS tidak langsung terpapar ke Internet. Mereka hanya berkomunikasi dengan instance SLB melalui jaringan internal.
-
-
Keunggulan utama:
-
Sembunyikan server backend: Instance SLB berfungsi sebagai titik akses bagi pengguna. Hal ini menyembunyikan alamat IP asal instance ECS backend dan melindungi server backend.
-
Ketersediaan tinggi: SLB secara otomatis menghapus instance ECS yang tidak sehat dan melakukan failover untuk memastikan kelangsungan bisnis.
-
Distribusi beban: SLB mendistribusikan traffic ke beberapa instance ECS untuk mencapai skalabilitas horizontal dan menangani konkurensi tinggi.
-
Perlindungan keamanan terintegrasi: SLB dapat diintegrasikan dengan produk keamanan seperti Web Application Firewall (WAF) untuk melindungi dari serangan lapisan aplikasi.
-
Panduan Pengguna: Untuk langkah konfigurasi detail, lihat Cepat implementasikan load balancing untuk layanan IPv4.
Konfigurasi security group terintegrasi
Untuk keamanan optimal, konfigurasikan security group untuk instance ECS backend sebagai berikut:
-
Di aturan inbound, izinkan traffic dari rentang alamat IP layanan SLB untuk mengakses port layanan, seperti 80/443.
-
Tolak traffic dari semua alamat IP sumber lainnya ke port layanan.
Gunakan penerusan port jarak jauh Cloud Assistant untuk mengakses layanan cloud secara lokal
Anda dapat menggunakan fitur penerusan port Cloud Assistant jika Anda memiliki sejumlah kecil instance ECS yang hanya digunakan untuk akses jaringan pribadi internal atau uji coba sementara, memiliki persyaratan rendah terhadap kualitas komunikasi jaringan, dan ingin menghindari biaya bandwidth publik. Solusi ini cocok untuk skenario di mana sistem pertahanan keamanan lengkap belum dibangun tetapi pengujian skala kecil atau panggilan layanan jarak jauh diperlukan.
Contoh: Akses layanan PostgreSQL di instance ECS dari mesin lokal
Asumsikan Anda telah men-deploy layanan PostgreSQL di instance ECS yang mendengarkan pada port default 5432. Anda dapat mengakses layanan ini secara aman dari lokal tanpa menyambungkan alamat IP publik ke instance ECS atau membuka port 5432 ke alamat IP eksternal apa pun di security group.
Fitur ini memungkinkan Anda menggunakan penerusan port CLI manajemen sesi untuk mengakses instance yang tidak memiliki alamat IP publik. Anda dapat memetakan port jarak jauh di instance ECS, seperti 5432, ke port di komputer lokal Anda, seperti 8080. Saat Anda mengakses 127.0.0.1:8080 di mesin lokal Anda, traffic tersebut diteruskan secara aman end-to-end melalui saluran terenkripsi yang dibuat oleh layanan Cloud Assistant dan Cloud Assistant Agent di instance ECS.
-
Di komputer lokal Anda, jalankan perintah berikut untuk memetakan port
5432instance ECS target ke port8080di mesin lokal Anda.ali-instance-cli.exe portforward -i <instance_id> -r <target_port> -l <local_port>instance_id: ID instance.target_port: Port instance target.local_port: Port lokal. -
Seperti yang ditunjukkan pada gambar berikut, mulai pgAdmin di mesin lokal yang sama dan hubungkan ke
127.0.0.1:8080. Semua permintaan kemudian diteruskan secara aman ke port5432di instance ECS melalui saluran Cloud Assistant, memungkinkan akses jarak jauh aman ke database.
Kemampuan kepatuhan
Periksa
Query instance ECS yang disambungkan ke alamat IP publik
-
Buka Konsol Security Center.
-
Di panel navigasi kiri, pilih . Di tab Cloud Product Configuration Risk, temukan item pemeriksaan bernama Use SSH key pairs for logon dan klik Scan di kolom Operation.
Jika statusnya Failed, artinya terdapat instance Linux yang tidak menggunakan autentikasi pasangan kunci untuk login. Anda dapat mengklik Details untuk melihatnya.
Periksa security group yang membuka port rentan
-
Buka ECS Insight.
-
Di tab Security, klik item pemeriksaan Unrestricted Access to Specific Security Group Ports untuk melihat instance dengan akses tak terbatas ke port rentan.
Blok
Larang menyambungkan alamat IP publik ke instance ECS
-
Untuk pengguna perusahaan:
-
Login ke Konsol Resource Directory dengan Akun Alibaba Cloud Anda. Di panel navigasi kiri, klik Control Policies. Buat kebijakan kustom dan tempel konten JSON berikut.
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:ModifyInstanceSpec", "ecs:ModifyInstanceNetworkSpec" ], "Resource": "*", "Condition": { "Bool": { "ecs:AssociatePublicIpAddress": [ "true" ] } } }, { "Effect": "Deny", "Action": [ "vpc:AllocateEipAddress", "vpc:AllocateEipAddressPro", "vpc:AllocateEipSegmentAddress", "eipanycast:AllocateAnycastEipAddress" ], "Resource": "*" } ] } -
Di direktori resource, sambungkan kebijakan ke node yang sesuai. Kebijakan ini akan memblokir operasi yang ditentukan untuk semua akun di bawah node tersebut.
-
-
Untuk pengguna non-perusahaan:
-
Login ke Konsol RAM dengan Akun Alibaba Cloud Anda. Di panel navigasi kiri, klik Permission Policy dan buat kebijakan kustom dengan konten yang sama seperti di atas.
-
Gunakan manajemen otorisasi untuk kebijakan akses untuk memberikan kebijakan tersebut ke RAM user, Grup pengguna RAM, atau Peran RAM.
-
Batasi akses ke port rentan dari alamat apa pun
-
Untuk pengguna perusahaan:
-
Login ke Konsol Resource Directory dengan Akun Alibaba Cloud Anda. Di panel navigasi kiri, klik Control Policies. Buat kebijakan kustom dan tempel konten JSON berikut.
{ "Version": "1", "Statement": [ { "Effect": "Deny", # Deny "Action": [ "ecs:AuthorizeSecurityGroup", # Tambahkan aturan grup keamanan masuk "ecs:ConfigureSecurityGroupPermissions", # Tambah atau modifikasi aturan grup keamanan "ecs:ModifySecurityGroupRule" # Modifikasi aturan grup keamanan ], "Resource": "acs:ecs:*:*:securitygroup/*", # Untuk semua security group "Condition": { "StringEquals": { "ecs:SecurityGroupSourceCidrIps": [ # IP sumber untuk akses "0.0.0.0/0", "::/0" ] }, "ForAllValue:StringEquals": { "ecs:SecurityGroupPort" : [ # Termasuk nomor port tujuan berikut "22", "3389", "445" ] } } } ] } -
Di direktori resource, sambungkan kebijakan ke node yang sesuai. Kebijakan ini akan memblokir operasi yang ditentukan untuk semua akun di bawah node tersebut.
-
-
Untuk pengguna non-perusahaan:
-
Login ke Konsol RAM dengan Akun Alibaba Cloud Anda. Di panel navigasi kiri, klik Permission Policy dan buat kebijakan kustom dengan konten yang sama seperti di atas.
-
Gunakan manajemen otorisasi untuk kebijakan akses untuk memberikan kebijakan tersebut ke RAM user, Grup pengguna RAM, atau Peran RAM.
-
Perbaiki: Lepaskan alamat IP publik dari instance ECS
-
Lepaskan alamat IP publik statis: Untuk melakukannya, ubah bandwidth menjadi 0 Mbps. Alamat IP publik statis kemudian akan dilepas secara otomatis. Untuk informasi lebih lanjut, lihat Modifikasi bandwidth instansi langganan dan Modifikasi bandwidth Instans berbayar sesuai penggunaan.
-
Lepaskan EIP: Untuk informasi lebih lanjut, lihat Putuskan asosiasi EIP dari instance ECS.