Service Mesh (ASM) memungkinkan Anda mengonfigurasi daftar hitam atau daftar putih untuk gerbang masuk guna mengontrol akses ke aplikasi dalam instans ASM berdasarkan alamat IP sumber, nama domain dalam permintaan HTTP, port, dan blok IP remote. Fitur ini membantu menjaga keamanan aplikasi dalam instans ASM. Topik ini menjelaskan cara mengonfigurasi daftar hitam atau daftar putih untuk gerbang masuk agar menolak atau mengizinkan permintaan dari alamat IP sumber tertentu.
Prasyarat
Aplikasi telah dideploy di kluster Container Service for Kubernetes (ACK) yang ditambahkan ke instans ASM Anda. Untuk informasi selengkapnya, lihat Deploy aplikasi ke kluster yang terkait dengan ASM.
Deskripsi aturan pencocokan
Permintaan yang terkena dampak daftar hitam atau daftar putih harus sesuai dengan salah satu aturan dan memenuhi semua kriteria dalam aturan tersebut.
Jika fitur daftar hitam atau daftar putih dinonaktifkan, aturan otorisasi terkait akan secara otomatis dihapus.
Nama domain dalam permintaan HTTP, atau nama host, mendukung pencocokan eksak, pencocokan awalan, dan pencocokan akhiran. Contoh:
Pencocokan eksak: aliyun.com
Pencocokan awalan: aliyun*
Pencocokan akhiran: *aliyun.com
Dapatkan alamat IP sumber klien tertentu menggunakan log gerbang masuk
Untuk lalu lintas utara-selatan, permintaan klien pertama kali dikirim ke load balancer, diteruskan ke gerbang masuk, lalu ke layanan backend. Karena keterlibatan gerbang masuk, proses mendapatkan alamat IP sumber klien menjadi lebih rumit. Untuk informasi selengkapnya tentang cara mempertahankan alamat IP sumber pada lalu lintas utara-selatan, lihat Skenario 2: lalu lintas utara-selatan.
Buka browser dan masukkan http://{IP address of your ingress gateway}/productpage di bilah alamat untuk mengakses layanan productpage. Log akses kemudian akan dihasilkan.
Untuk informasi selengkapnya tentang cara mendapatkan alamat IP gerbang masuk Anda, lihat Dapatkan alamat IP gerbang masuk.
Jalankan perintah berikut untuk mendapatkan log akses gerbang masuk menggunakan file kubeconfig kluster pada bidang data:
kubectl -n istio-system logs ${Name of the pod to which the ingress gateway belongs} -c istio-proxy | grep "/productpage" | tail -n 1Contoh output:
{"method":"GET","authority":"47.99.XXX.XXX","response_flags":"-","start_time":"XXXXXX","requested_server_name":null,"request_id":"*****","upstream_local_address":null,"duration":0,"downstream_local_address":"10.34.0.25:80","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.X.X Safari/537.36","upstream_host":null,"bytes_received":0,"istio_policy_status":null,"protocol":"HTTP/1.1","bytes_sent":19,"downstream_remote_address":"XXXXXXX","response_code":403,"x_forwarded_for":"112.124.XXX.XX","upstream_cluster":"outbound|9080||productpage.default.svc.cluster.local","trace_id":null,"path":"/productpage","upstream_transport_failure_reason":null,"upstream_service_time":null,"route_name":null}Nilai
downstream_remote_addressdalam contoh output tersebut adalah alamat IP sumber klien.
Konfigurasi daftar hitam untuk gerbang masuk agar menolak permintaan dari alamat IP sumber klien tertentu
-
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih .
-
Pada halaman Ingress Gateway, klik nama gerbang target. Pada halaman ikhtisar yang muncul, pilih dari panel navigasi sebelah kiri.
-
Pada wizard Black/White List Matching Rules, aktifkan sakelar Enable Black/White List. Atur Match Mode ke Black List. Aktifkan sakelar IPBlock, masukkan alamat IP sumber klien, lalu klik Submit.
CatatanUntuk mengonfigurasi beberapa aturan pencocokan, klik Add Request Matching Rule untuk memblokir atau mengizinkan beberapa jenis permintaan secara bersamaan.
Setelah konfigurasi selesai, pesan Gateway Black/White List created successfully akan muncul, yang menunjukkan bahwa kebijakan telah aktif. Anda dapat mengklik View YAML di sebelah kanan AuthorizationPolicy untuk melihat detail konfigurasi.
-
Masukkan http://{IP address of your ingress gateway}/productpage di bilah alamat browser Anda untuk mengakses layanan productpage.
Jika pesan berikut muncul, berarti daftar hitam telah berlaku.
RBAC: access denied
Konfigurasi daftar putih untuk gerbang masuk agar hanya mengizinkan permintaan dari alamat IP sumber klien tertentu
Metode konfigurasi daftar putih mirip dengan konfigurasi daftar hitam, kecuali mode pencocokannya berbeda.
-
Pada halaman Ingress Gateway, klik nama gerbang target. Pada halaman ikhtisar yang muncul, pilih dari panel navigasi sebelah kiri.
-
Pada wizard Black/White List Matching Rules, atur Match Mode ke White list, lalu klik Submit.
-
Akses layanan productpage.
Masukkan http://{IP address of your ingress gateway}/productpage di bilah alamat browser Anda.
Anda dapat mengakses layanan productpage.
-
Dari klien dengan alamat IP berbeda, masukkan http://{Your ingress gateway IP address}/productpage di browser Anda.
Tanggapan berikut akan muncul, yang menunjukkan bahwa akses dari alamat IP klien lainnya ditolak dan aturan daftar putih telah aktif.
RBAC: access denied
Referensi
ASM memungkinkan Anda mengumpulkan log akses gerbang masuk. Untuk informasi selengkapnya, lihat Hasilkan dan kumpulkan log akses gerbang ASM.