Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Загальні відомості

Окрім того, що користувачі, які надають власне SSH-keypairs для перевірки автентичності, платформи Azure в корпорації Майкрософт використовує keypairs SSH, щоб дозволити деякі функції, які додаються на віртуальній машині (VM), під час для розгортання. Нещодавно, ми виявили, що у деяких випадках обмежена відкритих ключів з цих сертифікатів, платформа Windows Azure несподівано додавався до .ssh/authorized_keys файл. Ці сценарії знаходяться в межах лише до ситуації, коли за допомогою хмарних ініціалізації та підготування на Віртуальну, і користувач вибирає, Azure додаткових функцій, які залежать від сертифікатів, як служби, під керуванням системи-посвідчення.

Неочікувані виникають через зміну підготовки логіки певних операційних систем. Сюди належать систем, які використовують ініціалізації на хмари, ненавмисно інсталяції за допомогою відкритого ключа, з всі сертифікати, які доступні до віртуальної машини у ключі, ssh уповноважений файл під час створення на віртуальну Машину. 

Щоб отримати додаткові відомості, перейдіть до CVE-2019-0816.

Додаткова інформація

Сценарій дані.

Хмари і ініціалізації логіки, описане в розділі "Зведення" зараз відомо, існує Azure зображення для Ubuntu 18.04, крім спільних-попередній перегляд RHEL 7.4/7.5/7.6 і CentOS 7,4 хмари ініціалізації та зображення. Він також може існувати в настроювані зображення з використанням цих операційних систем.    Якщо ввімкнути одне з таких функцій, під час передачі даних одне зображення, Linux, може відображатися додаткові, несподіване розділів у файлі .ssh/authorized_keys, як і будь-який з таких дій:

  • Керовані посвідчення

  • Розширення, захищений настройки.

  • Розгортання віртуальної машини з ключем сховища ключів в середовищі VM

Виявлення та видалення наявного-віртуальних машин

Визначення

Щоб перевірити, чи є додаткові розділи, перегляньте файл уповноважений розділи (vi .ssh/authorized_keys-файл), щоб визначити, чи будь-які додаткові розділи, ви не маєте намір включити було додано.

Це можна вручну видалити ssh спільного розділи, додаткові можна було додано. Це не впливає на функції, які розміщуються разом з VM. Крім того, не вплине до вказаного SSH пари для автентифікації.

Не знаєте, або не можуть розрізняти, яких відкритих ключів в .ssh/authorized_keys вказаний файл для перевірки автентичності, виконайте наведені нижче дії:

  1. Перегляньте шаблони для розгортання:

    1. SSH відкритих ключів

    2. SSH розділи у хмарі ініціалізації та конфігурації

  2. Отримання до розгорнутого ssh клавіші під час створення з всередині VM, якщо у вас є доступ до суду/кореневої. Щоб це зробити, виконайте такі дії:

    1. Перевірте передано CustomData конфігурації ініціалізації на хмари. sudo cat /var/lib/waagent/ovf-env.xml | grep "<ns1:CustomData>"За допомогою CustomData значення та натисніть base64 для використання декодувати отримати спільних розділи, які буде розгорнуто. echo "<customData value>" | base64 -D

    2. Також можна перевірити, екземпляр Meta даних служби (IMDS), щоб переглянути в ssh відкритий ключ, яке було вказано на ssh спільні властивості розділу віртуальної машини, створіть: curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/publicKeys?api-version=2018-04-02&format=json"

Видалення

Якщо ви визначили додаткові сертифікати, які не потрібно розгорнути до віртуальної машини, можна видалити ці шляхом видалення відповідний рядок з файлу authorized_keys.

Запускати з виправленням, підключення до віртуальної машини в інтерактивному режимі або за допомогою сценарію розширення користувача "або" в дії на кількох-віртуальних машин.

Віртуальні машини, що розгорнути за допомогою розширення, що мають параметри або на керовані посвідчення

Видалити відкритих ключів з сертифікатів, коли в VM розгортання з розширенням або керовані посвідчення за допомогою таких сценаріїв. Воно не видаляти ключі, які вказано під час час розгортання VM або з VM розгортання ключ сховища ключів.

Увага!

Корпорація Майкрософт рекомендує, що створено резервну копію файлу authorized_keys, перш ніж запустити цей сценарій.

 

#!/bin/bash
set -e

# /var/lib/waagent has *.crt files that include the crt files corresponding to 
# the user provided public keys and one additional .crt file from MSI.
# This script converts the content of the .crt file into the ssh public key and
# remove it from the authorized_keys file
readarray -t CRT_FILES < <(grep -l -E "(Microsoft.ManagedIdentity|Windows Azure)" /var/lib/waagent/*.crt)
for ((i=0; i < ${#CRT_FILES[@]}; i++))
do
    PUBKEY=$(openssl x509 -in "${CRT_FILES[$i]}" -pubkey -noout | ssh-keygen -f /dev/stdin -i -m PKCS8)
    sed -i -e "\@$PUBKEY@d" $HOME/.ssh/authorized_keys
Done 

Після того, як запуску сценарію, перевірте ssh/authorized_keys файл, щоб переконатися, що є лише зареєстрованих спільних задати.

Віртуальні машини, розгортання з ключем сховища таємниць

Щоб визначити, чи додано розділ під час розгортання ключа сховища ключів, виконайте такі дії:

  1. Знайти ім'я розділу сховище сертифікатів, час розгортання за допомогою на Віртуальну переглянути код для розгортання Арізона CLI або ARM шаблони або запустити цей Арізона, командного РЯДКА: az vm show --resource-group <resourceGroupName> --name <vmName> | grep certificateUrlВідповідь, буде вказана назва сертифіката: "certificateUrl": "https://<keyVaultname>.vault.azure.net/secrets/<certName>/xxxxxxxxxxxxx"

  2. Завантажити сертифікат: az keyvault certificate download --vault-name <keyVaultName> --name <certName> --encoding PEM --file public.pem

  3. Отримати відкритий ключ: openssl x509 -in public.pm -pubkey -noout | ssh-keygen -f /dev/stdin -i -m PKCS8

  4. Порівнявши результати виконання попереднього кроку для решти сертифікатів, у файлі ssh/authorized_keys. vi .ssh/authorized_keys file

Спосіб вирішення

Azure MarketPlace зображення.

Виправлення, застосовані до хмари ініціалізації, визначені Azure зображення:

  • Canonical:UbuntuServer:18.04-LTS:18.04.201902190

  • Canonical:UbuntuServer:18.10-DAILY:18.10.201903200

  • RedHat:RHEL:7-RAW-CI:7.6.2019030421

  • OpenLogic:CentOS-CI:7-CI:7.6.20190306

Настроювані зображення

Якщо використовується настроюваний зображення використовуватиметься хмари ініціалізації, відомі операційних систем, потрібно буде оновити джерело власне зображення.

Ubuntu 18.04 зображення.

Щоб оновити джерело настроюване зображення, необхідно виконати такі зміни:

  • Редагування такий файл: /etc/Cloud/Cloud.cfg.d/90-Azure.cfg

  • У кінці файлу, додайте наведений нижче код.

Увага!

Код слід додати так само, як показано, включаючи пробіли.

datasource:
   Azure:
     agent_command: [service, walinuxagent, start]

RHEL 7.4/7.5/7.6 та CentOS 7,6 зображення.

Якщо ви раніше створили, RHEL/CentOS зображення за допомогою цих дій (або подібний спосіб), необхідно оновити джерело зображення, з якого було створено у-віртуальних машин. Нижче наведено додаткові дії, необхідні для додавання до існуючого джерела конфігурації віртуальної машини зображення.

Крок 1

Редагування такий файл:

/etc/cloud/cloud.cfg.d/91-azure_datasource.cfg

Увага!

Код слід додати так само, як показано, включаючи пробіли.

Додайте такі рядки в кінець файлу:

datasource:
   Azure:
     agent_command: [systemctl, start, waagent, --no-block]

Крок 2

Оновлення до конфігурації агента наступним чином:

cp /lib/systemd/system/waagent.service /etc/systemd/system/waagent.service
sed -i 's/After=network-online.target/WantedBy=cloud-init.service\\nAfter=network.service systemd-networkd-wait-online.service/g' /etc/systemd/system/waagent.service
systemctl daemon-reload

Хмарні ініціалізації та пакети.

Усі пакети ініціалізації на хмари, які містять виправлення, які зараз оновлюються. Корпорація Майкрософт має досліджувати проблему й доповнюватиме цієї статті в міру.

Запитання й відповіді

Запитання на 1: Microsoft отримала доступ до мого VM?

A1: Ключі шифрування, які використовуються для керування посвідченнями і розширення не призначений для доступу до Microsoft співробітників. Ми маємо процеси, щоб спостерігати, входу та заборонити доступ до цього типу. Як запобіжний захід ми переглядають, всі журнали, щоб переконатися, що користувач ключів неналежним чином доступні. Сертифікати, які зберігаються в розділі сховище, який посилається на віртуальну Машину або VMSS розгортання співробітників Microsoft не мають будь-який доступ до таємницю.

Запитання. 2:, Є хмара ініціалізації розгортання ОС і версій, які впливає?

A2: Ні. Ми бачили сторонніх ключа проблема виникає лише в виявлених операційних систем. Ми не бачили його, що виникає у старіших версіях Ubuntu. Це тому, що ці системи за допомогою інший механізм набір відкритих ключів.

3 кв.: Для відповідного хмари, ініціалізації пакетів Linux-розподілу включають виправити?

A3: Ми працюємо над додавання виправлення до пакетів для відповідного версій, і ми оновити цю статтю після завершення цієї роботи.

Запитання-4: Microsoft автоматично оновлює всі задіяні у віртуальних машинах?

A4: Ні. Корпорація Майкрософт не змінить вміст віртуальних машин, ви вже є, передбаченому.

Запитання з 5: Нашої безпеки, політики забороняти операційних Linux VM сторонній вміст у authorized_keys. Що слід зробити це зараз?

A5: Можна видалити за непристойними рядок безпечно з authorized_keys файлу. Це не вплине на SSH keypair, які ви створили та керування або керовані посвідчення. Ви можете зробити це вручну, або запустивши на власний сценарій або командою в будь-який впливу парк.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×