Bagikan melalui


IoT Edge untuk Linux pada keamanan Windows

Berlaku untuk:Tanda centang IoT Edge 1.4 IoT Edge 1.4

Penting

IoT Edge 1.5 LTS dan IoT Edge 1.4 adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.

Azure IoT Edge untuk Linux di Windows mendapat manfaat dari semua penawaran keamanan agar tidak berjalan pada host Klien/Server Windows dan memastikan semua komponen tambahan menjaga tempat keamanan yang sama. Artikel ini menyediakan informasi tentang berbagai tempat keamanan yang diaktifkan secara default, dan beberapa lokal opsional yang mungkin diaktifkan pengguna.

Keamanan mesin virtual

Komputer virtual yang dikumpulkan IoT Edge untuk Linux (EFLOW) didasarkan pada Microsoft CBL-Mariner. CBL-Mariner adalah distribusi Linux internal untuk infrastruktur cloud Microsoft dan produk dan layanan edge. CBL-Mariner dirancang untuk menyediakan platform yang konsisten untuk perangkat dan layanan ini dan meningkatkan kemampuan Microsoft untuk tetap terkini pada pembaruan Linux. Untuk informasi selengkapnya, lihat Keamanan CBL-Mariner.

Komputer virtual EFLOW dibangun di atas platform keamanan komprehensif empat titik:

  1. Pembaruan layanan
  2. Sistem file akar baca-saja
  3. Penguncian firewall
  4. DM-Verity

Pembaruan layanan

Ketika kerentanan keamanan muncul, CBL-Mariner membuat patch dan perbaikan keamanan terbaru tersedia untuk dilayankan melalui pembaruan bulanan ELOW. Komputer virtual tidak memiliki manajer paket, jadi tidak dimungkinkan untuk mengunduh dan menginstal paket RPM secara manual. Semua pembaruan untuk komputer virtual diinstal menggunakan mekanisme pembaruan EFLOW A/B. Untuk informasi selengkapnya tentang pembaruan EFLOW, lihat Memperbarui IoT Edge untuk Linux di Windows

Sistem file akar baca-saja

Komputer virtual EFLOW terdiri dari dua rootf partisi utama, dan data. Partisi rootFS-A atau rootFS-B dapat dipertukarkan dan salah satu dari keduanya dipasang sebagai sistem file baca-saja di /, yang berarti bahwa tidak ada perubahan yang diizinkan pada file yang disimpan di dalam partisi ini. Di sisi lain, partisi data yang dipasang di bawah /var dapat dibaca dan dapat ditulis, memungkinkan pengguna untuk memodifikasi konten di dalam partisi. Data yang disimpan pada partisi ini tidak dimanipulasi oleh proses pembaruan dan karenanya tidak akan dimodifikasi di seluruh pembaruan.

Karena Anda mungkin perlu menulis akses ke /etc, /home, /root, /var untuk kasus penggunaan tertentu, akses tulis untuk direktori ini dilakukan dengan melapisinya ke partisi data kami khusus ke direktori /var/.eflow/overlays. Hasil akhirnya dari ini adalah bahwa pengguna dapat menulis apa pun ke direktori yang disebutkan sebelumnya. Untuk informasi selengkapnya tentang overlay, lihat overlayf.

Tata letak partisi CR EFLOW

Partisi Ukuran Deskripsi
BootEFIA 8 MB Partisi firmware A untuk boot GRUBless di masa mendatang
BootA 192 MB Berisi bootloader untuk partisi
RootFS A 4 GB Salah satu dari dua partisi aktif/pasif yang memegang sistem file akar
BootEFIB 8 MB Partisi firmware B untuk boot GRUBless di masa mendatang
Bootb 192 MB Berisi bootloader untuk partisi B
RootFS B 4 GB Salah satu dari dua partisi aktif/pasif yang memegang sistem file akar
Log 1 GB atau 6 GB Mencatat partisi tertentu yang dipasang di bawah /logs
Data 2 GB hingga 2 TB Partisi stateful untuk menyimpan data persisten di seluruh pembaruan. Dapat diperluas sesuai dengan konfigurasi penyebaran

Catatan

Tata letak partisi mewakili ukuran disk logis dan tidak menunjukkan ruang fisik yang akan diduduki komputer virtual pada disk OS host.

Firewall

Secara default, komputer virtual EFLOW menggunakan utilitas iptables untuk konfigurasi firewall. Iptables digunakan untuk menyiapkan, memelihara, dan memeriksa tabel aturan filter paket IP di kernel Linux. Implementasi default hanya memungkinkan lalu lintas masuk pada port 22 (layanan SSH) dan memblokir lalu lintas sebaliknya. Anda dapat memeriksa konfigurasi iptables dengan langkah-langkah berikut:

  1. Membuka sesi PowerShell yang ditingkatkan

  2. Koneksi ke komputer virtual EFLOW

    Connect-EflowVm
    
  3. Mencantumkan semua aturan iptables

    sudo iptables -L
    

    Default iptable EFLOW

Boot terverifikasi

Komputer virtual EFLOW mendukung boot terverifikasi melalui fitur kernel device-mapper-verity (dm-verity) yang disertakan, yang menyediakan pemeriksaan integritas transparan perangkat blok. dm-verity membantu mencegah rootkit persisten yang dapat menahan hak istimewa root dan membahayakan perangkat. Fitur ini memastikan gambar perangkat lunak dasar komputer virtual itu sama dan tidak diubah. Komputer virtual menggunakan fitur dm-verity untuk memeriksa perangkat blok tertentu, lapisan penyimpanan yang mendasar dari sistem file, dan menentukan apakah cocok dengan konfigurasi yang diharapkan.

Secara default, fitur ini dinonaktifkan di komputer virtual, dan dapat diaktifkan atau dinonaktifkan. Untuk informasi selengkapnya, lihat dm-verity.

Modul platform tepercaya (TPM)

Teknologi modul platform tepercaya (TPM) dirancang untuk menyediakan fungsi terkait keamanan berbasis perangkat keras. Chip TPM adalah prosesor kripto aman yang dirancang untuk melakukan operasi kriptografi. Chip ini mencakup beberapa mekanisme keamanan fisik untuk membuatnya tahan terhadap perubahan, dan perangkat lunak berbahaya tidak dapat mengubah fungsi keamanan TPM.

Komputer virtual EFLOW tidak mendukung vTPM. Namun pengguna dapat mengaktifkan/menonaktifkan fitur passthrough TPM, yang memungkinkan komputer virtual EFLOW menggunakan TPM OS host Windows. Ini memungkinkan dua skenario utama:

Host aman & komunikasi komputer virtual

EFLOW menyediakan beberapa cara untuk berinteraksi dengan komputer virtual dengan mengekspos implementasi modul PowerShell yang kaya. Untuk informasi selengkapnya, lihat Fungsi PowerShell untuk IoT Edge untuk Linux di Windows. Modul ini memerlukan sesi yang ditingkatkan untuk dijalankan, dan ditandatangani menggunakan sertifikat Microsoft Corporation.

Semua komunikasi antara sistem operasi host Windows dan komputer virtual EFLOW yang diperlukan oleh cmdlet PowerShell dilakukan menggunakan saluran SSH. Secara default, layanan SSH komputer virtual tidak akan mengizinkan autentikasi melalui nama pengguna dan kata sandi, dan terbatas pada autentikasi sertifikat. Sertifikat dibuat selama proses penyebaran EFLOW, dan unik untuk setiap penginstalan EFLOW. Selain itu, untuk mencegah serangan brute force SSH, komputer virtual akan memblokir alamat IP jika mencoba lebih dari tiga koneksi per menit ke layanan SSH.

Dalam versi Rilis Berkelanjutan (CR) EFLOW, kami memperkenalkan perubahan dalam saluran transportasi yang digunakan untuk membuat koneksi SSH. Awalnya, layanan SSH berjalan pada port TCP 22, yang dapat diakses oleh semua perangkat eksternal di jaringan yang sama menggunakan soket TCP ke port tertentu. Untuk alasan keamanan, EFLOW CR menjalankan layanan SSH melalui soket Hyper-V alih-alih soket TCP normal. Semua komunikasi melalui soket Hyper-V berjalan antara OS host Windows dan komputer virtual EFLOW, tanpa menggunakan jaringan. Ini membatasi akses layanan SSH, membatasi koneksi hanya ke OS host Windows. Untuk informasi selengkapnya, lihat Soket Hyper-V.

Langkah berikutnya

Baca selengkapnya tentang lokal keamanan Windows IoT

Tetap up-to-date dengan IoT Edge terbaru untuk Linux pada pembaruan Windows.