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 を実行している場合は、リモート アクセスを有効にすることで実行できます。
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 ネットワークの場合:
この段階では、「ID」と「デバイス証明書ファイル パス」の 2 つの新しい引数と、手順 3 で定義した初期引数が必要です。
Identity : デバイスが自分自身を RADIUS サーバーに提示するときに、Identity が署名付き証明書と一緒に渡されます。ネットワーク環境に合わせて設定してください。
Certificate File Path(証明書ファイルのパス)は、各ユーザーによって一意に定義され、デバイス証明書を PEM 形式で含める必要があります。
証明書チェーンを使用する場合は、PEM 形式の証明書のリストである必要があります (すべて同じファイル内にあります)。チェーン内の後続の証明書ごとに、標準プロトコルと同様に、その前の証明書を直接認証する必要があります。
オプション: 3 番目のオプション引数は、ルート サーバー証明書です。これは必須の引数ではないことに注意してください。ユーザーが指定しない限り、デバイスは任意の RADIUS サーバーとの通信を試みます。
ポイント 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 ネットワークの場合:
この段階では、「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
上記の手順で質問がある場合、または問題が発生した場合は、販売代理店に連絡してください。
この記事が気に入ったらサポートをしてみませんか?