Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Zero Trust adalah strategi keamanan. Ini bukan produk atau layanan, tetapi pendekatan dalam merancang dan menerapkan serangkaian prinsip keamanan berikut.
| Prinsip | Deskripsi |
|---|---|
| Verifikasi secara eksplisit | Selalu autentikasi dan otorisasi berdasarkan semua titik data yang tersedia. |
| Gunakan akses hak istimewa paling sedikit | Batasi akses pengguna dengan Just-In-Time dan Just-Enough-Access (JIT/JEA), kebijakan adaptif berbasis risiko, dan perlindungan data. |
| Asumsikan pelanggaran | Memperkecil radius ledakan dan membagi akses. Verifikasi enkripsi menyeluruh dan gunakan analitik untuk mendapatkan visibilitas, mendorong deteksi ancaman, dan meningkatkan pertahanan. |
Dengan Zero Trust, Anda beralih dari perspektif kepercayaan-dasar ke perspektif kepercayaan-berdasarkan-pengecualian. Kemampuan terintegrasi untuk mengelola pengecualian dan pemberitahuan tersebut secara otomatis penting. Anda dapat dengan lebih mudah mendeteksi ancaman, menanggapi ancaman, dan mencegah atau memblokir peristiwa yang tidak diinginkan di seluruh organisasi Anda.
Jaringan cloud Azure dirancang dengan beberapa lapisan segmentasi yang dapat bertindak sebagai batas atau zona kepercayaan. Untuk informasi selengkapnya tentang mensegmentasi jaringan berbasis Azure Anda menggunakan prinsip Zero Trust, lihat Menerapkan prinsip Zero Trust untuk mensegmentasi komunikasi jaringan berbasis Azure.
Model Kematangan Zero Trust
Model Kematangan Zero Trust dari Cybersecurity & Infrastructure Security Agency (CISA) ditopang oleh lima pilar, yang mencakup fungsi-fungsi yang bertujuan untuk meningkatkan area perlindungan Zero Trust. Untuk informasi selengkapnya, lihat Mengonfigurasi layanan cloud Microsoft untuk Model Kematangan Kepercayaan Nol CISA
- Identitas
- Perangkat
- Jaringan
- Aplikasi dan beban kerja
- Data Informasi
Pilar-pilar tersebut meliputi empat tahap perjalanan ZTMM. Untuk informasi selengkapnya, lihat tahap perjalanan ZTMM.
- Tradisional
- Awal
- Tingkat Lanjut
- Optimal
Empat tahap berlaku untuk pilar Jaringan sebagai berikut:
| Panggung | Pilar jaringan |
|---|---|
| Tradisional | - Perimeter besar / segmentasi makro - Ketahanan terbatas dan aturan dan konfigurasi yang dikelola secara manual |
| Awal | - Isolasi awal beban kerja kritis - Kemampuan jaringan mengelola permintaan ketersediaan untuk lebih banyak aplikasi - Konfigurasi jaringan dinamis parsial |
| Tingkat Lanjut | - Memperluas mekanisme isolasi dan ketahanan - Konfigurasi beradaptasi berdasarkan penilaian profil aplikasi yang sadar risiko |
| Terbaik | - Mendistribusikan perimeter mikro dengan tepat waktu dan kontrol akses yang cukup dan ketahanan proporsional - Konfigurasi berkembang untuk memenuhi kebutuhan profil aplikasi |
Bagaimana Anda dapat menggunakan analitik lalu lintas untuk mencapai keamanan Zero Trust?
Analitik Lalu Lintas memberikan wawasan tentang arus lalu lintas jaringan dalam lingkungan Azure Anda. Ini menggunakan log alur jaringan virtual dan melakukan agregasi untuk mengurangi volume data sambil mempertahankan pola lalu lintas utama. Log agregat kemudian diperkaya dengan informasi geografis, keamanan, dan topologi dan disimpan di ruang kerja Analitik Log.
Pola lalu lintas divisualisasikan menggunakan dasbor bawaan, dengan fleksibilitas untuk menyesuaikan wawasan lalu lintas menggunakan Azure Workbooks. Dasbor analitik lalu lintas juga memungkinkan Anda mengonfigurasi pemberitahuan dan memulai penyelidikan sebagai respons terhadap potensi pelanggaran keamanan.
Memantau lalu lintas jaringan: Ambil lalu lintas masuk dan keluar menggunakan log alur, dan gunakan analitik lalu lintas untuk memproses dan memvisualisasikan data ini. Dapatkan wawasan tentang pola komunikasi, penggunaan bandwidth, dan arus lalu lintas di seluruh beban kerja.
Identifikasi pola komunikasi beban kerja: Analisis data analitik lalu lintas untuk memahami bagaimana sumber daya berkomunikasi dalam dan di seluruh penyewa, wilayah langganan, jaringan virtual, subnet, protokol, grup, layanan, dan aplikasi berbasis keamanan. Identifikasi pola lalu lintas yang tidak perlu atau anomali yang dapat menunjukkan potensi risiko keamanan.
Visualisasi yang berwawasan: Gunakan visualisasi bawaan dan dapat disesuaikan dalam analitik lalu lintas untuk menjelajahi pola lalu lintas dan mendeteksi anomali secara lebih efektif.
Mendeteksi IP/sumber daya yang disusupi: Gunakan analitik lalu lintas untuk mengidentifikasi alamat IP atau sumber daya yang berpotensi disusupi, membantu memperkuat keamanan dan menjaga performa.
Bagaimana cara menyebarkan Segmentasi Zero Trust (ZTS) dengan Analitik Lalu Lintas?
Sebagai langkah krusial pertama untuk menerapkan Segmentasi Zero Trust pada penyebaran Azure yang sudah ada atau baru, pengguna perlu
Amati pola melalui Analitik Lalu Lintas: Analisis Log Alur untuk mengidentifikasi pola lalu lintas yang penting untuk beban kerja Anda.
Mulailah dengan sikap tolak default: Ini dimulai dengan menghapus atau menonaktifkan semua aturan masuk dan keluar yang ada yang memungkinkan lalu lintas secara luas (misalnya, Izinkan Semua, Izinkan) dan menambahkan aturan tolak eksplisit untuk lalu lintas masuk dan keluar.
Buat aturan izin selektif: Berdasarkan wawasan dari Analitik Lalu Lintas, tentukan aturan yang secara eksplisit hanya mengizinkan lalu lintas yang diamati dan diperlukan. Pendekatan ini memastikan bahwa hanya lalu lintas yang divalidasi dan diperlukan yang diizinkan, selaras dengan prinsip Zero Trust untuk Memverifikasi secara eksplisit.
Bagian berikut menyoroti skenario utama di mana analitik lalu lintas mendukung segmentasi untuk membantu menerapkan prinsip Zero Trust di Azure.
Skenario 1: Mendeteksi lalu lintas yang mengalir melalui wilayah berisiko atau terbatas
Gunakan analitik lalu lintas untuk mendeteksi lalu lintas masuk atau keluar ke wilayah berisiko tinggi seperti yang didefinisikan oleh kebijakan organisasi Anda. Misalnya, Anda dapat mengidentifikasi lalu lintas yang mengalir ke atau dari wilayah yang dianggap sensitif atau dibatasi berdasarkan persyaratan keamanan dan kepatuhan organisasi Anda.
let ExternalIps = NTAIpDetails
| where Location in ("country1", "country2")
| where FlowType in ("MaliciousFlow", "ExternalPublic")
//and FlowIntervalStartTime between (datetime('{timeInterval') .. datetime('{timeInterval'))
| project-away
TimeGenerated,
SubType,
FaSchemaVersion,
FlowIntervalEndTime,
FlowIntervalStartTime,
FlowType,
Type
| distinct Ip, ThreatType, DnsDomain, ThreatDescription, Location, PublicIpDetails, Url;
let ExternalFlows = NTANetAnalytics
//| where FlowStartTime between (datetime('{timeInterval}') .. datetime('{timeInterval}'))
| where SubType == "FlowLog" and FlowType in ("ExternalPublic", "MaliciousFlow")
| extend PublicIP = SrcPublicIps
| extend ExtractedIPs = split(PublicIP, " ") // Split IPs by spaces
| mv-expand ExtractedIPs // Expand into multiple rows
| extend IP = tostring(split(ExtractedIPs, "|")[0])
| extend AllSrcIps = coalesce(SrcIp, IP)
| project
AllSrcIps,
DestIp,
SrcVm,
DestVm,
SrcSubscription,
DestSubscription,FlowType;
let SrcMalicious = ExternalFlows
| lookup kind=inner ExternalIps on $left.AllSrcIps == $right.Ip
| extend CompromisedVM = iff(isnotempty(DestVm),strcat("/subscriptions/",DestSubscription,"/resourceGroups/",tostring(split(DestVm,"/")[0]),"/providers/Microsoft.Compute/virtualMachines/",tostring(split(DestVm,"/")[1])),'')
| project
SrcExternalIp = strcat('🌐 ', AllSrcIps),
DestCompromisedIp = strcat('🖥️', DestIp),
CompromisedVM,
PublicIpDetails,
FlowType,
ThreatType,
DnsDomain,
ThreatDescription,
Location,
Url;
SrcMalicious
| summarize count() by SrcExternalIp ,DestCompromisedIp, CompromisedVM,
PublicIpDetails,
FlowType,
ThreatType,
DnsDomain,
ThreatDescription,
Location,
Url
Skenario 2: Mencapai segmentasi lalu lintas berdasarkan interaksi layanan Azure
Gunakan analitik lalu lintas untuk mendapatkan pandangan langsung tentang bagaimana beban kerja yang berbeda berinteraksi dengan layanan Azure. Misalnya, beban kerja SAP mungkin berkomunikasi dengan infrastruktur Azure Arc, sementara beban kerja lainnya, seperti lingkungan pengembangan atau layanan produktivitas, berinteraksi dengan Azure Monitor. Wawasan ini membantu Anda memahami dependensi layanan, mendeteksi pola lalu lintas yang tidak terduga atau anomali, dan menerapkan kebijakan keamanan yang lebih terperinci melalui segmentasi mikro.
let SpecificServices = NTAIpDetails
| where FlowType == "AzurePublic"
| where FlowIntervalStartTime > ago(4h)
| project Ip, PublicIpDetails;
let PublicIPs = NTANetAnalytics
| where SubType == 'FlowLog'
| where FlowIntervalStartTime > ago(4h)
| where(isnotempty(SrcPublicIps) or isnotempty(DestPublicIps))
| extend PublicIP = coalesce(SrcPublicIps, DestPublicIps), Vnet = iff(isnotempty(SrcSubnet), strcat("/subscriptions/", SrcSubscription, "/resourceGroups/", tostring(split(SrcSubnet, "/")[0]), "/providers/Microsoft.Network/virtualNetworks/", tostring(split(SrcSubnet, "/")[1])), iff(isnotempty(DestSubnet), strcat("/subscriptions/", DestSubscription, "/resourceGroups/", tostring(split(DestSubnet, "/")[0]), "/providers/Microsoft.Network/virtualNetworks/", tostring(split(DestSubnet, "/")[1])),''))
| extend ExtractedIPs = split(PublicIP, " ") // Split IPs by spaces
| mv-expand ExtractedIPs // Expand into multiple rows
| extend IP = tostring(split(ExtractedIPs, "|")[0]) // Extract IP address
| lookup kind=inner SpecificServices on $left.IP == $right.Ip
| project Vnet, PublicIpDetails;
PublicIPs
| summarize CounterValue = count() by Vnet, PublicIpDetails
| top 100 by CounterValue desc
Skenario 3: Mengidentifikasi radius ledakan jika terjadi pelanggaran jaringan
Gunakan analitik lalu lintas untuk melacak jalur alamat IP yang berpotensi berbahaya yang mencoba berkomunikasi dengan sumber daya Anda. Jika terjadi komputer virtual (VM) yang disusupi, analitik lalu lintas dapat membantu memetakan semua komunikasi yang dimulai oleh VM tersebut selama 24 jam terakhir, membantu mengidentifikasi potensi penyelundupan data dan membatasi radius ledakan.
Kueri berikut mengidentifikasi semua alamat IP langsung dan tidak langsung yang berinteraksi dengan alur berbahaya dari geografi berisiko tinggi:
let MAliciousIps = NTAIpDetails
| where FlowIntervalStartTime between (datetime('{timeInterval:startISO}') .. datetime('{timeInterval:endISO}'))
| where FlowType == "MaliciousFlow"
| distinct Ip;
let MaliciousFlows = NTANetAnalytics
| where FlowStartTime between (todatetime('{timeInterval:startISO}') .. todatetime('{timeInterval:endISO}'))
| where SubType == "FlowLog" and FlowType == "MaliciousFlow"
| project SrcIp, DestIp, FlowLogResourceId, TargetResourceId;
let SrcMalicious = MaliciousFlows
| lookup kind=leftouter MAliciousIps on $left.SrcIp == $right.Ip
| project SrcIp, DestIp;
let DestMalicious = MaliciousFlows
| lookup kind=leftouter MAliciousIps on $left.DestIp == $right.Ip
| project SrcIp, DestIp;
let MaliciousIps = SrcMalicious
| union DestMalicious
| distinct *;
let SpecificCountryIPs = NTAIpDetails
| where Location in ("country1", "country2")
| project Ip;
let SrcIpCountry = SpecificCountryIPs
| join kind=inner NTANetAnalytics on $left.Ip == $right.SrcIp
| project SrcIp, DestIp;
let DestIpCountry = SpecificCountryIPs
| join kind=inner NTANetAnalytics on $left.Ip == $right.DestIp
| project SrcIp, DestIp;
let SpecificCountryFlows = SrcIpCountry
| union DestIpCountry;
let MaliciousFlowsObserved = MaliciousIps
| union SpecificCountryFlows
| distinct SrcIp, DestIp;
let MaliciousFlowsTransitive = MaliciousFlowsObserved
| join kind=inner MaliciousFlowsObserved on $left.DestIp == $right.SrcIp
| project SrcIp, DestIp = DestIp1
| distinct SrcIp, DestIp;
let MaliciousFlowsObserved1 = MaliciousFlowsObserved
| union MaliciousFlowsTransitive
| distinct SrcIp, DestIp;
let MaliciousFlowsTransitive1 = MaliciousFlowsObserved1
| join kind=inner MaliciousFlowsObserved1 on $left.DestIp == $right.SrcIp
| project SrcIp, DestIp = DestIp1
| distinct SrcIp, DestIp;
let MaliciousFlowsObserved2 = MaliciousFlowsObserved1
| union MaliciousFlowsTransitive1
| distinct SrcIp, DestIp;
MaliciousFlowsObserved2
| project SrcIp = strcat('🖥️ ', SrcIp), DestIp = strcat('🖥️ ', DestIp)
Skenario 4: Terapkan batas langganan
Gunakan analitik lalu lintas untuk menerapkan batas langganan dan memastikan bahwa lalu lintas antara langganan Azure yang berbeda disegmentasi dengan benar.
NTANetAnalytics
| where SubType == "FlowLog" and FlowType !in ("AzurePublic","ExternalPublic","Unknown","UnknownPrivate") // Filter to flows for which we know the Subscription Details
| where FlowStartTime between (start .. end)
| where AclGroup !contains "Unspecified"
|extend Dest = iff(isnotempty(DestSubnet),strcat("/subscriptions/",DestSubscription,"/resourceGroups/",tostring(split(DestSubnet,"/")[0]),"/providers/Microsoft.Network/virtualNetworks/",tostring(split(DestSubnet,"/")[1])),'')
| extend Src = iff(isnotempty(SrcSubnet),strcat("/subscriptions/",SrcSubscription,"/resourceGroups/",tostring(split(SrcSubnet,"/")[0]),"/providers/Microsoft.Network/virtualNetworks/",tostring(split(SrcSubnet,"/")[1])),'')
| extend SrcSubscription = strcat("/subscriptions/",SrcSubscription), DestSubscription = strcat("/subscriptions/",DestSubscription)
| where SrcSubscription != DestSubscription // Cross Subscription
| summarize Flows = sum(CompletedFlows) by Src, Dest, SrcSubscription, DestSubscription, AclGroup,AclRule, FlowType
//| top 10 by Flows