IoT Edge untuk Linux pada keamanan Windows
Berlaku untuk: 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:
- Pembaruan layanan
- Sistem file akar baca-saja
- Penguncian firewall
- 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.
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:
Membuka sesi PowerShell yang ditingkatkan
Menyambungkan ke komputer virtual EFLOW
Connect-EflowVm
Mencantumkan semua aturan iptables
sudo iptables -L
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:
- Gunakan teknologi TPM untuk provisi perangkat IoT Edge menggunakan Device Provision Service (DPS). Untuk informasi selengkapnya, lihat Membuat dan memprovisikan IoT Edge untuk Linux pada perangkat Windows dalam skala besar dengan menggunakan TPM.
- Akses baca-saja ke kunci kriptografi yang disimpan di dalam TPM. Untuk informasi selengkapnya, lihat Set-EflowVmFeature untuk mengaktifkan passthrough TPM.
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 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.