メインコンテンツまでスキップ

SEW Connectivity Service

概要​

SEW Connectivity Service は、Linux および Windows ホスト向けに提供されるゲートウェイ用アプリケーションである SDA Glue を基盤としています。本サービスは SoftEther VPN によって動作し、Windows クライアントでは OpenVPN をサポートしており、ゲートウェイ内のネットワークインターフェイスと、IDEaaS、バックアップ、デプロイメント VM などの SEW クラウドサービスとの間に安全な TCP トンネルを確立します。また、OS ネイティブのファイアウォール(Linux の iptables および Windows Filtering Platform (WFP))と NAT テーブルを組み合わせることで、Siemens TIA Portal や Rockwell Studio 500 などのベンダー固有ソフトウェアを、製造制御レイヤーのデバイスと直接ブリッジします。

主要ポイント​

SEW による産業資産の管理は、製造環境とクラウドベースのサービスとの間のギャップを埋める、包括的かつ安全な産業向けコネクティビティソリューションによって実現されています。実績のある技術を活用し、堅牢なセキュリティ対策を実装することで、本サービスは産業オートメーションおよび制御システムに特化したエンタープライズグレードの接続性を提供します。

産業グレードのセキュリティ: AWS IoT Core との統合により、きめ細かなアクセス制御ポリシーを備えた安全な TLS 接続を提供します。これは産業向け IoT セキュリティのベストプラクティスに従っており、管理者はデバイスのプロパティやコンテキストに基づいてアクセスを制限できます。

実績のある VPN 基盤: 本サービスは SoftEther VPN を利用しており、AES 256 ビットおよび RSA 4096 ビットの暗号化と高速なスループット性能、低メモリ・低 CPU 使用率を実現します。これにより転送中のデータは盗聴や不正アクセスから保護され、セキュリティと性能が重要な産業用途に最適です。

ゼロトラストネットワークアクセス: 本サービスは接続をオンデマンドで確立することにより、従来の静的 VPN を不要にします。このポイントツーポイントアーキテクチャにより、ユーザーはネットワークセグメント全体ではなく、明示的に許可されたデバイスのみにアクセスできるため、攻撃対象領域を大幅に削減します。

工場に適した設計: すべての接続はノード自身(ゲートウェイまたはワークステーション)から外向きに開始され、インバウンド接続を受け入れることは一切ないため、インバウンドのファイアウォールルールは不要です。この設計は既存の産業セキュリティアーキテクチャを尊重しつつ、安全なリモートアクセス機能を提供します。

アーキテクチャ​

仮想ネットワーク内のピアはノードと呼ばれ、Connectivity Service における主要コンポーネントです。各接続は一連のノードの相互作用によって構築され、それぞれのノードが特定の役割を担います。

デバイス: 通常は製造セキュアネットワークに配置され、IP アドレスによってアクセス可能な産業資産(PLC、HMI、ロボットなど)です。デバイスは各テナントごとに SEW Console 上で宣言され、ユーザーアクセスはロールベースアクセス制御によって管理されます。接続には、すべてのデバイスが少なくとも 1 つのネットワークゲートウェイに紐付けられていることが必要です。

ゲートウェイ: インターネットおよび SEW Console で管理されるデバイスへの安全なアクセスを持つネットワークホストです。通常は IPC、VM、コンテナ、さらには Raspberry Pi などであり、テナントサーバーなどの SEW クラウドリソースへアクセスするために特定のルールが必要なファイアウォールゾーンに配置されます。すべてのゲートウェイは SDA Glue を実行しており、これは接続要求を待ち受け、テレメトリデータを提供する OS サービスです。

ワークステーション: 顧客自身の PC であり、対象サイトのゲートウェイを介してデバイスにアクセスするために使用します。ワークステーションはゲートウェイと同じ SDA Glue ソフトウェアを実行し、ネットワークレベルでも同一に設定されます。唯一の違いは役割であり、ワークステーションは常にゲートウェイへ向けて外向きに接続を開始し、他のデバイスへトラフィックを中継することはありません。

テナントサーバー: 各テナント専用に、安全な SEW クラウド環境で稼働する要塞ホストであり、ゲートウェイのネットワークインターフェイスを SEW サービス VM または別のゲートウェイとブリッジします。これらのサーバーは、IDEaaS から特定の PLC へのみ接続し、同一ネットワーク内の他の不要なデバイスには接続しないなど、ポイントツーポイント接続のみを保証するために必要なフィルタリングポリシーを担保します。また、接続ごとに資格情報のローテーションポリシーに基づいてゲートウェイからのアクセスを認証します。

サービス VM: IDEaaS、バックアップ、デプロイメントパイプラインなど、SEW サービスが必要とするアプリケーションを実行します。これらの VM は Connectivity Service を利用して、ネットワークレイヤーで IP アドレスによりデバイスへアクセスします。これは産業用アプリケーションにおいて不可欠です。

クラウド​

SEW Connectivity Service は従来の静的 VPN を使用する代わりに、要求に応じて産業資産への接続を確立します。要求は一連のノードへ転送され、それらが連携して SEW サービスとデバイス間のポイントツーポイントネットワークアクセスを提供します。

製造ネットワークにおいては、すべての接続がゲートウェイから開始されるため、工場側でインバウンド接続ルールは不要です。これを実現するために、ノードは AWS IoT Core による IoT メッセージブローカーで受信要求を常時待ち受けています。

このアーキテクチャにより、ユーザーはインターネットが利用できるあらゆる場所から、ブラウザのみを条件として、任意のコンピューターで工場内の資産と対話できます。

ネットワーク​

ゲートウェイは製造制御レイヤーとインターネットの間に位置するエッジデバイスであり、Console で定義された資産への制御されたアクセスを SEW サービスに提供します。したがって、SEW クラウドとローカルインフラを安全にブリッジするアーキテクチャを確立することが非常に重要です。ゲートウェイについては、以下の 2 つの構成案のいずれかを推奨します。

LAN 内のゲートウェイ​

最も一般的なアプローチであり、SEW プラットフォームにオンボードされた PLC の隣にゲートウェイを配置します。ここでは、ファイアウォールがゲートウェイからインターネットへのアウトバウンドを厳密に制御します。

ゲートウェイは自身が配置されているサブネットへのアクセスを持ちますが、ネットワークのルーターにアクセス制御レイヤー (ACL) としてファイアウォールをプロビジョニングすることもできます。また、2 つのネットワークインターフェイスを備えたゲートウェイデバイスを使用することも一般的です。1 つは DMZ 側、もう 1 つは制御レイヤー内のプライベート側を向きます。このアーキテクチャでは、たとえば両方が 10.0.0.0/24 のサブネットであるような、重複した IP ゾーンが許容されます。

DMZ 内のゲートウェイ​

このアプローチは、ゲートウェイがサーバーインフラ内のどこかにある専用の仮想マシン上で稼働する場合に多く用いられます。IT チームが VM と制御レイヤーの対象 PLC との間に特別なルートを提供し、インターネットへのアクセスと OT へのアクセスの両方にファイアウォールが存在する可能性が高くなります。

危険

PLC へのダウンストリーム方向でネットワークアドレス変換 (NAT) が存在する場合もあります。ただし、これには注意が必要です。一部の PLC ベンダー固有ソフトウェアは IP エイリアスによる PLC のアドレス指定に対応しておらず、プロジェクトに明示的に設定された IP へのアクセスを要求する場合があります。

この場合、製造ユニット内のすべての PLC は一意の IP アドレスを持つ必要があり、そうでなければ衝突が発生する可能性があります。また、ネットワークインフラによっては、ゲートウェイから PLC へのレイヤー 2 アクセスが機能しない場合があります。これは SEW サービスにおけるリアルタイム産業ネットワーク統合のための今後の機能です。

ソフトウェア​

SDA Glue は OS サービスとして動作するアプリケーションであり、自動起動およびエラー時の自動再起動によってゲートウェイの高可用性を確保します。インターフェイス、ルート、ファイアウォールルールなどのネットワークリソースを管理してネットワークトンネルを確立するため、システムユーザーとしての権限昇格が必要です。

自動更新はデフォルトで有効です。Glue サービスは repository.eu1.sdacosole.io から最新の安定版を読み取り、アクティブな接続がなくなった時点で更新を適用します。更新メカニズムは新しいアプリケーションバイナリをダウンロードし、旧バイナリと置き換え、サービスを再起動します。

AWS IoT Core はログイン時に接続され、エンドポイント iot.eu1.sdaconsole.io が使用されます。接続後、Glue サービスは SEW クラウドからの要求を常時待ち受け、ゲートウェイに関連付けられたデバイスのステータスなどのテレメトリデータを公開します。IoT 認証は、SEW Console から取得できる短い ID とワンタイムパスワードによって保護されます。IoT への接続は、アプリケーションバイナリ内のシークレットキーによっても保護されます。IoT への接続は、MQTT SSL または WebSocket Secure のいずれか(いずれもポート 443)で確立するよう構成できます。

ネットワークメカニズムは Linux と Windows で異なります。そのため、それぞれ個別に説明します。

Linux​

Linux 上の SDA Glue は、オープンソース (Apache License 2.0) の SoftEther VPN Client を利用しており、Glue のインストール時に repository.eu1.sdaconsole.io 上の SEW のミラーからインストールされます。

各接続において、Glue は SoftEther Client を使用して NIC ネットワークインターフェイスを作成し、テナントサーバーに接続します。また、Linux の IP ツールを使用して当該インターフェイスに IP アドレスを割り当て、サービス VM と対象デバイスの間に必要なルートを作成します。

内部ファイアウォールルールと NAT 変換は iptables 内に作成され、ゲートウェイへの受信ネットワークパケットは許可されず、対象デバイスへのパケット転送のみが許可されます。

📚 接続における Linux リソース管理

Linux ゲートウェイがクラウドサービスと工場デバイスをどのようにブリッジするかを理解するため、全体の流れを示す具体的な IP アドレスを用いた例を見ていきましょう。

対象デバイス(PLC など)がローカル IP アドレス 10.0.0.5 を持ち、ゲートウェイが同じネットワーク上で IP 10.0.0.2 を持つ工場ネットワークを考えます。SEW クラウドでは、サービス VM がこのデバイスに接続する必要があり、VPN IP 100.112.20.3 が割り当てられ、ゲートウェイの VPN インターフェイスは 100.112.10.6 を受け取ります。

トンネルの確立

接続要求が到着すると、ゲートウェイとサービス VM の両方が動作を開始します。ゲートウェイは vpn_iface という新しい仮想ネットワークインターフェイスを作成し、アドレス 100.112.10.6 を割り当てます。同時に、クラウド内のサービス VM は IP 100.112.20.3 を持つ独自の VPN インターフェイスを作成します。その後、両エンドポイントがテナントサーバーに接続し、両者間に安全な暗号化トンネルを確立します。

Factory Side: Cloud Side:
Gateway Service VM
├─ Local: 10.0.0.2 ├─ VPN: 100.112.20.3
└─ VPN: 100.112.10.6 └─ Target: 10.0.0.5 (via Gateway)
Device
└─ Local: 10.0.0.5

この時点でトンネルは存在しますが、パケットはまだどこへ行けばよいかを知りません。ゲートウェイは、これら 2 つの世界の間でトラフィックをルーティングする方法をシステムに教える必要があります。

ルートの構築

ゲートウェイは、VPN ネットワークと工場現場との接続を作り出すルーティングルールを追加します。

ip route add 100.112.20.3 via 100.112.10.6 dev vpn_iface

このルートは、システムに極めて重要な情報を伝えます。すなわち、10.0.0.5 のデバイスが応答パケットを送信する際、100.112.20.3 のサービス VM に到達するために vpn_iface を経由して転送すべきであるということです。このルートがなければ、ゲートウェイはデバイスの応答をクラウドへ返す方法を知り得ません。

しかし、ルーティングだけでは不十分です。ゲートウェイのファイアウォールはデフォルトでこのトラフィックを引き続きブロックします。接続を有効にするため、ゲートウェイは VM とデバイス間の双方向パケット転送を明示的に許可する必要があります。

iptables -A GLUE_FORWARD -s 100.112.20.3 -d 10.0.0.5 -j ACCEPT
iptables -A GLUE_FORWARD -s 10.0.0.5 -d 100.112.20.3 -j ACCEPT

これらのルールは制御された経路を開き、サービス VM からデバイスへ、またその逆方向へパケットが流れることを許可しつつ、他のすべてのトラフィックに対してはゲートウェイのセキュリティ姿勢を維持します。また、Glue は他のルールとの競合を避けるため、iptables 内で独自のチェーンを使用することに注意してください。

NAT 変換

工場内のデバイスはローカル IP アドレスとの通信を想定しており、100.112.20.3 のクラウドネットワークについては何も知らず、そのアドレスからのパケットにどう応答すべきか分かりません。ゲートウェイはサービス VM のパケットをマスカレードすることでこれを解決します。

iptables -t nat -A GLUE_POSTROUTING -s 100.112.20.3 -d 10.0.0.5 -j MASQUERADE

この NAT ルールが設定されていると、サービス VM からデバイス宛のパケットが到着した際、ゲートウェイは送信元アドレスを 100.112.20.3 から 10.0.0.2 に書き換えます。デバイスの視点からは、ローカルネットワーク上のよく知られた信頼できるアドレスであるゲートウェイ自身と直接通信しているように見えます。デバイスが 10.0.0.2 へ応答を送信すると、ゲートウェイは逆変換を行い、宛先アドレスを 100.112.20.3 に戻すことで、パケットは VPN トンネルを通じてサービス VM に到達します。

VPN トンネリング、ルーティング、ファイアウォールルール、NAT 変換のこのような連携により、ゲートウェイは透過的なポイントツーポイント接続を作り出します。デバイスはクラウドインフラを一切認識せず、ローカルネットワーク上の 10.0.0.2 にあるゲートウェイと見えるものと単に通信するだけです。一方、サービス VM は IP アドレス 10.0.0.5 によってデバイスへネットワークレイヤーで直接アクセスでき、TIA Portal や Studio 5000 などの産業用アプリケーションが、あたかもローカル工場ネットワーク上で動作しているかのように機能できます。

Windows​

Windows 上の SDA Glue は SoftEther VPN Client の組み込み利用をサポートしていないため、OpenVPN Community Open-Source Client (GPL ライセンス バージョン 2) を使用し、Glue のインストール時に repository.eu1.sdaconsole.io 上の SEW のミラーからインストールされます。

各接続において、Glue は OpenVPN TAP ドライバーを使用してネットワークインターフェイスを作成し、証明書ベースの認証を用いてテナントサーバーに接続します。Windows ネイティブ API を使用してインターフェイスに IP を割り当て、サービス VM と対象デバイスの間に必要なルートを作成します。

Glue はまた、Windows Filtering Platform (WFP) を使用して専用のレイヤーとファイアウォールルールを作成します。ただし、サービス VM とデバイス間のアドレス変換を宣言するために WinNAT または NetNat に依存しており、これらはデフォルトで有効になっていない場合があります。

ワークステーションとゲートウェイの違い: ワークステーションとゲートウェイは、上記で説明した同一の Windows クライアントおよび接続構成(同じ OpenVPN TAP ドライバー、同じ WinNAT ベースのインターフェイスアドレッシング)を使用します。唯一の違いは、バックエンドポリシーによって接続ごとに割り当てられる WFP ファイアウォールルールです。ワークステーションの接続では常に、SEW トンネルインターフェイス経由で特定の対象デバイス IP に限定されたアウトバウンド専用ルールが適用されますが、ゲートウェイでは配下のデバイスへトラフィックを中継するための転送ルールが追加で適用される場合があります。したがって、ワークステーションはホスト上でインバウンドや転送の経路を開くことは一切なく、その PC 上の他のネットワークインターフェイス、ルート、既存の VPN 接続は影響を受けません。すべての変更は SDA Glue が自身のトンネル用に作成する仮想インターフェイスに限定されます。

まとめ​

SEW Connectivity Service は、産業向けコネクティビティの課題に対して、成熟した安全かつスケーラブルなソリューションを提供します。SoftEther VPN のような実績あるオープンソース技術と、AWS IoT Core によるエンタープライズグレードのクラウドインフラを組み合わせることで、本サービスは産業運用が求める信頼性とセキュリティを提供しながら、現代のエンジニアリングチームが期待する柔軟性と使いやすさを実現します。

本サービスのアーキテクチャは産業セキュリティの原則を尊重しつつ、運用効率、リモートコラボレーション、データドリブンな意思決定を推進するデジタルトランスフォーメーションの取り組みを可能にします。ネットワークセキュリティや運用の信頼性を損なうことなく産業資産をクラウドサービスに安全に接続したい組織に対して、SEW Connectivity Service は包括的で本番運用に対応したソリューションを提供します。