Network ACL memungkinkan Anda mengontrol lalu lintas inbound dan outbound pada tingkat vSwitch dengan menentukan aturan allow atau deny yang diprioritaskan.
Cara kerja
Lingkup
Network ACL hanya berlaku untuk elastic network interfaces (ENIs) dalam vSwitch terkait.
-
Network ACL mengontrol lalu lintas untuk sumber daya cloud yang menggunakan ENI, seperti instans ECS, ECI, dan NLB.
ApsaraDB RDS dan instans CLB tidak menggunakan ENI, sehingga network ACL tidak berlaku. Akses RDS dikontrol oleh daftar putih, dan akses CLB oleh kebijakan kontrol akses.
Network ACL tidak mengontrol lalu lintas untuk ENI sekunder yang dikaitkan dengan EIP dalam mode ENI-visible.
-
Lalu lintas PrivateLink melewati ENI titik akhir antarmuka dan tunduk pada aturan network ACL.
Mekanisme evaluasi aturan
-
Aturan dievaluasi dalam urutan prioritas naik mulai dari 1. Setiap aturan mencocokkan lalu lintas berdasarkan versi IP, protokol, alamat sumber atau tujuan, serta range port. Aturan pertama yang cocok akan menerapkan kebijakan allow atau deny-nya, dan evaluasi dihentikan.
Baik untuk aturan inbound maupun outbound, range port selalu mencocokkan port tujuan lalu lintas.
Aturan inbound hanya berlaku untuk alamat sumber, dan aturan outbound hanya berlaku untuk alamat tujuan. Satu aturan tidak dapat menentukan alamat sumber dan tujuan sekaligus.
Lalu lintas yang ditolak akan dibuang secara diam-diam. Sumber tidak menerima respons apa pun, sehingga menyebabkan timeout atau kegagalan koneksi.
-
Aturan network ACL bersifat tanpa status (stateless). Aturan allow inbound tidak secara otomatis mengizinkan lalu lintas balasan — Anda harus membuat aturan outbound untuk Allow respons kembali ke port ephemeral klien. Klien memilih port ephemeral secara acak untuk menerima respons.
Untuk memastikan semua jenis klien dapat mengakses layanan Anda, Anda dapat mengatur range port ephemeral menjadi 1024–65535.
Dalam contoh ini, dua aturan memiliki blok CIDR yang tumpang tindih. Klien di 192.168.0.1 yang mengakses vSwitch melalui HTTPS cocok dengan Prioritas 1 dan ditolak. Klien di 192.168.1.1 cocok dengan Prioritas 2 dan diizinkan. Lalu lintas balasan mencapai port ephemeral klien melalui aturan outbound Prioritas 1.
Untuk membuka banyak port sekaligus menolak port tertentu, tetapkan angka prioritas lebih rendah (prioritas lebih tinggi) untuk aturan deny daripada aturan allow.
Perbedaan antara network ACL dan security group
|
Item |
Network ACL |
Security group |
|
Lingkup |
Mengontrol lalu lintas inbound dan outbound untuk satu vSwitch. |
Beberapa security group dapat dikaitkan dengan satu instans. Aturannya dievaluasi bersama untuk mengontrol lalu lintas inbound dan outbound. |
|
Sifat stateful |
Tanpa status (stateless): Lalu lintas balasan harus secara eksplisit diizinkan oleh aturan outbound. |
Bersifat stateful: Lalu lintas balasan secara otomatis diizinkan, terlepas dari aturan outbound. |
|
Evaluasi aturan |
Aturan dievaluasi berdasarkan prioritas, dan aturan pertama yang cocok diterapkan. |
Aturan dievaluasi berdasarkan prioritas. Untuk aturan dengan prioritas yang sama, aturan deny didahulukan daripada aturan allow. |
|
Asosiasi |
Setiap vSwitch hanya dapat dikaitkan dengan satu network ACL. |
Instans ECS dapat dikaitkan dengan beberapa security group. |
|
Konfigurasi alamat aturan |
Aturan inbound hanya berlaku untuk alamat sumber, dan aturan outbound hanya berlaku untuk alamat tujuan. Satu aturan tidak dapat menentukan alamat sumber dan tujuan sekaligus. |
Aturan inbound menentukan sumber lalu lintas, dan aturan outbound menentukan tujuan lalu lintas. |
Buat dan hapus network ACL
Buat network ACL dan kaitkan dengan vSwitch untuk mengontrol lalu lintas inbound dan outbound-nya.
Saat Anda membuat network ACL untuk VPC yang hanya mendukung IPv4, sistem menambahkan aturan default berikut untuk inbound dan outbound:
-
Aturan layanan cloud: Mengizinkan akses ke DNS Alibaba Cloud dan layanan metadata ECS. Aturan ini memiliki prioritas tertinggi dan tidak dapat dimodifikasi atau dihapus.
1. Alamat server DNS default: 100.100.2.136 dan 100.100.2.138 (resolusi nama domain internal).
2. Alamat MetaServer: 100.100.100.200 (layanan metadata instans ECS).
-
Aturan kustom: Mengizinkan semua lalu lintas IPv4 untuk menjaga konektivitas jaringan pribadi antar-vSwitch dalam VPC yang sama. Anda dapat menambahkan aturan kustom untuk mengontrol lalu lintas vSwitch secara lebih tepat.
-
Aturan sistem: Menolak semua lalu lintas IPv4 yang tidak dicocokkan oleh aturan lain. Aturan ini memiliki prioritas terendah dan tidak dapat dimodifikasi atau dihapus.
Jika VPC telah mengaktifkan IPv6, sistem juga menambahkan aturan kustom yang mengizinkan semua lalu lintas IPv6 dan aturan sistem yang menolak semua lalu lintas IPv6 untuk kedua arah.
Network ACL hanya dapat dikaitkan dengan vSwitch dalam VPC-nya sendiri. Setiap vSwitch hanya dapat dikaitkan dengan satu network ACL.
Konsol
Buat network ACL
-
Buka halaman Konsol VPC – network ACL. Pilih wilayah di bagian atas halaman, lalu klik Create Network ACL.
-
Untuk VPC, pilih VPC yang berisi vSwitch yang akan dikaitkan dengan network ACL.
Kaitkan vSwitch
Klik ID network ACL, atau klik Manage di kolom Actions. Di tab Associated Resources, klik Associate vSwitch. Pilih satu atau beberapa vSwitch, lalu klik OK. Aturan network ACL kemudian diterapkan untuk mengontrol lalu lintas vSwitch terkait. Untuk memutuskan asosiasi vSwitch, klik Unbind di kolom Actions untuk vSwitch target di tab ini.
Anda juga dapat mengaitkan, mengganti, atau memutuskan asosiasi network ACL di bagian Network ACL pada halaman detail vSwitch target.
Hapus network ACL
Pastikan network ACL tidak dikaitkan dengan vSwitch mana pun. Di kolom Actions untuk network ACL target, klik Delete.
API
-
Panggil CreateNetworkAcl untuk membuat network ACL.
-
Panggil AssociateNetworkAcl untuk mengaitkan network ACL dengan vSwitch.
-
Panggil UnassociateNetworkAcl untuk memutuskan asosiasi network ACL dari vSwitch.
-
Panggil DeleteNetworkAcl untuk menghapus network ACL.
Terraform
Berbeda dengan di konsol, Terraform hanya memungkinkan Anda mengaitkan network ACL dengan satu vSwitch.
Sumber daya: alicloud_network_acl
# Tentukan wilayah untuk network ACL.
provider "alicloud" {
region = "cn-hangzhou"
}
# Tentukan ID VPC.
variable "vpc_id" {
default = "vpc-bp1k******" # Ganti dengan ID VPC Anda.
}
# Tentukan ID vSwitch.
variable "vswitch_id" {
default = "vsw-bp1y******" # Ganti dengan ID vSwitch Anda.
}
# Buat network ACL dan kaitkan dengan vSwitch.
resource "alicloud_network_acl" "example_network_acl" {
vpc_id = var.vpc_id # VPC tempat network ACL berada.
network_acl_name = "example_network_acl_name"
resources {
resource_id = var.vswitch_id # Tentukan vSwitch yang akan dikaitkan dengan network ACL.
resource_type = "VSwitch"
}
}
Konfigurasi aturan network ACL
-
Setelah membuat network ACL, aturan default akan mengizinkan atau menolak semua lalu lintas.
-
Konfigurasikan aturan kustom untuk mengontrol lalu lintas vSwitch. Saat lalu lintas cocok dengan Protocol, IP Version, Source IP Address atau Destination IP Address, dan range port, sistem akan menerapkan Policy.
-
Untuk
TCP(6)atauUDP(17), tentukan range port (0–65535) dalam formatstart_port/end_port. Jangan gunakan-1/-1. Untuk protokol lain, range port secara default adalah-1/-1(semua port). -
Aturan IPv6 memerlukan IPv6 diaktifkan pada VPC.
-
Perubahan aturan secara otomatis diterapkan ke semua vSwitch terkait.
-
-
Anda dapat mengelompokkan blok CIDR yang sering digunakan dalam prefix list dan mereferensikannya dalam aturan network ACL. Perubahan pada prefix list secara otomatis memperbarui semua aturan yang mereferensikannya.
-
Pengaturan jumlah maksimum entri pada prefix list (bukan jumlah entri aktualnya) dihitung terhadap kuota aturan network ACL Anda. Untuk menghindari melebihi kuota, kurangi jumlah maksimum, gabungkan rentang IP yang berdekatan, atau hapus entri yang tidak digunakan.
-
Prefix list bersifat spesifik wilayah dan tidak dapat dibagikan lintas wilayah. Satu prefix list tidak dapat mencampur blok CIDR IPv4 dan IPv6.
-
1. Jika Anda mengonfigurasi set opsi DHCP dengan server DNS kustom, tambahkan aturan inbound dan outbound untuk mengizinkan lalu lintas ke server tersebut. Jika tidak, resolusi nama domain mungkin gagal.
2. Saat menggunakan load balancer, tambahkan aturan untuk mengizinkan penerusan port listener dan lalu lintas pemeriksaan kesehatan ke server backend.
Konsol
Di tab Inbound Rules atau Outbound Rules untuk network ACL target, ikuti langkah-langkah berikut untuk mengonfigurasi aturan kustom.
Aturan network ACL bersifat tanpa status. Aturan allow inbound memerlukan aturan outbound yang sesuai untuk lalu lintas balasan.
Tambahkan aturan
-
Konfigurasi manual: Di tab Inbound Rules atau Outbound Rules untuk network ACL target, klik Manage Inbound Rule atau Manage Outbound Rule.
-
Klik Add IPv4 Rule atau Add IPv6 Rule untuk mengonfigurasi aturan satu per satu.
-
Jika ingin menerapkan kontrol akses yang sama ke beberapa blok CIDR, pilih Quick Add dan atur Priority untuk menentukan posisi penyisipan aturan.
-
Setelah mengelola blok CIDR yang sering digunakan dalam prefix list, klik Add IPv4 Rule atau Add IPv6 Rule, atur IP Version ke VPC Prefix List, lalu atur Source IP Address/Destination IP Address ke prefix list tersebut.
-
-
Impor batch: Untuk menambahkan aturan dengan kebijakan berbeda secara batch, Anda dapat menggunakan templat yang disediakan untuk Import Rule.
-
Anda harus melengkapi semua item konfigurasi dalam templat. Aturan dengan item yang tidak lengkap tidak dapat diimpor.
-
Prefix list tidak didukung.
-
Proses impor menambahkan aturan baru setelah aturan yang sudah ada tanpa menimpanya.
-
Ubah urutan aturan
Klik Manage Inbound Rule atau Manage Outbound Rule, lalu seret aturan ke atas atau bawah untuk menyesuaikan urutan evaluasinya.
Hapus aturan
Di kolom Actions untuk aturan network ACL target, klik Delete.
API
-
Panggil UpdateNetworkAclEntries untuk memperbarui aturan network ACL. API ini melakukan penggantian penuh — aturan yang ada yang tidak disertakan dalam permintaan Anda akan dihapus. Untuk mempertahankan aturan, sertakan dalam panggilan API.
-
Panggil CopyNetworkAclEntries untuk menyalin semua aturan dari satu network ACL ke network ACL lain. Kedua ACL harus berada dalam VPC dengan konfigurasi versi IP yang sama (keduanya hanya IPv4 atau keduanya mendukung IPv6). Anda tidak dapat menambahkan aturan IPv6 ke network ACL dalam VPC yang menonaktifkan IPv6. Menyalin aturan ke VPC yang mendukung IPv6 tidak secara otomatis menambahkan aturan kustom untuk mengizinkan semua lalu lintas IPv6, yang dapat mengganggu komunikasi IPv6.
Terraform
Contoh ini menambahkan aturan deny untuk lalu lintas inbound dan outbound. Sesuaikan konfigurasi agar sesuai dengan kebijakan kontrol akses Anda.
Sumber daya: alicloud_network_acl
# Tentukan wilayah untuk network ACL.
provider "alicloud" {
region = "cn-hangzhou"
}
# Tentukan ID VPC.
variable "vpc_id" {
default = "vpc-bp1k******" # Ganti dengan ID VPC Anda yang sebenarnya.
}
# Tentukan ID vSwitch.
variable "vswitch_id" {
default = "vsw-bp1y******" # Ganti dengan ID vSwitch Anda yang sebenarnya.
}
# Buat network ACL dan kaitkan dengan vSwitch.
resource "alicloud_network_acl" "example_network_acl" {
vpc_id = var.vpc_id # Tentukan VPC untuk network ACL.
network_acl_name = "example_network_acl_name"
resources {
resource_id = var.vswitch_id # Tentukan vSwitch yang akan dikaitkan dengan network ACL.
resource_type = "VSwitch"
}
ingress_acl_entries { # Tentukan aturan inbound.
network_acl_entry_name = "example-ingress"
protocol = "tcp" # Protokol
source_cidr_ip = "10.0.0.0/24" # Blok CIDR sumber
port = "20/80" # Range port
policy = "drop" # Kebijakan
}
egress_acl_entries { # Tentukan aturan outbound.
network_acl_entry_name = "example-egress"
protocol = "tcp"
destination_cidr_ip = "10.0.0.0/24" # Blok CIDR tujuan
port = "20/80" # Range port
policy = "drop" # Kebijakan
}
}
Contoh aturan network ACL
Batasi komunikasi antar-vSwitch berbeda
Secara default, vSwitch dalam VPC yang sama dapat berkomunikasi secara bebas. Gunakan network ACL untuk menolak akses dari alamat IP tertentu.
Dalam contoh ini, aturan inbound dan outbound untuk network ACL vSwitch 1 mencegah instansnya berkomunikasi dengan ECS06.
Izinkan akses dari alamat IP tertentu
Setelah menghubungkan pusat data on-premises ke VPC dengan Express Connect, semua sumber daya pusat data dapat mengakses layanan cloud. Gunakan network ACL untuk hanya mengizinkan alamat IP tertentu dan menolak semua yang lain.
Dalam contoh ini, network ACL hanya mengizinkan akses ke instans vSwitch dari server on-premises 1 dan 2.
Informasi lebih lanjut
Penagihan
Fitur network ACL tidak dikenai biaya.
Wilayah yang didukung
Area | Wilayah |
Asia Pasifik – Tiongkok | Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Nanjing - Local Region, Closing Down), Tiongkok (Qingdao), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Hohhot), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Tiongkok (Heyuan), Tiongkok (Guangzhou), Tiongkok (Chengdu), Tiongkok (Zhongwei), Tiongkok (Hong Kong), Tiongkok (Wuhan - Local Region), dan Tiongkok (Fuzhou - Local Region, Closing Down) |
Asia Pasifik – Lainnya | Jepang (Tokyo), Korea Selatan (Seoul), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Filipina (Manila), Thailand (Bangkok), dan Malaysia (Johor) |
Eropa & Amerika | Jerman (Frankfurt), Inggris (London), Prancis (Paris), AS (Silicon Valley), AS (Virginia), dan Meksiko |
Timur Tengah | UEA (Dubai) dan Arab Saudi (Riyadh) (wilayah mitra) |
Kuota
Nama kuota | Deskripsi | Batas default | Dapat disesuaikan |
vpc_quota_nacl_ingress_entry | Aturan inbound per network ACL. Jika IPv6 diaktifkan untuk VPC tempat network ACL berada, jumlah default aturan inbound IPv4 dan IPv6 yang dapat dibuat adalah 20. | 20 | Ya. Buka halaman Quota Management atau Quota Center untuk mengajukan peningkatan kuota. |
vpc_quota_nacl_egress_entry | Aturan outbound per ACL. Jika IPv6 diaktifkan untuk VPC tempat network ACL berada, jumlah default aturan inbound IPv4 dan IPv6 yang dapat dibuat adalah 20. | 20 | |
nacl_quota_vpc_create_count | Network ACL per VPC. | 20 |