Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, üretici yazılımı görüntülerini üretici yazılımı analizine yüklemek için Azure CLI'nin nasıl kullanılacağı açıklanmaktadır.
Üretici yazılımı analizi , üretici yazılımı görüntülerini analiz eden ve üretici yazılımı görüntülerindeki güvenlik açıklarını anlayan bir araçtır.
Önkoşullar
Bu hızlı başlangıçta üretici yazılımı analizi hakkında temel bilgiler edineceksiniz. Daha fazla bilgi için bkz . Cihaz oluşturucuları için üretici yazılımı analizi. Desteklenen dosya sistemlerinin listesi için bkz . Üretici yazılımı analizi hakkında sık sorulan sorular.
Ortamınızı Azure CLI’ye hazırlama
CLI komutlarını yerel olarak çalıştırmak için Azure CLI'yi yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
az login komutunu kullanarak Azure CLI'da oturum açın . Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
- Aşağıdaki komutu çalıştırarak üretici yazılımı çözümleme uzantısını yükleyin:
az extension add --name firmwareanalysis
- Aşağıdaki komutu çalıştırarak üretici yazılımı çözümleme uzantısını yükleyin:
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
az account set komutunu çalıştırarak üretici yazılımı görüntülerinizi karşıya yüklemek istediğiniz uygun abonelik kimliğini seçin.
Çalışma alanına üretici yazılımı görüntüsü yükleme
Benzersiz bir aygıt yazılımı kimliği olarak kullanmak için bir GUID oluşturun. Örneğin:
python -c "import uuid; print(uuid.uuid4())"
Sonraki örneklerde komutun çıkışını üretici yazılımı kimliği olarak kullanın
Karşıya yüklenecek bir üretici yazılımı görüntüsü oluşturun. Kaynak grubu adınızı, abonelik kimliğinizi ve çalışma alanı adınızı ilgili parametrelere ekleyin.
az firmwareanalysis firmware create --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id {firmware ID from command above} --vendor {vendor name} --model {model name} --version {version number}
Bu komutun çıktısı, üretici yazılımı kimliğiniz olan bir name özelliği içerir.
Bu kimliği sonraki komut için kaydedin.
Bir sonraki adımda üretici yazılımı görüntünüzü Azure Depolama'ya göndermek için kullanacağınız bir SAS URL'si oluşturun. değerini önceki adımda kaydettiğiniz üretici yazılımı kimliğiyle değiştirin
sampleFirmwareID. Gelecekteki komutlar için daha kolay erişim için SAS URL'sini bir değişkende depolayabilirsiniz:set resourceGroup=myResourceGroup set subscription=123e4567-e89b-12d3-a456-426614174000 set workspace=default set firmwareID=sampleFirmwareID for /f "tokens=*" %i in ('az firmwareanalysis workspace generate-upload-url --resource-group %resourceGroup% --subscription %subscription% --workspace-name %workspace% --firmware-id %firmwareID% --query "url"') do set sasURL=%iÜretici yazılımı görüntünüzü Azure Depolama'ya yükleyin. öğesini yerel makinenizdeki üretici yazılımı görüntünüzün yoluyla değiştirin
pathToFile.az storage blob upload -f "pathToFile" --blob-url %sasURL%
Aşağıda, bir üretici yazılımı görüntüsü oluşturmak ve karşıya yüklemek için bu komutları nasıl kullanabileceğinize yönelik örnek bir iş akışı verilmiştir. CLI komutlarında değişkenleri kullanma hakkında daha fazla bilgi edinmek için Bkz . Azure CLI komutlarında değişkenleri kullanma:
set filePath="/path/to/image"
set resourceGroup="myResourceGroup"
set workspace="default"
set fileName="file1"
set vendor="vendor1"
set model="model"
set version="test"
for /f "tokens=*" %i in ('az firmwareanalysis firmware create --resource-group %resourceGroup% --workspace-name %workspace% --file-name %fileName% --vendor %vendor% --model %model% --version %version% --query "name"') do set FWID=%i
for /f "tokens=*" %i in ('az firmwareanalysis workspace generate-upload-url --resource-group %resourceGroup% --workspace-name %workspace% --firmware-id %FWID% --query "url"') do set URL=%i
az storage blob upload -f %filePath% --blob-url %URL%
Üretici yazılımı analizi sonuçlarını alma
Üretici yazılımı çözümleme sonuçlarını almak için analizin durumunun "Hazır" olduğundan emin olmanız gerekir:
az firmwareanalysis firmware show --firmware-id sampleFirmwareID --resource-group myResourceGroup --workspace-name default
"Hazır" ifadesini görüntülemek için "durum" alanını arayın, ardından üretici yazılımı çözümleme sonuçlarınızı almak için aşağıdaki komutları çalıştırın.
Çözümlemenizin durumunu denetleme işlemini otomatikleştirmek istiyorsanız komutunu kullanabilirsiniz az resource wait .
Komutun az resource wait bir --timeout parametresi vardır. Bu, zaman aşımı çerçevesinde "durum" "Hazır" durumuna ulaşmazsa çözümlemenin biteceği saniye sayısıdır. Varsayılan zaman aşımı 3600'dür ve bu da bir saattir. Büyük görüntülerin analiz edilmesi daha uzun sürebilir, bu nedenle zaman aşımını ihtiyaçlarınıza göre parametresini --timeout kullanarak ayarlayabilirsiniz. Zaten bir üretici yazılımı oluşturduğunuzu az resource wait ve üretici yazılımı kimliğini adlı --timeoutbir değişkende depoladığınız varsayılarak analizinizin durumunu denetlemeyi otomatikleştirmek için parametresiyle $FWID komutunu nasıl kullanabileceğinize ilişkin bir örnek aşağıda verilmiştır:
set resourceGroup="myResourceGroup"
set workspace="default"
set FWID="yourFirmwareID"
for /f "tokens=*" %i in ('az firmwareanalysis firmware show --resource-group %resourceGroup% --workspace-name %workspace% --firmware-id %FWID% --query "id"') do set ID=%i
echo Successfully created a firmware image with the firmware ID of %FWID%, recognized in Azure by this resource ID: %ID%.
for /f "tokens=*" %i in ('az resource wait --ids %ID% --custom "properties.status=='Ready'" --timeout 10800') do set WAIT=%i
for /f "tokens=*" %i in ('az resource show --ids %ID% --query "properties.status"') do set STATUS=%i
echo firmware analysis completed with status: %STATUS%
Analiz durumunuzun "Hazır" olduğunu onayladıktan sonra, sonuçları çekmek için komutları çalıştırabilirsiniz.
Donanım yazılımı özeti
Aşağıdaki komut, üretici yazılımı çözümleme sonuçlarınızdan genel bir özet çıkarır. Her bağımsız değişkeni kaynak grubunuz, çalışma alanı adınız ve aygıt yazılımı ID'niz için gerekli değerle değiştirin.
az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type Firmware
80 milyon TL
Aşağıdaki komut, üretici yazılımı görüntünüzdeki SBOM'yi alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.
az firmwareanalysis firmware sbom-component --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Zayıf yanları
Aşağıdaki komut, üretici yazılımı görüntünüzde bulunan CVE'leri alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.
az firmwareanalysis firmware cve --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
CVE'lerinizin özeti için aşağıdaki komutu çalıştırın:
az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type CommonVulnerabilitiesAndExposures
İkili sağlamlaştırma
Aşağıdaki komut, üretici yazılımı görüntünüzdeki ikili sağlamlaştırmayla ilgili analiz sonuçlarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.
az firmwareanalysis firmware binary-hardening --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
İkili sağlamlaştırma sonuçlarınızın özeti için aşağıdaki komutu çalıştırın:
az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type BinaryHardening
Parola karmaları
Aşağıdaki komut, üretici yazılımı görüntünüzdeki parola karmalarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.
az firmwareanalysis firmware password-hash --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Sertifikalar
Aşağıdaki komut, üretici yazılımı görüntünüzde bulunan güvenlik açığı bulunan şifreleme sertifikalarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.
az firmwareanalysis firmware crypto-certificate --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Sertifikalarınızın özeti için aşağıdaki komutu çalıştırın:
az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type CryptoCertificate
Anahtarlar
Aşağıdaki komut, üretici yazılımı görüntünüzde bulunan güvenlik açığı bulunan şifreleme anahtarlarını alır. Her bağımsız değişkeni kaynak grubunuz, aboneliğiniz, çalışma alanı adınız ve üretici yazılımı kimliğiniz için uygun değerle değiştirin.
az firmwareanalysis firmware crypto-key --resource-group myResourceGroup --subscription 123e4567-e89b-12d3-a456-426614174000 --workspace-name default --firmware-id sampleFirmwareID
Anahtarlarınızın özeti için aşağıdaki komutu çalıştırın:
az firmwareanalysis firmware summary --resource-group myResourceGroup --workspace-name default --firmware-id 123e4567-e89b-12d3-a456-426614174000 --summary-type CryptoKey