ICS/SCADA プロトコルをテストするためのラボの作成

ICS/SCADA プロトコルをテストするためのラボの作成

40408
Created On 09/26/18 19:10 PM - Last Modified 06/12/23 16:48 PM


Resolution


概要

産業用制御システム (ics) を持つ組織は、しばらくの間、IT (企業ネットワーク) と OT (ics ネットワーク) との境界を確保するための道筋をとっています。多くの最初のステップは、パロアルトネットワークからファイアウォールを使用して、2つのネットワーク間の簡単なセグメンテーションを提供することでした。これは、悪意のある活動の可視性とパケット検査の初期要件を満たしています。企業は、ICS 内のセキュリティの姿勢を改善するために努力するように, 実装前にテストするための強力な必要性がある. このドキュメントでは、パロアルトネットワークファイアウォール内の appID、ユーザ id、およびその他の機能をテストするために、IT/OT 境界をシミュレートする方法について説明します。このラボ全体を1台のラップトップで仮想化できます。

 

要件

 

必須項目

ノート

パロアルトネットワーク仮想アプライアンス

VM50、パノス8.0.6 でテスト。

Windows 仮想マシン

Java でシミュレートされた HMI インタフェース用。

MAC OSX 版

10.12.6 でテスト, Xcode の環境が必要です (同様に、カリの Linux VM にインストールすることができます).

MAC 用の VM フュージョン

フュージョンプロ v 8.5.8 でテスト。Windows 用の VM ワークステーションも使用できます。

ModBusPal Java マシン

v 1.6 b でテストされています。ポーリング PLC デバイスをシミュレートします。

MBTGET

Github からクローンを作成します。ポーリングサーバーをシミュレートします。

Java (Windows VM の場合)

JRE v9、64ビットでテスト。

 

 

ユーザーが追加した画像

 

VM フュージョンを構成する

 ラボで使用される2つのネットワークは、ラベル vmet2 (PLC ゾーンの場合) と vmnet3 (ポーリングゾーンの場合) です。ここで示す例は、MAC での vm フュージョン用ですが、vm ワークステーションにも同じ原理が適用されます。注: VM50 ファイアウォールの電源をオンにしないでくださいまだ、最初に行う2つの重要な手順があります。

 

 

Vmnet2

Picture2.png

 

Vmnet3

Picture3.png

 

3番目のネットワークアダプタは、VM フュージョンの VM50 ファイアウォール設定で追加する必要があります。

 

Picture4.png

 

アダプタを次のように割り当てます。

  • vmnet3 へのネットワークアダプタ
  • ネットワークアダプタ 2 ~ vmnet 3
  • ネットワークアダプタ 3 ~ vmnet2

 

VM 構成ファイルは、3つのrdネットワークアダプター 用に編集する必要があります。フュージョンでは、ライブラリに移動し、VM50 を右クリックし、"Finder で設定ファイルを表示" を選択します。

 

Picture5.png

 

その後、フォルダ内の VM ファイルを右クリックし、[パッケージの内容を表示] を選択します。

 

Picture6.png

 

vmx ファイルを検索し、TextEdit または別のテキストエディタで編集します。次に示すように、ethernet2 の仮想デバイスを "vmxnet3" に変更してください。ファイルを保存します。[パッケージコンテンツ] フォルダが閉じている可能性があります。Fusion ライブラリから、VM50 ファイアウォールが起動されることがありました。

 

Picture7.png

 

ファイアウォールの管理 IP アドレスを構成するには、次の手順に従います。

https://www.paloaltonetworks.com/documentation/80/pan-os/pan-os/getting-started/integrate-the-firewall-into-your-management-network/perform-initial-configuration

 

デバイスライセンスと登録を適用するには:

https://www.paloaltonetworks.com/documentation/80/pan-os/pan-os/getting-started/activate-licenses-and-subscriptions.html

 

初期ファイアウォールポリシーの構成

 最初のファイアウォールポリシーにより、ポーリングゾーンと PLC ゾーン間のすべてのアプリケーションが許可されます。すべてのアクティビティがログに記録され、この時点で構成するプロファイルがありません。

 

セキュリティ ポリシー

Picture8.png

 

NAT のポリシー

Picture9.png

 

イーサネット インターフェース

Picture10.png

 

既定の静的ルートを覚えておいてください。私はデフォルトの仮想ルータを使用しています。VMWare Fusion の場合、予約されたデフォルトゲートウェイ IP は vmnet3 に192.168.55.2 ます。

 

Picture11

 

アドレスオブジェクト

Picture12

 

サーバーとクライアントの構成

 PLC デバイスとして機能する Windows マシンでは、vmnet2 (ファイアウォールの PLCZone) にイーサネットインターフェイスを置くようにしてください。ファイアウォールインターフェイスへのデフォルトゲートウェイポイントであることを確認してください: 192.168.45.20.

 

ModbusPal は PLC レジスタのシミュレーションに使用されます。あなたはここでそれをダウンロードすることができます:

https://sourceforge.net/projects/modbuspal/files/modbuspal/RC%20version%201.6b/

 

Java ランタイム環境が必要です。要件が満たされたら、コマンドウィンドウを開き、ModbusPal が常駐しているディレクトリに移動して、次のように起動します。

 

Picture13

 

「追加」を選択することで、「スレーブ」セクションを追加します。

 

Picture14

 

今のところ1つのスレーブを追加し、[追加] をクリックします。

 

Picture15

 

新しいスレーブに名前を入力し、目をクリックして設定します。

 

Picture16

 

[レジスタの保持] タブで、テストするレジスタの量を追加します。

 

Picture17

 

作成したアドレスの値と、必要に応じて名前を指定します。

 

Picture18

 

[コイル] タブでも同じ操作を行います。バイナリ値と、必要に応じて名前を追加します。

 

Picture19

 

 

完了したら、スレーブウィンドウを閉じます。[すべて有効] ボタンをクリックして、スレーブが有効になっていることを確認します。[実行] をクリックしてシミュレーターを起動します。

 

Picture20

 

MBTGET ツールを使用してポーリングサーバーをシミュレートするには、GitHub からツールを複製する必要があります。あなたはここに無料の MAC/Windows クライアントをダウンロードすることができます:

https://desktop.github.com/

 

オプションで、このツールは、カリの Linux 仮想マシン上に複製することができます。MBTGET ツールのクローンを作成するには、ターミナルまたはコマンドプロンプトから次の手順に従います。

 

Picture21

 

MBTGET のヘルプ画面:

 

Picture22

 

静的なルートは、PLC シミュレータに到達するために、画像をホストするラップトップ上に作成する必要があります。

 

MAC の場合:

#須藤ルート-n を追加ネット 192.168.45.0/24192.168.55.20  

 

環境のテスト

画像が正常に動作していることを確認するには、ターミナルウィンドウを開き、MBTGET を使用してポーリングを開始します。結果のポーリングには、ModbusPal 内の保持レジスタで作成した値が表示されます。"-n" の後の値は、作成したレジスタの数と一致する必要があります。

 

Picture23

 

appID でのテスト

 

より肯定的なセキュリティの姿勢に向けて移動するには、appID を実装することから始めることができます。ここでは、我々は単に我々が許可したいサブファンクションのアプリケーションとを追加します。私の例では、私は、PLCZone に PollingZone から使用される唯一の許可されたアプリケーションとして、ベースとレジスタをリードしています。

 

Picture24

 

MBTGET ツールを実行した後、ログを確認してアプリケーションの recogniztion を確認し、ポリシーによってアクションが許可されました。

 

Picture25

 

appID ルールでは、レジスタのみを保持するための読み取り要求を許可しています。我々は、コイルを読み取るために要求する MBTGET を使用することができます。要求は失敗します。

 

Picture26

 

ログには、要求が失敗したことと、コイルレジスタを読み取ろうとしたことが示されていますが、これはポリシーで許可されているものではありません。

 

Picture27

 

appID とユーザ id を使用したテスト

 

攻撃面をさらに減少させるには、特定のユーザーからのレジスタ読み取りのみを許可するようにユーザ id を適用します。

 

[デバイス/ローカルユーザーデータベース/ユーザー] で、2つのテストユーザーを追加します。

 

Picture28

 

[デバイス/ローカルユーザーデータベース/ユーザーグループ] で、各ユーザーを別のグループに配置します。私の例では、グループ "CanReadHolding" に user1 を追加し、グループ "CanReadCoils" には、。

 

Picture29

 

[デバイス/認証プロファイル] で、新しい認証プロファイルを作成します。種類の [ローカルデータベース] を選択します。

 

Picture30

 

[詳細設定] タブで、[すべてのユーザー] を選択します。

 

Picture31

 

[ネットワーク/インターフェイス/ループバック] で、認証のためにユーザーをリダイレクトするループバックアドレスを作成します。

 

Picture32

 

[IPv4] タブの下に IP アドレスを入力します。それはあなたの PollingZone と同じ範囲からであることを確認してください。

 

Picture33

 

[デバイス/ユーザー id/キャプティブポータル] で、表示されているキャプティブポータルの設定を編集します。先ほど作成した IPv4 ループバックアドレスを使用します。

 

Picture34

 

[ポリシー/認証] で、表示された値を使用して新しい認証ポリシーを作成します。

 

Picture35

 

[ポリシー/セキュリティ] で、最初のルールを編集し、保持レジスタを読み取るためのユーザーグループを追加します。

 

Picture36

 

変更されたルールは次のようになります。

 

Picture37

 

ループバックへの認証トラフィックを許可する新しいルールを追加して、キャプティブポータルが機能するようにします。

 

Picture38

 

変更をコミットします。

 

MBTGET で保持レジスタを読み取ろうとすると、失敗したことがわかります。

 

Picture39

 

トラフィックログによって、読み取り要求が ExplicitDeny ルールによって拒否されたことがわかります。これは、ユーザ id の要件が満たされていないためです。

 

Picture40

 

このセットアップでユーザー認証を開始するには、キャプティブポータル用に作成されたループバックアドレスを参照し、保持レジスタの読み取りを許可されているユーザーとログインします。

 

Picture41

 

[監視/ユーザー ID] の下の一覧で、認証されたユーザーを参照します。

 

Picture42

 

MBTGET 世論調査を再試行し、それが再び成功する必要があります。

 

Picture43

 

トラフィックログには、レジスタ読み取りに関連付けられた認証済みユーザーも表示されます。

 

Picture44

 

ファイアウォール CLI から、これら2つのコマンドを発行して、すべてのユーザ id データを消去します。

 

Picture45

 

保持レジスタの読み取りを許可されていない別のユーザーを使用して、再度ログインを開始します。

 

Picture46

 

MBTGET レジスタの読み取りを試行し、それが $ a に対して失敗することを確認します。

 

Picture47

 

トラフィックログに失敗した理由は、トラフィックが他のルールと一致しなかったため、ExplicitDeny が原因であることに注意してください。特に、CanReadHolding グループのメンバではないため、レジスタの読み取りは失敗します。

 

Picture48

 

 

概要

この仮想ラボでは、より多くのシナリオを使用して、ICS 環境内のセキュリティの姿勢をさらに高めることができます。たとえば、OT ネットワークにアクセスするユーザーのための多要素認証の追加。ルールセットへのセキュリティプロファイルの追加は別です。攻撃は、metasploit などのツールを使用してシミュレートすることもできます。この記事では、PAN-OS 8.0 のログプロファイル機能を使用して悪意のある動作を監視し、違反があった場合に ICS ユーザーを隔離された状態で配置する方法について説明します。https://live.paloaltonetworks.com/t5/Learning-Articles/保護-ICS と-SCADA の-ネットワーク-と-PAN-OS の-8-0/ta-p/ 180651 

 



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000Cm2pCAC&lang=ja&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language