2021/05/24

SalesforceのCSP|CSPの各階層における具体的な対策・CSPの追加機能

 
  

SalesforceのCSP

Salesforceに限らず、全てのサーバーでCSP(コンテンツセキュリティポリシー)が活用出来ます。それがある事で外部から情報が抜き取られたり意図しないプログラムが実行されたりする事を防いでくれます。 今回はアプリケーション・ミドルウェア・OS・ネットワークの4つの観点からCSPをどう活用して行けば良いかを解説していきます。

SalesforceのCSPとは

SalesforceにおけるCSPとは、コンテンツセキュリティポリシー(Content Security Policyの略)の事です。コンテンツセキュリティポリシーとは、特定のサーバー攻撃を察知し、被害を最小限に食い止める為に必要なセキュリティシステムの事を言います。 ここで言うセキュリティシステムはアプリケーション、ミドルウェア、OS、ネットワークの4つの階層の事で、各段階で防波堤の様な物を作っていきます。 アクセスを許可した会社名がドメインに含まれていないサイトが読み込まれた場合、サードパーティホストとしてデプロイされて監視対象となります。サードパーティレベルのサイトにアクセスするには事前に自身のセキュリティーレベルを高めておく必要があります。 それらの段階を踏まえて、ホストサーバーのアクセスを許可するか否かを判断出来ます。

なぜSalesforceにCSPが必要なのか

サーバーから取得したデータをブラウザが信用してしまうと言う特性を利用したXXS攻撃が後を絶たないからです。その攻撃により情報が抜き取られたり、意図しないスクリプトが勝手に実行されたりする危険性があります。 その為、XXS攻撃による被害を最小限に留める様に許可したいドメインのみを選定出来る様にします。その際にドメインの監視機能を持つCSPが必要となってくるのです。CSPを利用しているSalesforceのブラウザは、サーバーの許可されたドメインのみを実行します。

CSPの各階層における具体的な対策

CSPにおける各階層の具体的な施策について紹介していきます。基本的にはアプリケーション、ミドルウェア、OS、ネットワーク毎に行うのですが、それでも足りない部分は全体で補っていきます。

アプリケーション

アプリケーションは不特定多数に晒されるものなので、4つの階層の中でもかなり攻撃を受けやすいです。対策が疎かであったり、1度サーバー攻撃を受けたりしてシステムが脆弱になっているとセキュリティの安定運用が確保出来ません。 そこでインターフェースの安定性を高めたり、サイバー攻撃を受けた際に不要な信号を送ったりしてアプリケーションが誤作動を起こさない様にします。加えて、被害を最小限にする為に接続元と許可された通信システムを持つネットワークのみアクセス出来る様にする事も行います。

ミドルウェア

ミドルウェア内に保存されているデータが何らかのサーバー攻撃によって抜き取られる危険性があります。従って、許可した通信システムやアカウント、接続サーバーだけがミドルウェアにアクセス出来る様な制限をかける必要があります。 加えてデータを閲覧する際にパスワードを設定したりデータ自体を暗号化するのも有効です。

OS

administrator等のOSアカウントが他者に乗っ取られてしまいコントロールが出来ない状態に陥らない為にも、異常なアクセスはシャットダウンする仕組みを構築する必要があります。 加えてマルウェア対策も施す事によって、通常では起こり得ないシステム挙動やプログラム実行を察知し阻止する事が出来ます。 Windowsでは必要不可欠なので販売店のサービスによっては予め導入してくれているところもあります。しかし、UNEX系のOSでは搭載されていない事がほとんどなので、必要に応じて導入しておく必要があります。

ネットワーク

ネットワーク階層においても通信システムや接続元サーバーにアクセス制限をかけておく事で、よりサーバー攻撃の脅威から守られやすくなります。 仮にサーバー攻撃がアプリケーション、ミドルウェア、OSを突破してきてしまったとしても、この階層に異常なアクセスを検知して食い止めるシステムを設けておけば最後の砦となるのです。

CSPの付加機能

SalesforceのCSPの付加機能としてW3Cの標準搭載があります。そのため、サイトやサーバーにダウンロードしているコンテンツを守ってくれます。その上、Lightning Lockerを使えば外部のカスタムLightningシステムも自身が所有しているブラウザ上で実行する事が出来ます。 Lightning Lockerは、外部サーバーのカスタムLightningがコンテンツをシェアしたり、改変や改悪する事を防いでくれるSalesforceのサービスの1つです。 しかしこれが用意出来ない場合は、入手した危険性がないデータをJavaScriptに組み込んでから自身のサーバーに送るという代替手法もあります。 いずれにせよデータの抜き取りや意図していないプログラムの実行を防ぎ守りを強固にしてくれるので、CSPと共に活用したいツールです。

ご自身のCSPはきちんと機能していますか

気づかぬ間に情報が抜き取られたり、意図していないプログラムが実行されていたりする可能性があるので、Salesforceを使っている方もCSPの有効活用はとても大切です。 出来るだけ危険性を下げるにはアプリケーション、ミドルウェア、OS、ネットワークの4つの階層それぞれに防止策を施し、足りない部分はサーバー全体で補っていく必要があります。 付随のLightning Lockerも合わせて活用し、ご自身のサーバーをあらゆる攻撃から耐え抜ける様にしましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】