見出し画像

Neat デバイスで 802.1x を構成する方法

注:Neat サポートページのオリジナル文書 を Google 翻訳を使って翻訳後に一部修正、追記しています

最終更新日: 2023 年 8 月 14 日

Neat ファームウェア バージョン 20230504.xxxx 以降、802.1x はベータ機能ではなくなりました。

はじめに – 802.1x とは?

802.1x は、ユーザーの ID と組織の内部認証システムによるその認証に基づくポートベースのアクセス制御を可能にする標準ネットワーク認証プロトコルです。これにより、ネットワーク内にセキュリティが提供され、職場にある管理されていないデバイスから組織を保護します。

要件と制限:

構成に必要なコンポーネント:

  • Neat デバイスは、デバイスを有線 802.1x ネットワーク環境に接続する前 に、ローカル エリア ネットワーク (LAN) (有線または無線) 上にあり、構成するために IP アドレスで到達可能である必要があります。

  • 802.1x 対応のスイッチとネットワーク

    • 有線: EAP-TLS サポートのみ

    • ワイヤレス: WEP、WPA、WPA2、EAP、EAP-PEAP

  • EAP-TLS の証明書コンポーネント:

  • 顧客側スクリプト用の Python 3 環境

    • Python と PIP に精通していることが望ましい

    • PIP をインストールする – Python バージョン 3.4 以降を使用している場合、PIP はデフォルトで含まれています

    • neat-dot1x-cli の最新バージョンについては、リリース を参照するか、neat-dot1x-cli -Vコマンド をターミナルで実行してください。

現在の制限 (執筆時点):

  • 有線ではEAP-TLS サポートのみ

注意: 次の手順は、認証局を所有するなど、ネットワーク上で 802.1x が事前に構成されていることを前提としています。


重要な注意: 以下のプロセスは、Neat デバイスごとに個別に実行する必要があります (たとえば、証明書は、Neat Bar と Neat Pad に対して個別に要求、署名、およびアップロードする必要があります)。

ステップ 1 – デバイスのセットアップ

デバイスの Web API へのアクセスは、最初のOut-of-Box (OOB)セットアップ中、最初のインストール中/工場出荷時設定へのリセット後、またはすでにセットアップされて Zoom/Teams を実行している場合は、リモート アクセスを有効にすることで実行できます。

  1. 802.1x ネットワークではないイーサネットまたは Wi-Fi 経由でデバイスを LAN に接続します。キャプティブ ポータルはサポートされていないことに注意してください。

    • OOB (初期セットアップ)構成の場合、デバイスの背面にあるリセット ボタンを押して、デバイスが IP アドレスを受信して​​いることを確認します。注: デバイスはインターネットに接続する必要はありません。同じネットワーク上のラップトップ/コンピューターから接続できる必要があるだけです。OOB 中の Web-API は、実行するプラットフォーム (Teams/Zoom) の選択にのみ適用されます。

    • すでに Zoom/Teams ルーム構成を実行しているデバイスの場合、Neat のシステム設定で、システム -> リモート アクセスに移動して有効にします。ステップ3 と 4 で必要なパスワードを設定してください。リモート アクセスを有効にする方法の詳細については、次の記事を参照してください。(参考和訳)https://note.com/neat_iwagishi/n/nc3c71aa4f23f

ステップ 2 – Neat デバイスの接続を確認する

同じ LAN 上のラップトップまたはコンピューターから、Neat デバイスに到達できることを確認します。

  • 本体の IP アドレスに ping を実行する

  • ホスト名 (「シリアル番号.local」mDNSをサポートする場合) または FQDN 経由で ping を実行します。

ヒント:デバイスが OOB の場合、Neat デバイスの背面にあるリセット ボタンを押して放し、シリアル番号と IP アドレスの両方を確認します。
Neat デバイスが既に Zooms/Teams を実行している場合は、[システム設定] > [システム] > [ネットワーク] > [(Information)] > [IP アドレス] に移動します。

ステップ 3 – 証明書署名要求 (CSR) の作成

1.端末で次のコマンドを実行して、802.1x クライアント パッケージを PIP インストールします。

pip installneat_dot1x_client --upgrade --extra-index-url https://gitlab.com/api/v4/projects/41183007/packages/pypi/simple
  • 注: 一部のネットワークでは、パッケージをインストールして SSL エラーを回避するためにプロキシが必要です。状況に応じてコマンドを使用してください

--proxy http://<usr_name>:<password>@<proxyserver_name>:<port#>
  • Zscaler などの透過プロキシを使用している場合は、--trusted-host gitlab.com コマンドを使用する必要がある場合があります。

neat-dot1x-cli -V


2.PIP パッケージがインストールされると、コマンドライン クライアント (現在は neat-dot1x-cli) が使用できるようになります。証明書署名リクエスト (CSR) を生成するには、デバイスの Web-API にアクセスするために次のパラメータが必要です。

  • IPアドレスまたはホスト名

  • ユーザー名

    • a) OOB のデバイス => ユーザー名: oob

    • b) Teams/Zoom を実行しているデバイス => ユーザー名: admin (ステップ 1 を参照)

  • パスワード

    • a) OOB のデバイス => パスワード: シリアル番号

    • b) Teams/Zoom を実行しているデバイス => パスワード: ステップ 1 を参照

オプションの引数は、 JSON ファイル形式でサポートされています。

{
  "C": "NO",
  "ST": "Oslo",
  "L": "Oslo",
  "O": "Neat",
  "OU": "RD",
  "CN": "802.1X device",
  "EMAIL": "neat@neat.no"  
}

ご注意ください; "key": "value"上記の例にあるペアはオプションであり、その順序は任意です。"commonName"が指定されていない場合、デフォルトではデバイスは代わりにシリアル番号を使用します。

  • キーと値のペアが指定されていない場合、デバイスはデフォルトで次のようになります。

'{"country":"NO","organizationName":"Neatframe Ltd","organizationalUnit":"neat.no"}'

3.ポイント 2 で説明した引数を決定したら、デバイスとネットワークに固有の引数を置き換えて次のコマンドを実行します。

neat-dot1x-cli HOST_OR_IP  USERNAME  PASSWORD csr CSR_FILE .pem --subject-file Subject_JSON_FilePIP パッケージがインストールされると、コマンドライン クライアント (現在は neat-dot1x-cli と呼ばれています)が使用できるようになります。証明書署名要求 (CSR) を生成するには、デバイスの Web-API にアクセスするために次のパラメーターが必要です。

注意: デバイスが CSR を生成するまでに最大 30 秒かかる場合があります。


4.オプションのステップ:証明書署名要求が正常に作成されたかどうかを確認するには、cat CSR_FILE.PEM コマンドを実行して、PEM 形式のテキスト ファイルが開かれるかどうかを確認します。このファイルは、認証局 (CA) によって署名される必要があります。


ステップ 4 – 証明書への署名

802.1x は、ネットワーク エッジで可視性と安全な ID ベースのアクセス制御を提供します。EAP/TLS プロトコルでは、各企業が証明書への署名方法を制御し、通常、この目的のために内部認証局 (CA) を所有しています。

ステップ 3 で作成した CSR を取得し、独自の内部 CA を使用して証明書に署名します。

重要な注意:証明書ファイルは PEM 形式である必要があります。

ヒント:各デバイスの証明書を更新する頻度を減らすために、延長された有効期限を設定することをお勧めします。証明書は暗号化されたファイルとして保存され、デバイスのメモリに保存され、出荷時設定にリセットした場合にのみ消去できます。

ステップ 5 – 証明書のアップロード

CSR が CA によって署名されると、デバイスにインストールできます。

有線 802.1x ネットワークの場合:

  1. この段階では、「ID」と「デバイス証明書ファイル パス」の 2 つの新しい引数と、手順 3 で定義した初期引数が必要です。

    • Identity : デバイスが自分自身を RADIUS サーバーに提示するときに、Identity が署名付き証明書と一緒に渡されます。ネットワーク環境に合わせて設定してください。

    • Certificate File Path(証明書ファイルのパス)は、各ユーザーによって一意に定義され、デバイス証明書を PEM 形式で含める必要があります。

    • 証明書チェーンを使用する場合は、PEM 形式の証明書のリストである必要があります (すべて同じファイル内にあります)。チェーン内の後続の証明書ごとに、標準プロトコルと同様に、その前の証明書を直接認証する必要があります。

  2. オプション:  3 番目のオプション引数は、ルート サーバー証明書です。これは必須の引数ではないことに注意してください。ユーザーが指定しない限り、デバイスは任意の RADIUS サーバーとの通信を試みます。

  3. ポイント 1 と 2 にリストされている引数を決定したら、コマンドライン クライアントでこれらを実行します。以下のコマンド例を参照してください。"SERVER_CA_CERT_FILE.pem"はオプションの引数です。

neat-dot1x-cli HOST_OR_IP USERNAME PASSWORD init IDENTITY DEVICE_CERT_FILE.pem SERVER_CA_CERT_FILE.pem

ワイヤレス 802.1x ネットワークの場合:

  1. この段階では、「Wifi 構成 JSON ファイル パス」、「デバイス証明書ファイル パス」、「CA 証明書ファイル パス」の 3 つの新しい引数が必要です。これは、ステップ 3 で定義された最初の必須引数と並んでいます。

    • Wifi 構成 JSON ファイルには 、SSID、isHidden、Wifi セキュリティ タイプ、および資格情報を含める必要があります。EAP-TLS 802.1x ネットワークの JSON ファイルの例を以下に示します。

{
  "ssid": "Neat",
  "isHidden": false,
  "wifiSecurity": "EAP*",
  "credentials": {
    "method": "TLS",
    "phase2Method": "NONE",
    "identity": "Neat-wifi",
    "anonymousIdentity": "",
    "password": ""
  }
}
  • デバイス証明書ファイル パス は、JSON ファイルに直接書き込むか、Python ツールに引数として渡すことができます ([DEVICE_CERT_PATH]そのファイル パスに置き換えます)。これは各ユーザーによって一意に定義され、PEM 形式である必要があります。

    • 証明書チェーンを使用する場合は、PEM 形式の証明書のリストである必要があります (すべて同じファイル内にあります)。チェーン内の後続の証明書ごとに、標準プロトコルと同様に、その前の証明書を直接認証する必要があります。

  • CA 証明書のファイル パスは、JSON ファイルに直接書き込むか (上記のコード例に示すように)、Python ツールに引数として渡すことができます ( [CA_CERT_PATH] をそのファイル パスに置き換えます)。

2. ポイント 1 にリストされている引数を決定したら、コマンドライン クライアントでこれらを実行します 。以下のコマンド例を参照してください。

neat-dot1x-cli HOST_OR_IP USERNAME PASSWORD init_wifi WIFI_CONFIG_JSON_PATH [DEVICE_CERT_PATH] [CA_CERT_PATH]

*: WPA2 Enterprise は、「wifi セキュリティ」: 「EAP」に置き換えられました。

ステップ 6 – (有線) 802.1x ネットワークへのデバイスの移動

最後に、デバイスを有線 802.1x ネットワークに移動すると、デバイスは 802.1x オーセンティケーターのチャレンジに応答し始めます。デバイスの ID が判明するとすぐに、そのエンドポイントからのすべてのトラフィックが許可され、デバイスがネットワークに接続されます。

追加情報:

Python ツールの構文:

ツールのバージョン:neat-dot1x-cli -V
ヘルプ: neat-dot1x-cli -h
CSR パラメーターの位置引数のヘルプ : neat-dot1x-cli X Y Z csr -h
証明書のアップロードの位置引数のヘルプ (有線): neat-dot1x-cli X Y Z init -h
証明書のアップロードの位置引数のヘルプ (ワイヤレス):neat-dot1x-cli X Y Z init_wifi -h

上記の手順で質問がある場合、または問題が発生した場合は、販売代理店に連絡してください。

この記事が気に入ったらサポートをしてみませんか?