PhoenixContact#FL MGUARD 1105_Part3_NATを使ってみよう

こちらはPhoenix ContactのSecurity Router FL MGUARD 1105を利用した新しい記事シリーズです!サイバーセキュリティは現在我々のFA業界にも欠かせない課題の一つであり、自分も勉強しないといけないと思いました。

第3話は1対1 NATの説明や設定方法をお話しします。

さ、FAを楽しもう。

Reference Link

PhoenixContact#FL MGUARD 1105_Part1_セキュリティルーターを立ち上げよう!
PhoenixContact#FL MGUARD 1105_Part2_Port Forwardingを使ってみよう

Reference Video

前書き

いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。

現在、私達の活動はほぼ無償で続けており、より多くのコンテンツを提供するためには、皆様の温かいご支援が大変重要です。もし可能であれば、以下のリンクから応援していただけると大変嬉しく思います。

高橋クリスのメンバーシップ

こちらはFullさん(full@桜 八重 (@fulhause) / X)と共にやっているラジオにメンバーシップを登録いただけます。

https://note.com/fulhause/membership/join

AMAZON ギフトリスト

こちらは自分のブログのコンテンツ制作や設備の充実に大いに役立てさせていただきます。

https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share

Patreon

こちらは自分のブログのコンテンツ制作や設備の充実に対する小さな応援の気持ちのPatreonです。

https://www.patreon.com/user?u=84249391

皆様のサポートが、私たちの活動をより充実させる力となります。

どうぞよろしくお願いします。

メールアドレス(*=@)

soup01threes*gmail.com

X

https://x.com/3threes2

Cybersecurity…

前回の記事では、PCペースのソフトウェアに関するセキュリティを簡単にリストアップしましたが、今回は機能安全を担保するコンポーネントに関するセキュリティについて話しましょう。機能安全を担保するコンポーネントを使用する場合は、機能安全を確保するためのセキュリティ対策を実施する必要があります。

Recommendation

また、脅威分析の範囲内で以下の基本要件を考慮し、評価する必要があります:

  • 操作に対する完全性
  • 一般に認められた手続きによる守秘義務
  • 安全機能を含む機械とシステムの可用性

注意するのは、ネットワークまたはデバイスの通信インターフェースへの不正アクセスにより、機能安全が損なわれる可能性があります。 安全機能が意図せず、または意図的に破損または操作される可能性があります。

NAT

リアルネットワークのクライアントのIPアドレスは、1:1のNATルールに従って変換され、もう一方の(変換された)ネットワークのクライアントとの通信は、実IPアドレスではなく、変換されたIPアドレスを介して行われます。

そのため、実際のネットワーク(主にプライベート)は、もう一方のネットワーク(主にパブリック)のネットワーク参加者から隠されたままであります。

Configuration1

実際のIPアドレス(生産ネットワークの機械制御システム(PLC))は、オフィスネットワークのネットワーク参加者から隠されています。変換されたIPアドレス(例えば、192.168.1.100 < -> 10.1.0.100)を介してオフィスネットワークと通信します。

変換されたIPアドレスを介して、オフィス・ネットワークからのARPリクエストは、mGuardデバイスが代表として応答します。

Configuration2

実際のアプリケーションには、接続されたマシンに対して同一のIPコンフィギュレーションが異なる生産セルで使用されることが多く、 これはアドレスの競合につながります。

この問題を1:1 NATで解決するために、デバイスは、本番ネットワークの実クライアントIPアドレスの各ネットワーク部分を、オフィスネットワークのサブネットのネットワーク部分に置き換えます。

例えば、192.168.1.0/24 < -> 10.1.1.0/24。 オフィスネットワークとプロダクションネットワークのクライアントは、双方向で通信できるようになりました。

Security…?

NATは、外部ネットワークから内部IPアドレスを隠蔽し、ネットワーク・トポロジーを隠蔽することで、ある程度のレベルのセキュリティを提供することはできますが、包括的なセキュリティ・ソリューションとみなすべきではありません。 NATは主に、外部からのローカルネットワーク上の個々のデバイスへの直接アクセスを防ぐことで、基本的な保護レベルを提供します。 しかし、データを暗号化したり、ユーザーを認証したり、高度な攻撃から保護することはできない。

セキュリティ強化のためには、NATをファイアウォール、VPN、侵入検知システムなどの他のセキュリティ対策と併用し、不正アクセスやサイバー脅威に対してより強固な防御を行う必要があります。

Firewall

デバイスを経由するデータパケットは、ファイアウォール(パケットフィルター)によって解析され、設定されたファイアウォールルールに従って転送またはブロックされます。

FL MGUARD 1105のファイアウォールは、Stateful packet inspectionの原理で動作します。

つまり、ある方向へのリクエストに対するレスポンスパケットは、そのリクエストに明らかに関連するものであれば、ファイアウォールによって許可された後、自動的にファイアウォールを通過する。 このため、各データ接続の情報は接続追跡テーブルに保存され、応答パケットと比較され、対応するリクエストと明確に関連付けられる。

注意するのはファイアウォールルールがレスポンスパケットに適用されないことです。

How Firewall can be used in Industrial?

次はFirewallがFactory Automation上での活用場面を見てみましょう。ファイアウォールは、産業用ネットワーク・セキュリティ・インフラストラクチャの不可欠なコンポーネントであり、外部からの脅威に対する防御の第一線を提供し、機密性の高い業務やデータを保護する上で重要な役割を果たします。 ファイアウォールは、エンドポイント保護、侵入検知システム、定期的なセキュリティ監査などを含む包括的なセキュリティ戦略と統合し、堅牢な保護を確保する必要があります。

✓重要インフラの保護 

産業環境において、ファイアウォールは重要なシステムやインフラをサイバー脅威から守るために不可欠であり、産業用制御システム(ICS)、SCADAシステム、およびその他の機密プラットフォームへの不正アクセスを防止します。

✓ネットワーク・セグメンテーション 

ファイアウォールは、産業用ネットワークを異なる部分にセグメント化し、機能やセキュリティの必要性に基づいてシステムを分離するために使用できる。 このセグメントにより、潜在的な脅威の拡散が制限され、ネットワーク・トラフィックの管理が容易になります。

✓遠隔監視と管理

ファイアウォールは、産業用システムへの安全なリモートアクセスを管理することができ、セキュリティを損なうことなく、異なる場所からの操作の制御と監視を可能にします。

✓データ保護とコンプライアンス

ファイアウォールは、データの流れを制御し、機密情報が許可なくネットワークから出るのを防ぐことで、データの完全性と業界規制へのコンプライアンスを確保するのに役立ちます。

✓マルウェアと攻撃からの保護

ファイアウォールは、悪意のあるコンテンツを含む可能性のあるトラフィックをフィルタリングすることにより、マルウェア、ウイルス、およびサービス妨害(DoS)攻撃などのさまざまな種類のサイバー攻撃から防御する上で重要な役割を果たします。

Start it!

それではPhoenix ContactのSecurity Router FL MGUARD 1105で1対1 NATのネットワーク構成を設定しましょう。下図ではNetwork Zone1(OFFICEエリア)には自分のPCがあり、 FL MGUARD 1105のXF1に接続しています。そしてNetwork Zone2(OTエリア)にはBerghof社のRaspberry Controllerが配置されます。

これから自分のPCでBerghof社のRaspberry ControllerのWeb ServerとCodesys Runtimeにアクセスしていきます。

Configure Interface

最初にネットワークゾーン1とゾーン2のInterface設定を行います。

FL MGUARD 1105のWeb Serverにアクセスし、Interfaces>Interfaces> Net zone1とNet zone2のIPアドレス設定などを実際のアプリケーションに合わせて設定しましょう。

Network Mode

今回の記事は1:1 NAT機能を使用しますので、Interfaces>Interfaces>ModeをRouterに設定してください。

今後もStealthモードを設定しますので、お楽しみに!

Configure Table

次は1対1 NATの設定テーブルをFL MGUARD 1105に追加します。

Port forwardingや1:1 NATの設定をするにはNAT Tabをクリックします。ここではNATの設定を簡単に説明します。

Add Rowで新規のルールをTableに追加します。

新しいルールが1対1 NAT Tableに追加されました。

IP Masquerade

今回の構成ではNet Zone2をMasqueradeしますので、Zone2のRadioボタンをOnにしましょう。

Real IP/network

実ネットワークのネットワーククライアントから、または実ネットワークのネットワーククライアントへ送信されるデータトラフィックは、1:1のNATルールに従います。

1:1 NAT rule: 192.168.1.0/24 <-> 10.1.0.0/24

⇒ Translation: 192.168.1.100 <-> 10.1.0.100

⇒ Translation: 192.168.1.200 <-> 10.1.0.200

そのテーブルの設定により、両ネットワークのクライアントは双方向で通信できます。 同時に、実際の(主にプライベートな)ネットワークは、もう一方の(主にパブリックな)ネットワークからは見えなくなります:

  • 実ネットワークのそれぞれの変換されたクライアントIPアドレスは、もう一方のネットワークのネットワーク参加者には送信者アドレスとして見える。
  • もう一方のネットワークから実ネットワークのクライアントに到達するには、そのIPアドレスに変換されたものを使う必要があります。
  • 実ネットワークで変換されたクライアントアドレスへのARPリクエストは、代表となるデバイスによって自動的に応答されます。

注意するのは、実ネットワークと変換されたネットワークの両方が同じサブネットマスクにあることを必要です。

今回の記事では1対1NATの設定では、192.168.13.40を192.168.6.40に変換する設定なので、Network Zone1にある自分のPCはBerghofのControllerをアクセスしたい場合は、PCがアクセスすべきのIPアドレスは192.168.6.40になります。

Translated IP/network

Translated IP/networkは実ネットワークのクライアントの実IPアドレスが変換されるネットワークになります。注意するのは、実ネットワークと変換されたネットワークの両方が同じサブネットマスクにあることを必要です。

今回の記事では1対1NATの設定では、192.168.13.40を192.168.6.40に変換する設定なので、Network Zone1にある自分のPCはBerghofのControllerをアクセスしたい場合は、PCがアクセスすべきのIPアドレスは192.168.6.40になります。

Result

Done!今回の記事で設定したのは192.168.6.40を192.168.13:40に変換するようにします。

Save

最後は設定を保存しましょう。

Firwall Setting

1対1NATの通信を確立させるにはFirewallの設定が必要で、中にどのなIPアドレスのPacket通過OKで、どのIPアドレスからのPacket通過をBlockするかを設定します。

Firewal>Rulesをクリックします。

Direction

ファイアウォールルールは、最初のデータトラフィックの方向によって、2つの異なるテーブルに設定される:

  • ネットゾーン1→ネットゾーン2
  • ネットゾーン2→ネットゾーン1

また、そのルールの設定によって、Packetsの通過状態が変わります。

  • ファイアウォールルールが設定されていない場合は、 すべてのデータパケットがドロップされます。
  • 設定されたルールがどれも適用されなかった場合は、すべてのデータパケットがドロップします。
  • ルールが1つ設定され適用した場合は、ルールが適用され、設定されたアクションが実行されます。
  • 複数のルールが設定され適用した場合は、ルールは、適用されるルールが見つかるまで、上から順番に照会されます。

Add Rules

Add rowで新しいファイアウォールルールを追加します。

From IP/network 

このルールが適用されるために、データパケットの送信元(ネットワークまたはIPアドレス)を設定します。注意するのは、サブネットマスクとして “0 “が指定された場合、ルールはここですべてのソース(すべてのIPアドレスとネットワーク)に適用されます。

To IP/network

このルールが適用されるように、データパケットの送信先(ネットワークまたはIPアドレス)を設定します。注意するのは、サブネットマスクとして “0 “が指定された場合、ルールはここですべてのソース(すべてのIPアドレスとネットワーク)に適用されます。

To port

Portの設定はTCPまたはUDPが “Protocol “として選択されている場合のみ設定可能になります。ルールがここで適用されるように、データ・パケットを送信しなければならない宛先ポートまたはポート範囲を設定しましょう。

Protocol 

TCP, UDP, ICMP, GRE, ESP, All

このルールが適用されるように、データ・パケットの送信に必要なネットワーク・プロトコルを設定します。注意するのはAll = すべてのプロトコルになります。

Action

アクセスルールに設定されたすべてのパラメータがパケットに適用された場合に実行されるアクションを設定します。

  • Accept: データパケットの通過を許可します。
  • Reject: データパケットを拒否し、 送信者に通知します。
  • Drop: データパケットをドロップしますが、。送信者には通知しません。

Result

Done!ITエリアにあるPCに192.168.6.40をアクセスすると、Berghof ControllerのWeb Serverにアクセスできました。

次はBerghof ControllerのCodesys RunTimeにアクセスするため、新しいGatewayを追加します。

先ほど設定したGatewayを選択します。

Scan Networkをクリックします。

そのBerghof Controllerを選びます。

Done!

もちろんプロジェクトのDownload・Upload・Monitiorなどもできます!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする