Как Вы настраиваете Netplan на Ubuntu для хранения 802.1x учетные данные надежно?

В 802.1x корпоративная сеть, я могу использовать NetworkManager для конфигурирования 802.1x параметры, включая пароль. Это все работает, но требует хранения пароля в открытом тексте.

Мы пытаемся использовать Netplan для хранения учетных данных более надежно (как хешированный пароль), но мы не можем сделать 802.1x, соединения проходят проверку подлинности.

Я не смог найти хорошее руководство для создания конфигурации Netplan, которая включает 802.1x учетные данные.

(ОБНОВЛЕНИЕ: существует ошибка в Netplan о хешированном пароле, https://github.com/CanonicalLtd/netplan/pull/78), который, кажется, основной вопрос),


Вот файл, который не работает

network: 
  version: 2
  renderer: networkd
  ethernets: 
    enp0s31f6:
      auth:
        key-management: 802.1x
        password: hash:some-stuff-here
        method: peap
        identity: ghewett
      dhcp4: false
      addresses:
        - 1.2.3.4
      gateway4: 5.6.7.8
      nameservers:
        search: [cisco.com, otherdomain]
        addresses:
          - 1.1.1.1
          - 2.2.2.2

(IP и измененные учетные данные)

Это дает нам

DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:19354): DEBUG: 09:23:41.614: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:19354): DEBUG: 09:23:41.614: starting new processing pass
Error in network definition /etc/netplan/01-netcfg.yaml line 7 column 6: unknown key auth
4
задан 13 March 2019 в 19:00

2 ответа

См. https://netplan.io/examples, и https://netplan.io сайт в целом имеет хорошую информацию. Удостоверьтесь, что sudo netplan --debug generate проверить .yaml файлы и генерировать файлы конфигурации, и затем sudo netplan apply сделать их активными.


Authentication

Netplan supports advanced authentication settings for ethernet and wifi interfaces, as well as individual wifi networks, by means of the auth block.

auth (mapping)

    Specifies authentication settings for a device of type ethernets:, or an access-points: entry on a wifis: device.

    The auth block supports the following properties:

    key-management (scalar)
        The supported key management modes are none (no key management); psk (WPA with pre-shared key, common for home wifi); eap (WPA with EAP, common for enterprise wifi); and 802.1x (used primarily for wired Ethernet connections).
    password (scalar)
        The password string for EAP, or the pre-shared key for WPA-PSK.

    The following properties can be used if key-management is eap or 802.1x:

    method (scalar)
        The EAP method to use. The supported EAP methods are tls (TLS), peap (Protected EAP), and ttls (Tunneled TLS).
    identity (scalar)
        The identity to use for EAP.
    anonymous-identity (scalar)
        The identity to pass over the unencrypted channel if the chosen EAP method supports passing a different tunnelled identity.
    ca-certificate (scalar)
        Path to a file with one or more trusted certificate authority (CA) certificates.
    client-certificate (scalar)
        Path to a file containing the certificate to be used by the client during authentication.
    client-key (scalar)
        Path to a file containing the private key corresponding to client-certificate.
    client-key-password (scalar)
        Password to use to decrypt the private key specified in client-key if it is encrypted.

Источник: https://netplan.io/reference#authentication

Обновление № 1:

Примечание: удостоверьтесь, что в Вашем .yaml файле нет никаких ВКЛАДОК...

Добавьте свои сертификаты, восстановите IP и попробуйте это...

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s31f6:
      auth:
        key-management: 802.1x
        method: peap
        identity: "ghewett@example.com"
        ca-certificate: my_ca.pem
        client-certificate: my_cert.pem
        client-key: my_key.pem
      addresses:
        - 1.2.3.4
      gateway4: 5.6.7.8
      nameservers:
        search: [cisco.com, otherdomain]
        addresses:
          - 1.1.1.1
          - 2.2.2.2
2
ответ дан 1 December 2019 в 09:59

Значение по умолчанию netplan, что поставка с Ubuntu 18.04.02 не поддерживает соединенную проводом аутентификацию, таким образом, нет шанса при работе. Последняя версия на GitHub в начале марта 2019 действительно поддерживает аутентификацию, но это испытывает недостаток в других вещах, которые требуются. Суппликант WPA требует, чтобы флаг CLI использовал проводной драйвер для него для работы с, и я записал PR для добавления этого к netplan. Netplan также обрабатывают хешированные пароли способом, который повреждает их, таким образом, существует другой PR для фиксации этого.

Если Вы хотите попробовать их, PR, инструкции:

  1. Имейте установку сервера Ubuntu 18.04.02

  2. Суппликант установки

    • sudo способная установка wpasupplicant"
  3. Установите необходимые инструменты сборки с

    • sudo способная установка заставляют cpp pkg-сконфигурировать libyaml-dev uuid-dev libgio2.0-cil-dev libglib2.0-dev pandoc
  4. Получите исправленное netplan программное обеспечение с

  5. Сборка и установка это с

    • сделать
    • sudo делают установку
  6. Генерируйте хешированную версию своего пароля

    • -n 'MyPassword' эха | iconv-t UTF-16LE | openssl md4 - двоичный файл | xxd-p
    • история-c
  7. Отредактируйте netplan файл конфигурации

    • CD/etc/netplan
    • облако sudo mv 50 init.yaml config.yaml
    • sudo emacs/etc/netplan/config.yaml
  8. Заставьте это смотреть что-то как:

network:
    version: 2
    ethernets:
        enp0s31f6:
            dhcp4: true
            optional: true
            auth:
                key-management: 802.1x
                wired: true
                method: ttls
                identity: fluffy@cisco.com
                password: hash:83...11

  1. Примените его с

    • sudo netplan применяются
  2. В этой точке, если Вы перезагружаете, это должно работать, но некоторые вещи проверить, чтобы помочь отладить

  3. Проверьте файл конфигурации суппликанта WPA

    • кошка sudo/run/netplan/wpa-enp0s31f6.conf

и это должно быть похожим

 ctrl_interface=/run/wpa_supplicant
 network={
   key_mgmt=IEEE8021X
   eap=TTLS
  identity="fluffy@cisco.com"
  password=hash:83..11
}

Удостоверьтесь, что нет кавычек вокруг пароля, если использование хешировало пароли.

  1. Проверьте шаблон systemd

    • ls/run/systemd/system/systemd-networkd.service.wants/netplan*enp0s31f6.service

Это должно возвратить что-то как

/run/systemd/system/systemd-networkd.service.wants/netplan-wpa-wired@enp4s0.service

Ключевая вещь состоит в том, чтобы проверить что это, как wpa-соединено-проводом в нем

  1. Протестируйте подлинные работы с паролями и всеми

    • уничтожьте любую рабочую версию wpa_supplicant, затем делают

    • sudo wpa_supplicant-c/run/netplan/wpa-enp0s31f6.conf-i enp0s31f6-D соединен проводом

Вы будете видеть поток информации о 802.1x сообщения и около конца должна быть "Аутентификация, за которой следуют"

Вам будет нужно к Ctrl^C это уничтожение это.

  1. Перезагрузка и обладает....
1
ответ дан 1 December 2019 в 09:59

Другие вопросы по тегам:

Похожие вопросы: