SAP on Azure アーキテクチャ - セキュリティの設計

2019年9月17日 に投稿済み

Sr. Program Manager, Azure

このブログ記事は、SAP on Azure のテクニカル スペシャリストである Chin Lai The 氏から寄稿されたものです

優れた SAP on Azure アーキテクチャの設計方法に関する 4 部構成のブログ シリーズの第 1 弾である本稿では、セキュリティの設計について取り上げます。

優れた SAP on Azure アーキテクチャとは、「セキュリティ」、「パフォーマンスとスケーラビリティ」、「可用性と回復性」、および「効率と運用」を柱にして構築されたものです。

Azure のセキュリティに対するマイクロソフトの投資

マイクロソフトは、セキュリティに関する研究開発に年間 10 億ドルもの資金を投じ、社内のセキュリティ担当者の数は 3,500 人に上ります。マイクロソフトのクラウド プラットフォームから世界規模で収集される 6.5 兆件のシグナルに対し、高度な AI を利用して分析を行い、脅威を検出して対応しています。Azure プラットフォームにはエンタープライズ級のセキュリティとプライバシーが組み込まれており、それにはレッド チームによる演習をはじめとする実地テストによる永続的かつ厳格な検証も含まれています。マイクロソフトでは、こうしたテストを通じてセキュリティ侵害の検出機能と対応を確かめると共に、準備体制と実際の攻撃の影響を正確に測定していますが、これらは Azure が誇るクラス最高のセキュリティを実現する数多くの運用プロセスの 1 つにすぎません。

Azure は、さまざまな国、地域、そして医療、金融、政府、製造といった特定の業界において 90 のコンプライアンス認定を取得した、信頼できるプラットフォームです。さらに、Azure のセキュリティとコンプライアンスのブループリントを利用すれば、お客様のコンプライアンスに準拠した環境を容易に構築、展開、更新することができます。

セキュリティは共同責任

お客様である皆さまとマイクロソフトとの間で成り立つ共同責任モデルを理解することが重要になります。責任の配分は、SaaS、PaaS、IaaS のどのクラウド モデルを利用するかで決まります。選択されたクラウド展開にかかわらず、お客様のデータ、エンドポイント、およびアカウント/アクセスの管理に対する責任は常にお客様にあります。

SAP on Azure は IaaS クラウド モデルを用いて提供されますが、すなわちこれは、マイクロソフトによって物理データセンター、物理ネットワーク、物理ホストでセキュリティ保護がサービスに組み込まれているということです。しかし、Azure ハイパーバイザー外のすべての領域 (オペレーティング システムやアプリケーション) に対しては、お客様ご自身でエンタープライズ セキュリティ制御を実装していただく必要があります。

お客様とお客様が利用されているサービスのそれぞれの責任を示す図

SAP on Azure を展開する際の重要なセキュリティ上の考慮事項

ロールベースのアクセス制御とリソースのロック

ロールベースのアクセス制御 (RBAC) とは、Azure リソースへのアクセスを詳細に管理するための承認システムのことです。RBAC を利用すれば、IT の運用においてさまざまなチームに対し Azure リソースへのアクセスを制限して、アクセス許可を制御できます。

たとえば、SAP Basis チームのメンバーに Azure Virtual Network (VNet) への仮想マシン (VM) の展開を許可すると同時に、VNet の作成と構成は行えないように設定することが可能です。またその一方で、ネットワーク チームのメンバーには、VNet の作成と構成を許可すると同時に、SAP アプリケーションが実行されている VNet 内で VM の展開や構成を行えないようにすることもできます。

RBAC 設計の検証とテストは、SAP on Azure プロジェクトのライフサイクルの早期段階で行うことをお勧めします。

もうひとつの重要な考慮事項は、Azure リソースのロックです。Azure リソースのロックを利用すると、VM や ディスクといった Azure リソースの偶発的な削除や変更を防ぐことができます。  そのためには、必要な Azure リソースを SAP プロジェクトで最初に作成することをお勧めします。追加、移動、変更の操作を完了し、SAP on Azure 展開が稼働できる状態になったら、すべてのリソースをロックすることが可能です。そうすれば、リソースのロックを解除してそのリソース (VM など) の変更を許可できるのは、スーパー管理者だけになります。

安全な認証

SAP とマイクロソフトの製品を統合する際には、シングル サインオン (SSO) が基盤となります。そして、SAP GUI と Web ブラウザーベースのアプリケーションの両方で、サード パーティのセキュリティ製品と組み合わせる場合には Microsoft Active Directory の Kerberos トークンが長年この機能を実現してきました。

ユーザーがワークステーションにログオンし、Microsoft Active Directory に対する認証に成功すると、Kerberos トークンが発行されます。その Kerberos トークンをサード パーティのセキュリティ製品で SAP アプリケーションへの認証の処理に使用できるため、ユーザーが再認証を行う必要がなくなります。さらに、そのセキュリティ製品を DIAG (SAP GUI) や RFC のセキュリティで保護されたネットワーク通信 (SNC) や HTTPS の SPNEGO と組み合わせることで、ユーザーのフロントエンドから SAP アプリケーションに転送されるデータを暗号化することも可能です。

また、SAML 2.0 をサポートする Azure Active Directory (Azure AD) を使用すると、SAP NetWeaver、SAP HANA、SAP Cloud Platform などの幅広い SAP のアプリケーションやプラットフォームに対して SSO を実現することもできます。

こちらのビデオ (英語) では、Azure AD と SAP NetWeaver の間で SSO をエンド ツー エンドで有効化する方法を紹介しています。

アプリケーションやデータをネットワークの脆弱性から保護する

ネットワーク セキュリティ グループ (NSG) には、Azure VNet 内のリソースへのネットワーク トラフィックを許可または拒否する一連のセキュリティ規則が含まれます。NSG は、サブネットに関連付けることができるほか、VM に接続された個別のネットワーク インターフェイスに関連付けることができます。セキュリティ規則は、送信元/送信先、ポート、およびプロトコルに基づいて構築することが可能です。
NSG は SAP システムのネットワーク トラフィックに影響を与えます。次の図では、3 つのサブネット (FE (フロントエンド)、App、DB) が実装され、それぞれに NSG が割り当てられています。

  1. パブリック インターネット ユーザーは SAP Web-Dispatcher にポート 443 から接続できます。
  2. SAP Web-Dispatcher は SAP アプリケーション サーバーにポート 443 から接続できます。
  3. App サブネットは 10.0.0.0/24 からのトラフィックをポート 443 で受け入れます。
  4. SAP アプリケーション サーバーはポート 30015 で SAP DB サーバーにトラフィックを送信します。
  5. DB サブネットは 10.0.1.0/24 からのトラフィックをポート 30015 で受け入れます。
  6. パブリック インターネットからのアクセスは App サブネットと DB サブネットの両方でブロックされます。

NSG がネットワーク トラフィックに影響を与えている 3 つのサブネットを示す図

Azure の仮想データセンターアーキテクチャを使用した SAP 展開は、ハブ アンド スポーク モデルを使用して実装されます。ハブ VNet は、SAP アプリケーションが含まれているスポーク VNet へのトラフィックのルーティングに対する検査と制御を行うために Azure Firewall やその他の種類のネットワーク仮想アプライアンス (NVA) が実装される、接続の中心点として機能します。

SAP on Azure プロジェクトでは、検査デバイスと NSG セキュリティ規則が意図したとおりに機能していることを検証して、SAP リソースがネットワークの脆弱性に対して適切に保護されるようにすることをお勧めします。

暗号化手法を使ってデータ整合性を確保する

お客様の Azure Storage アカウントでは Azure Storage Service Encryption が既定で有効になっており、無効にすることはできません。これにより、Azure Storage に保存されているお客様のデータは既定で保護され、256 ビット AES を使って暗号化/暗号化解除が透過的に行われます。その暗号化/暗号化解除プロセスが Azure Storage のパフォーマンスに影響を及ぼすことはなく、コストもかかりません。  お客様は、暗号化キーの管理をマイクロソフトに任せることも、Azure Key Vault で独自のキーを管理することもできます。Azure Key Vault を使用すると、SAP システム内のインターフェイスや内部通信をセキュリティで保護するために使用する SSL/TLS 証明書を管理できます。

また Azure には、Windows の BitLocker 機能と Linux の DM-Crypt 機能を使用して仮想マシンのディスクを暗号化し、仮想マシンのオペレーティング システムとデータ ディスクにボリューム暗号化を行う機能も用意されています。既定では、ディスクの暗号化は有効になっていません。

保存されている SAP データを暗号化するためのアプローチとしては、以下をお勧めします。

  • SAP アプリケーション サーバーの Azure Disk Encryption の場合 - オペレーティング システム ディスクとデータ ディスク
  • SAP データベース サーバーの Azure Disk Encryption の場合 - オペレーティング システム ディスクと、DBMS によって使用されないデータ ディスク
  • SAP データベース サーバーの場合 - DBMS プロバイダーから提供される Transparent Data Encryption を利用して、お客様のデータとログ ファイルをセキュリティで保護すると共に、バックアップも暗号化されるようにする

オペレーティング システムのセキュリティを強化する

セキュリティはマイクロソフトとお客様である皆さまとの共同責任であり、オペレーティング システム、データベース、および SAP アプリケーション レイヤーに対してはお客様独自のセキュリティ制御を適用していただく必要があります。たとえば、SAP データベースへの攻撃に発展する可能性のある脆弱性を取り除くために、オペレーティング システムのセキュリティを強化していただくなどです。

Azure 上で SAP アプリケーションを実行できるように、Windows、SUSE Linux、RedHat Linux などがサポートされており、それらのオペレーティング システムの各イメージが Azure Marketplace で提供されています。これらのイメージのセキュリティは、御社のセキュリティ ポリシーや、米国インターネット セキュリティ センター (CIS) - Microsoft Azure Foundations Benchmark のガイダンスに準拠するためにさらに強化できます。

企業には、オペレーティング システムをはじめとする IT ソフトウェアの更新プログラムやパッチを適用するための運用プロセスがあることが一般的です。オペレーティング システムの脆弱性が明らかになると、セキュリティ アドバイザリで公開され、通常は早急に修復されます。オペレーティング システムのベンダーは、定期的にセキュリティ更新プログラムやパッチを提供しています。Azure Automation の Update Management ソリューションを使用すれば、Azure 内の Windows VM と Linux VM のオペレーティング システム更新プログラムを管理できます。ベスト プラクティスとして、オペレーティング システムのセキュリティ更新プログラムの選択的なインストールを定期的に行い、新機能などのその他の更新プログラムのインストールを保守ウィンドウ中に行うことをお勧めします。

詳細

このブログでは、SAP on Azure の展開に関する一連のセキュリティ トピックを取り上げました。確実なセキュリティ プラクティスを取り入れることが、Azure での安全な SAP 展開につながります。

Azure Security Center では、Azure 展開のセキュリティ保護と監視を行うためのベスト プラクティスについて学ぶことができます。また、Azure Security Center に関するこちらの技術ドキュメントAzure Sentinel と併せてお読みいただき、脆弱性の検出、悪用された場合のアラートの生成、および修復に関するガイダンスの提供のしくみをご理解ください。

本シリーズの第 2 弾のブログ記事では、パフォーマンスとスケーラビリティの設計について説明します。

Security Center の概要ページの画像