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.
Penting
Pada tanggal 30 September 2027, pencatatan alur dari kelompok keamanan jaringan (NSG) akan dihentikan. Sebagai bagian dari penghentian layanan ini, Anda tidak akan lagi dapat membuat log alur NSG baru dari mulai 30 Juni 2025. Kami merekomendasikan bermigrasi ke catatan alur jaringan virtual, yang mengatasi keterbatasan catatan alur NSG. Setelah tanggal penghentian, analitik lalu lintas yang diaktifkan dengan log alur NSG tidak akan lagi didukung, dan sumber daya log alur NSG yang ada di langganan Anda akan dihapus. Namun, rekaman log alur NSG tidak akan dihapus dan akan terus mengikuti kebijakan retensi yang berlaku. Untuk informasi selengkapnya, lihat pengumuman resmi.
Log alur kelompok keamanan jaringan menyediakan informasi yang dapat digunakan untuk memahami lalu lintas IP masuk dan keluar pada kelompok keamanan jaringan. Catatan aliran ini menunjukkan aliran keluar dan masuk berdasarkan peraturan, aliran yang diterapkan ke NIC, informasi 5-tuple tentang aliran (IP Asal/Tujuan, Port Asal/Tujuan, Protokol), dan apakah lalu lintas diizinkan atau ditolak.
Log alur ini bisa sulit untuk diurai secara manual dan mendapatkan wawasan darinya. Namun, ada beberapa alat sumber terbuka yang dapat membantu memvisualisasikan data ini. Artikel ini menyediakan solusi untuk memvisualisasikan log ini menggunakan Elastic Stack, yang memungkinkan Anda untuk dengan cepat mengindeks dan memvisualisasikan log alur Anda di dasbor Kibana.
Skenario
Dalam artikel ini, kami menyiapkan solusi yang memungkinkan Anda memvisualisasikan log alur kelompok keamanan jaringan menggunakan Elastic Stack. Plugin input Logstash memperoleh log alur langsung dari blob penyimpanan yang telah dikonfigurasi untuk berisi log alur. Kemudian, menggunakan Elastic Stack, log alur diindeks dan digunakan untuk membuat dasbor Kibana untuk memvisualisasikan informasi.
Langkah-langkah
Mengaktifkan pencatatan alur grup keamanan jaringan
Untuk skenario ini, Anda harus mengaktifkan Pengelogan Alur grup keamanan jaringan pada setidaknya satu grup keamanan jaringan di akun Anda. Untuk petunjuk tentang mengaktifkan Log Alur Keamanan Jaringan, lihat artikel berikut Pengenalan tentang pencatatan alur untuk grup keamanan jaringan.
Siapkan Elastic Stack
Dengan menghubungkan log alur NSG dengan Elastic Stack, kita dapat membuat dasbor Kibana yang memungkinkan kita untuk mencari, membuat grafik, menganalisis, dan memperoleh wawasan dari log kita.
Menginstal ElasticSearch
Instruksi berikut digunakan untuk menginstal Elasticsearch di Ubuntu Azure VM. Untuk petunjuk tentang cara menginstal pencarian elastis di Red Hat Enterprise Linux, lihat Menginstal Elasticsearch dengan RPM.
Elastic Stack dari versi 5.0 ke atas memerlukan Java 8. Jalankan perintah
java -versionuntuk memeriksa versi Anda. Jika Anda belum menginstal Java, lihat dokumentasi tentang JDK yang didukung Azure.Unduh paket biner yang benar untuk sistem Anda:
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.0.deb sudo dpkg -i elasticsearch-5.2.0.deb sudo /etc/init.d/elasticsearch startMetode penginstalan lain dapat ditemukan di Penginstalan Elasticsearch
Verifikasi bahwa Elasticsearch berjalan dengan perintah:
curl http://127.0.0.1:9200Anda akan melihat respons yang mirip dengan yang berikut ini:
{ "name" : "Angela Del Toro", "cluster_name" : "elasticsearch", "version" : { "number" : "5.2.0", "build_hash" : "8ff36d139e16f8720f2947ef62c8167a888992fe", "build_timestamp" : "2016-01-27T13:32:39Z", "build_snapshot" : false, "lucene_version" : "6.1.0" }, "tagline" : "You Know, for Search" }
Untuk instruksi lebih lanjut tentang menginstal pencarian Elastic, lihat Instruksi penginstalan.
Menginstal Logstash
Instruksi berikut digunakan untuk menginstal Logstash di Ubuntu. Untuk petunjuk tentang cara menginstal paket ini di Red Hat Enterprise Linux, lihat artikel Menginstal dari Repositori Paket - yum .
Untuk memasang Logstash, jalankan perintah berikut:
curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-5.2.0.deb sudo dpkg -i logstash-5.2.0.debSelanjutnya kita perlu mengonfigurasi Logstash untuk mengakses dan mengurai log alur. Buat file logstash.conf menggunakan:
sudo touch /etc/logstash/conf.d/logstash.confTambahkan konten berikut ke file:
input { azureblob { storage_account_name => "mystorageaccount" storage_access_key => "VGhpcyBpcyBhIGZha2Uga2V5Lg==" container => "insights-logs-networksecuritygroupflowevent" codec => "json" # Refer https://learn.microsoft.com/azure/network-watcher/network-watcher-read-nsg-flow-logs # Typical numbers could be 21/9 or 12/2 depends on the nsg log file types file_head_bytes => 12 file_tail_bytes => 2 # Enable / tweak these settings when event is too big for codec to handle. # break_json_down_policy => "with_head_tail" # break_json_batch_count => 2 } } filter { split { field => "[records]" } split { field => "[records][properties][flows]"} split { field => "[records][properties][flows][flows]"} split { field => "[records][properties][flows][flows][flowTuples]"} mutate{ split => { "[records][resourceId]" => "/"} add_field => {"Subscription" => "%{[records][resourceId][2]}" "ResourceGroup" => "%{[records][resourceId][4]}" "NetworkSecurityGroup" => "%{[records][resourceId][8]}"} convert => {"Subscription" => "string"} convert => {"ResourceGroup" => "string"} convert => {"NetworkSecurityGroup" => "string"} split => { "[records][properties][flows][flows][flowTuples]" => ","} add_field => { "unixtimestamp" => "%{[records][properties][flows][flows][flowTuples][0]}" "srcIp" => "%{[records][properties][flows][flows][flowTuples][1]}" "destIp" => "%{[records][properties][flows][flows][flowTuples][2]}" "srcPort" => "%{[records][properties][flows][flows][flowTuples][3]}" "destPort" => "%{[records][properties][flows][flows][flowTuples][4]}" "protocol" => "%{[records][properties][flows][flows][flowTuples][5]}" "trafficflow" => "%{[records][properties][flows][flows][flowTuples][6]}" "traffic" => "%{[records][properties][flows][flows][flowTuples][7]}" "flowstate" => "%{[records][properties][flows][flows][flowTuples][8]}" "packetsSourceToDest" => "%{[records][properties][flows][flows][flowTuples][9]}" "bytesSentSourceToDest" => "%{[records][properties][flows][flows][flowTuples][10]}" "packetsDestToSource" => "%{[records][properties][flows][flows][flowTuples][11]}" "bytesSentDestToSource" => "%{[records][properties][flows][flows][flowTuples][12]}" } convert => {"unixtimestamp" => "integer"} convert => {"srcPort" => "integer"} convert => {"destPort" => "integer"} } date{ match => ["unixtimestamp" , "UNIX"] } } output { stdout { codec => rubydebug } elasticsearch { hosts => "localhost" index => "nsg-flow-logs" } }
Untuk petunjuk lebih lanjut tentang menginstal Logstash, lihat dokumentasi resmi.
Pasang plugin input Logstash untuk penyimpanan blob Azure
Plugin Logstash ini memungkinkan Anda untuk langsung mengakses log alur dari akun penyimpanan yang ditunjuk. Untuk menginstal plugin ini, dari direktori penginstalan Logstash default jalankan perintah :
sudo /usr/share/logstash/bin/logstash-plugin install logstash-input-azureblob
Untuk memulai Logstash, jalankan perintah:
sudo /etc/init.d/logstash start
Untuk informasi selengkapnya tentang plugin ini, lihat dokumentasi.
Pasang Kibana
Untuk petunjuk tentang cara menginstal Kibana di Red Hat Enterprise Linux, lihat Menginstal Kibana dengan RPM. Untuk petunjuk tentang cara menginstal Kibana di sistem Ubuntu/Debian menggunakan paket repositori, lihat Menginstal Kibana dari repositori APT.
Kemudian instruksi berikut diuji di Ubuntu dan dapat digunakan dalam distribusi Linux yang berbeda karena tidak spesifik untuk Ubuntu.
Jalankan perintah berikut untuk memasang Kibana:
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-5.2.0-linux-x86_64.tar.gz tar xzvf kibana-5.2.0-linux-x86_64.tar.gzUntuk menjalankan Kibana, gunakan perintah:
cd kibana-5.2.0-linux-x86_64/ ./bin/kibanaUntuk melihat antarmuka web Kibana Anda, navigasi ke
http://localhost:5601Untuk skenario ini, pola indeks yang digunakan untuk log alur adalah "nsg-flow-logs". Anda dapat mengubah pola indeks di bagian "output" dari file logstash.conf Anda.
Jika Anda ingin menampilkan dasbor Kibana dari jarak jauh, buat aturan NSG masuk yang mengizinkan akses ke port 5601.
Membuat dasbor Kibana
Contoh dasbor untuk menampilkan tren dan detail dalam pemberitahuan Anda diperlihatkan dalam gambar berikut:
Unduh file dasbor, file visualisasi, dan file pencarian yang disimpan.
Di bawah tab Manajemen Kibana, navigasi ke Objek Tersimpan dan impor ketiga file tersebut. Kemudian dari tab Dasbor Anda dapat membuka dan memuat dasbor sampel.
Anda juga dapat membuat visualisasi dan dasbor Anda sendiri yang disesuaikan dengan metrik yang Anda minati. Baca selengkapnya tentang membuat visualisasi Kibana dari dokumentasi resmi Kibana.
Visualisasikan alur log NSG
Dasbor sampel menyediakan beberapa visualisasi log alur:
Alur menurut Keputusan/Arah dari Waktu ke Waktu - grafik rangkaian waktu memperlihatkan jumlah alur selama periode waktu tersebut. Anda dapat mengedit satuan waktu dan rentang kedua visualisasi ini. Alur menurut Keputusan menunjukkan proporsi keputusan izinkan atau tolak yang dibuat, sementara Alur menurut Arah menunjukkan proporsi lalu lintas masuk dan keluar. Dengan visual ini, Anda dapat memeriksa tren lalu lintas dari waktu ke waktu dan mencari lonjakan atau pola yang tidak biasa.
Alur menurut Port Tujuan/Sumber – bagan pai memperlihatkan perincian alur ke port tujuan masing-masing. Dengan tampilan ini, Anda dapat melihat port yang paling umum digunakan. Jika Anda mengklik port tertentu dalam bagan pai, bagian lainnya dari dasbor akan memfilter secara khusus ke alur port tersebut.
Jumlah Alur dan Waktu Log Paling Awal – metrik memperlihatkan jumlah alur yang direkam dan tanggal log paling awal yang ditangkap.
Aliran berdasarkan NSG dan Aturan – grafik batang yang menunjukkan distribusi aliran dalam setiap NSG, serta distribusi aturan dalam setiap NSG. , Anda dapat melihat NSG dan aturan mana yang menghasilkan lalu lintas terbanyak.
10 IP Sumber/Tujuan Teratas – bagan batang memperlihatkan 10 IP sumber dan tujuan teratas. Anda dapat menyesuaikan bagan ini untuk memperlihatkan lebih banyak atau sedikit IP teratas. Dari sini, Anda dapat melihat IP yang paling sering muncul dan keputusan lalu lintas (izinkan atau tolak) yang dibuat terhadap setiap IP.
Tuple Arus – tabel yang menunjukkan informasi yang terkandung dalam setiap tuple arus, serta NGS dan aturan yang sesuai dengan tuple tersebut.
Dengan menggunakan bar kueri di bagian atas dasbor, Anda bisa memfilter dasbor berdasarkan parameter alur apa pun, seperti ID langganan, grup sumber daya, aturan, atau variabel menarik lainnya. Untuk informasi selengkapnya tentang kueri dan filter Kibana, lihat dokumentasi resmi
Kesimpulan
Dengan menggabungkan log alur kelompok keamanan jaringan dengan Elastic Stack, kami telah membuat cara yang kuat dan dapat disesuaikan untuk memvisualisasikan lalu lintas jaringan kami. Dasbor ini memungkinkan Anda untuk dengan cepat mendapatkan dan berbagi wawasan tentang lalu lintas jaringan Anda, dan memfilter dan menyelidiki potensi anomali. Dengan menggunakan Kibana, Anda dapat menyesuaikan dasbor ini dan membuat visualisasi khusus untuk memenuhi kebutuhan keamanan, audit, dan kepatuhan apa pun.
Langkah selanjutnya
Pelajari cara memvisualisasikan log alur NSG Anda dengan Power BI dengan mengunjungi Visualisasikan log alur NSG dengan Power BI