Topik ini menjelaskan cara mengonfigurasi aturan security group untuk mengelola lalu lintas jaringan dalam skenario umum, seperti menyediakan layanan web atau mengontrol akses remote. Panduan ini membantu memastikan keamanan dan keandalan sumber daya cloud Anda.
Panduan security group
1. Identifikasi kebutuhan dan rencanakan security group
Tentukan kebutuhan bisnis dan persyaratan keamanan spesifik Anda. Misalnya, tentukan layanan mana yang harus dapat diakses publik dan mana yang harus dibatasi hanya untuk akses internal.
Pisahkan server untuk layanan publik dan internal ke dalam security group berbeda
Membuka port layanan yang tidak diperlukan dapat menciptakan kerentanan keamanan. Terapkan aturan paling ketat pada security group untuk instance ECS Anda. Gunakan kebijakan deny-by-default, yang secara default menutup semua port dan protokol serta hanya membuka port-port spesifik yang dibutuhkan oleh layanan Anda.
Security group untuk server yang menghadap publik harus memiliki tujuan yang jelas dan sederhana. Hindari menjalankan layanan lain, seperti MySQL atau Redis, pada server yang sama. Kami merekomendasikan Anda menginstal layanan backend tersebut pada instance ECS yang tidak memiliki public IP address. Kemudian, berikan akses dengan membuat aturan security group yang mengotorisasi akses dari security group lain.
Gunakan security group berbeda untuk aplikasi berbeda
Dalam lingkungan produksi, server dengan sistem operasi atau aplikasi berbeda biasanya tidak termasuk dalam kelompok yang sama untuk load balancing. Layanan berbeda memerlukan pembukaan atau penutupan port yang berbeda. Tetapkan sumber daya dengan peran berbeda ke security group berbeda.
Misalnya, instans Linux mungkin memerlukan TCP port 22 untuk akses SSH, sedangkan instans Windows mungkin memerlukan TCP port 3389 untuk koneksi Remote Desktop.
Bahkan jika instans menggunakan jenis image yang sama tetapi menyediakan layanan berbeda, Anda harus menetapkannya ke security group berbeda jika tidak perlu berkomunikasi melalui jaringan internal. Pendekatan ini memisahkan layanan Anda, menyederhanakan perubahan aturan di masa depan, dan memastikan setiap security group memiliki tanggung jawab tunggal.
Saat merencanakan dan menambahkan aplikasi baru, Anda harus merencanakan security group seperti halnya Anda merencanakan subnet dengan vSwitch. Gunakan Blok CIDR dan security group untuk menetapkan batas yang jelas antara penyedia layanan dan konsumen.
Gunakan security group terpisah untuk lingkungan produksi dan pengujian
Untuk mengisolasi sistem lebih baik, Anda mungkin membangun beberapa lingkungan pengujian dan satu lingkungan produksi. Untuk mengisolasi jaringan secara tepat, konfigurasikan kebijakan keamanan berbeda untuk setiap lingkungan. Hal ini mencegah perubahan di lingkungan pengujian secara tidak sengaja memengaruhi stabilitas lingkungan produksi Anda.
Dengan membuat security group berbeda, Anda dapat membatasi domain akses aplikasi dan mencegah komunikasi antara lingkungan produksi dan pengujian. Anda juga dapat menetapkan security group berbeda ke beberapa lingkungan pengujian untuk mencegah saling mengganggu, yang meningkatkan efisiensi pengembangan.
Jangan tetapkan public IP address ke sumber daya yang tidak memerlukan akses publik
Hubungkan ke instance ECS menggunakan metode yang tidak memerlukan public IP address, seperti Workbench, Session Manager, atau jump server, untuk meminimalkan eksposur publik. Untuk mengakses layanan yang dideploy di jaringan pribadi secara langsung, Anda dapat menggunakan fitur port forwarding. Untuk informasi selengkapnya, lihat Gunakan port forwarding CLI Session Manager untuk mengakses instance yang tidak memiliki public IP address.
Dalam aplikasi terdistribusi, sumber daya sering dipisahkan ke dalam tier dan kelompok berbeda. Untuk instance ECS yang tidak menyediakan layanan publik, jangan tetapkan public IP address. Jika Anda memiliki beberapa server yang menyediakan akses publik, gunakan SLB untuk mendistribusikan traffic publik. Hal ini meningkatkan ketersediaan sistem dan mencegah single point of failure. Untuk informasi selengkapnya, lihat .
Di dalam VPC, jika instance ECS tanpa public IP address perlu mengakses internet, gunakan NAT gateway. Gateway ini bertindak sebagai proxy untuk akses internet. Anda hanya perlu mengonfigurasi aturan SNAT untuk Blok CIDR atau subnet tertentu agar dapat mengakses publik. Hal ini mencegah Anda mengekspos layanan ke internet dengan menetapkan public IP address (atau elastic IP address) ketika hanya akses internet arah keluar yang diperlukan. Untuk informasi selengkapnya, lihat Buat dan kelola entri SNAT.
Gunakan security group sebagai daftar putih
Security group harus berfungsi sebagai daftar putih. Secara default, security group menolak semua akses. Anda dapat menambahkan aturan allow untuk mengizinkan traffic pada rentang port tertentu dari sumber yang diotorisasi. Buka sesedikit mungkin port dan tetapkan sesedikit mungkin public IP address. Mengaitkan elastic IP address merupakan cara praktis untuk mengakses mesin produksi guna troubleshooting, tetapi hal ini mengekspos seluruh mesin ke internet.
2. Konfigurasi aturan security group
Security group bertindak sebagai firewall virtual yang mengontrol traffic inbound dan outbound untuk instance ECS. Anda harus hanya membuka port komunikasi yang diperlukan dan membatasi rentang alamat IP sumber sebanyak mungkin.
Dalam VPC, satu aturan security group dapat mengontrol akses jaringan publik dan pribadi sekaligus. Artinya, Anda dapat mengonfigurasi satu aturan untuk membatasi atau mengizinkan traffic baik dari internet maupun jaringan internal Anda.
Kebijakan default berbeda antara security group dasar dan tingkat lanjut
Secara default, baik security group dasar maupun security group tingkat lanjut menolak semua traffic inbound. Namun, kebijakan outbound-nya berbeda: security group dasar mengizinkan semua traffic outbound, sedangkan security group tingkat lanjut menolaknya.
Konektivitas internal berbeda di antara security group dan jenis security group
Meskipun berada dalam akun yang sama, instance ECS dalam security group berbeda terisolasi satu sama lain melalui jaringan internal. Secara default, instance dalam security group dasar yang sama dapat saling berkomunikasi, sedangkan instance dalam security group tingkat lanjut yang sama terisolasi satu sama lain.
Tambahkan aturan berdasarkan prinsip least privilege
Misalnya, saat Anda membuka port 22 pada instance Linux untuk login remote, izinkan akses hanya dari alamat IP tertentu.
PeringatanMengotorisasi akses dari 0.0.0.0/0 mengizinkan semua alamat IP mengakses instance, yang mengekspos semua port. Hal ini sangat tidak aman. Praktik yang benar adalah menolak akses ke semua port secara default. Misalnya, jika Anda perlu mengekspos layanan web, Anda hanya boleh membuka port TCP umum seperti 80, 8080, dan 443, serta menutup semua port lainnya.
Konfigurasikan aturan security group berdasarkan kebutuhan bisnis Anda dan prinsip least privilege. Hindari membuka semua port (gunakan ::/0 atau 0.0.0.0/0 dengan sangat hati-hati) untuk mencegah risiko keamanan. Untuk informasi selengkapnya tentang jenis objek otorisasi, lihat Aturan security group.
Isolasi instance dalam satu kelompok berdasarkan prinsip least privilege
Jika instance dalam security group dasar tidak perlu saling berkomunikasi, atur kebijakan akses internal untuk security group tersebut agar mengisolasi instance-instance tersebut.
Pertahankan konsistensi tujuan aturan dalam satu security group
Atur aturan ke dalam beberapa security group berdasarkan tujuannya dan kaitkan instance dengan kelompok yang relevan. Satu security group dengan terlalu banyak aturan meningkatkan kompleksitas manajemen.
Pilih objek otorisasi dengan hati-hati
Objek otorisasi untuk aturan security group dapat berupa alamat IP, security group lain, atau Blok CIDR.
Jika Anda ingin mengaktifkan komunikasi jaringan antara sumber daya di grup keamanan yang berbeda, Anda harus mengizinkan akses berdasarkan grup keamanan. Sebagai contoh, untuk aplikasi terdistribusi, Anda dapat menggunakan grup keamanan yang berbeda untuk komponen yang berbeda. Jika grup keamanan ini tidak dapat berkomunikasi satu sama lain, Anda tidak boleh mengizinkan akses berdasarkan alamat IP atau Blok CIDR. Sebagai gantinya, Anda harus langsung mengizinkan akses dari semua sumber daya dalam grup keamanan lainnya. Misalnya, jika Anda membuat grup keamanan terpisah untuk komponen web dan database aplikasi Anda,
sg-webdansg-database, Anda dapat menambahkan aturan kesg-database. Aturan ini mengizinkan semua sumber daya dalam grup keamanansg-webuntuk mengakses port MySQL (3306).Untuk akses jaringan internal, otorisasi security group sumber daripada Blok CIDR.
Aplikasi umum menggunakan port default
Aplikasi menggunakan port server tertentu untuk berkomunikasi dengan layanan eksternal. Untuk informasi selengkapnya, lihat Port umum.
3. Tinjau dan optimalkan aturan secara berkala
Saat bisnis Anda berkembang, security group dan aturan yang ada mungkin menjadi usang. Tinjau arsitektur Anda secara berkala dan lakukan penyesuaian berdasarkan kondisi keamanan terbaru. Sebelum memodifikasi security group di lingkungan produksi, kloning terlebih dahulu dan uji aturan tersebut di lingkungan pengujian untuk memastikan aliran traffic berjalan dengan benar. Kemudian, terapkan perubahan tersebut ke security group produksi. Praktik ini membantu mencegah gangguan layanan akibat modifikasi yang salah.
Kasus penggunaan
Kontrol traffic inbound ke instance ECS
Traffic inbound adalah traffic dari sumber daya eksternal ke instance ECS Anda. Anda dapat mengonfigurasi aturan security group inbound untuk mengizinkan pengguna tertentu mengakses layanan yang dideploy pada instance ECS Anda. Secara default, semua traffic inbound ditolak, sehingga Anda hanya perlu mengonfigurasi aturan Allow untuk traffic yang ingin Anda izinkan. Kasus penggunaan terkait meliputi:
Kasus 1: Sediakan layanan web dari website yang dideploy pada instance ECS
Kasus 2: Izinkan akses remote untuk pengguna tertentu ke instance ECS
Kasus 3: Terapkan kebijakan keamanan untuk database yang dideploy pada instance ECS
Kasus 5: Aktifkan komunikasi internal antar instance dalam security group berbeda
Kontrol traffic outbound dari instance ECS
Traffic outbound adalah traffic dari instance ECS Anda ke sumber daya eksternal. Anda dapat mengonfigurasi aturan security group outbound untuk menolak akses dari instance ECS Anda ke sumber daya eksternal tertentu. Untuk security group dasar, semua traffic outbound diizinkan secara default, sehingga Anda hanya perlu menambahkan aturan Deny untuk traffic yang ingin Anda blokir. Kasus penggunaan terkait meliputi:
Kasus 1: Sediakan layanan web
Jika website yang dideploy pada instance ECS Alibaba Cloud harus dapat diakses oleh pengguna mana pun di internet, konfigurasikan aturan security group yang mengizinkan traffic inbound dari sumber mana pun hanya pada TCP port 80 (HTTP) dan 443 (HTTPS). Konfigurasi ini memastikan website dapat diakses sekaligus membatasi akses langsung ke layanan lain di server tersebut.
Tabel berikut menunjukkan contoh konfigurasi aturan security group ini.
Arah aturan | Aksi | Prioritas | Jenis protokol | Rentang port | Objek otorisasi |
Inbound | Allow | 1 | Custom TCP | Port layanan:
| 0.0.0.0/0 |
Jika Anda tidak dapat mengakses website setelah menambahkan aturan security group, periksa apakah port layanan berfungsi dengan benar. Untuk informasi selengkapnya, lihat Troubleshoot layanan yang tidak dapat diakses dari instance ECS.
Kasus 2: Izinkan akses remote
Saat Anda mendeploy layanan pada instance ECS Alibaba Cloud dan perlu menghubungkannya secara remote, konfigurasikan aturan security group. Biasanya, Anda perlu membuka TCP port 22 (SSH) atau port SSH kustom. Untuk mengurangi risiko serangan berbahaya, batasi akses hanya ke alamat IP pengguna tertentu, seperti administrator, atau server tertentu.
Tabel berikut menunjukkan contoh konfigurasi aturan security group ini.
Arah aturan | Action | Prioritas | Jenis protokol | Port range | Objek otorisasi |
Inbound | Allow | 1 | Custom TCP |
| 192.168.XX.XX Catatan Alamat IP pengguna atau server tertentu. Masukkan public IP address atau Alamat IP pribadi tergantung apakah koneksi bersifat publik atau pribadi. Anda dapat menggunakan layanan seperti WhatIsMyIP.com untuk menemukan public IP address jaringan lokal Anda. |
Saat Anda menggunakan Alibaba Cloud Workbench untuk terhubung secara jarak jauh ke Instans, Anda hanya perlu mengizinkan objek otorisasi tertentu. Tabel berikut menunjukkan contoh aturan grup keamanan inbound.
Action | Prioritas | Jenis protokol | Rentang port | Objek otorisasi |
Allow | 1 | Custom TCP |
|
|
Kasus 3: Konfigurasi keamanan database
Layanan database biasanya memerlukan kebijakan keamanan yang lebih ketat. Konfigurasikan security group untuk mengizinkan koneksi inbound pada port tertentu hanya dari alamat IP atau security group tertentu, seperti security group yang berisi server aplikasi Anda. Hal ini memastikan privasi dan keamanan akses database.
Jika aturan inbound Anda saat ini mencakup aturan allow dari 0.0.0.0/0, tinjau port dan layanan mana yang harus diekspos ke publik. Jika Anda menentukan bahwa suatu port tidak boleh diakses publik, tambahkan aturan deny untuk port tersebut. Misalnya, jangan mengekspos port MySQL default 3306 ke internet. Untuk mencegah hal ini, tambahkan aturan deny untuk port tersebut dan atur prioritasnya ke 100 (prioritas terendah).
Tabel berikut menunjukkan contoh konfigurasi aturan security group untuk database umum yang menggunakan port defaultnya.
Jenis database | Arah aturan | Aksi | Prioritas | Jenis protokol | Rentang port | Objek otorisasi |
MySQL | Inbound | Allow | 1 | Custom TCP | 3306/3306 | 172.16.XX.XX |
Oracle | Inbound | Allow | 1 | Custom TCP | 1521/1521 | 192.168.XX.XX |
MS SQL | Inbound | Allow | 1 | Custom TCP | 1433/1433 | 192.168.XX.XX/16 |
PostgreSQL | Inbound | Allow | 1 | Custom TCP | 5432/5432 | sg-bp1hv6wvmegs036**** |
Redis | Inbound | Allow | 1 | Custom TCP | 6379/6379 | 160998252992****/sg-bp174yoe2ib1sqj5**** |
Ganti alamat IP contoh, Blok CIDR, ID akun Alibaba Cloud, dan ID security group dengan nilai aktual Anda.
Kasus 4: Izinkan protokol tertentu
Berdasarkan kebutuhan bisnis Anda, Anda mungkin perlu membatasi protokol jaringan tertentu, seperti hanya mengizinkan komunikasi pada port TCP atau UDP tertentu. Protokol ICMP terutama digunakan untuk mengirimkan pesan kontrol antara host IP dan router. Anda harus mengizinkan akses melalui protokol ICMP untuk melakukan pengujian tertentu. Misalnya, saat Anda menjalankan perintah ping pada client untuk menguji konektivitas jaringan, Anda harus mengizinkan akses melalui protokol ICMP. Tabel berikut memberikan contoh konfigurasi aturan security group.
Arah aturan | Aksi | Prioritas | Jenis protokol | Rentang port | Objek otorisasi |
Inbound | Allow | 1 |
| -1/-1 | Alamat IP client Catatan Masukkan alamat IPv4 atau IPv6 tergantung pada lingkungan jaringan Anda. |
Kasus 5: Aktifkan komunikasi internal
Jika Anda perlu berbagi data antar instance dalam VPC yang sama, seperti mengizinkan instance dalam Security Group A mengakses file bersama pada instance dalam Security Group B melalui FTP, Anda dapat mengotorisasi akses antar security group. Mengotorisasi security group lain lebih praktis daripada mengotorisasi alamat IP atau Blok CIDR individual karena memungkinkan Anda memberikan akses ke seluruh kelompok instance sekaligus tanpa mengonfigurasi izin untuk setiap instance.
Anda tidak dapat menggunakan aturan security group untuk mengaktifkan komunikasi antar instance yang berada dalam VPC berbeda.
Jika layanan Anda dapat dideploy dalam VPC yang sama, Anda dapat membuat koneksi menggunakan jaringan internal VPC. Untuk informasi selengkapnya, lihat Ubah VPC instance ECS.
Jika layanan Anda memerlukan instance berada dalam VPC berbeda, Alibaba Cloud menyediakan beberapa solusi untuk menghubungkannya, seperti VPC peering connection, PrivateLink, dan Cloud Enterprise Network. Untuk memahami perbedaannya, lihat Koneksi VPC.
Skenario 1: Security group dalam akun yang sama
Jika Security Group A dan Security Group B berada dalam akun yang sama, atur objek otorisasi ke ID security group sumber. Tabel berikut menunjukkan contoh konfigurasi aturan security group ini.
Arah Aturan
Action
Prioritas
Jenis protokol
rentang port
Objek otorisasi
Inbound
Allow
1
Custom TCP
21/21
sg-bp1hv6wvmegs036****
CatatanGanti contoh ID
grup keamanandengan nilai aktual Anda.Skenario 2: Security group dalam akun berbeda
Jika Security Group A dan Security Group B berada dalam akun berbeda, atur objek otorisasi ke ID akun Alibaba Cloud sumber dan ID security group sumber. Tabel berikut menunjukkan contoh konfigurasi aturan security group ini.
Rule Direction
Aksi
Prioritas
Jenis protokol
Rentang port
Objek otorisasi
Inbound
Allow
1
Custom TCP
21/21
160998252992****/sg-bp174yoe2ib1sqj5****
CatatanGanti ID akun Alibaba Cloud dan ID security group contoh dengan nilai aktual Anda.
Kasus 6: Batasi akses outbound
Untuk membatasi instance agar hanya dapat mengakses website tertentu, gunakan security group-nya sebagai daftar putih. Atur aturan outbound default untuk menolak semua traffic, lalu tambahkan aturan untuk mengizinkan akses hanya ke alamat IP website yang ditentukan.
Saat mengonfigurasi aturan security group ini, perhatikan hal berikut:
Ketika beberapa aturan cocok dengan permintaan berdasarkan protokol, Port, dan objek otorisasi, sistem menentukan aturan yang berlaku berdasarkan prioritas dan aksi. Sesi dibuat hanya jika aturan efektif terakhir memiliki aksi
Allow.Nilai prioritas yang lebih kecil menunjukkan prioritas yang lebih tinggi. Jika dua aturan memiliki prioritas yang sama tetapi aksi berbeda (Allow vs. Deny), aturan Deny yang didahulukan. Untuk menerapkan daftar putih outbound dengan benar, aturan Deny harus memiliki prioritas lebih rendah (angka lebih besar) daripada aturan Allow. Hal ini memastikan aturan Allow berlaku.
Tabel berikut menunjukkan contoh konfigurasi aturan security group ini.
Arah aturan | Tindakan | Prioritas | Jenis protokol | Rentang port | Objek otorisasi |
Outbound | Deny | 2 | All | -1/-1 | 0.0.0.0/0 |
Outbound | Allow | 1 | Custom TCP | 80/80 | 47.96.XX.XX |
Outbound | Allow | 1 | Custom TCP | 443/443 | 121.199.XX.XX |
Aturan-aturan ini mengizinkan instance dalam security group mengakses layanan HTTP pada port 80 di 47.96.XX.XX dan layanan HTTPS pada port 443 di 121.199.XX.XX, sedangkan semua akses outbound lainnya ditolak.