メニュー

Expand
ページを評価:

SIPセキュリティベストプラクティス

概要

SIPアプリケーションををインターネットに晒す場合、認証の無いアクセスからあなたのアプリケーションを保護する必要があります。悪意のあるサードパーティ製品はVoIP製品の弱点を探しています

Twilioは下記のアプリケーションのセキュリティを保つ仕組みを用意しています。

IP認証

SIPアプリケーションを簡単に、そして最も効果的にセキュアにする方法は、あなたが信頼するIPエンドポイントのSIPのみを許可することです。

有効にするためにはIPアクセスコントロールリストをエンドポイントおよびドメインに適用することです。IPアクセスコントロールリストを追加することにより、それらのIPのみがあなたのSIPドメインに接続できます。その他のトラフィックはすべてブロックされます。

IPアクセスコントロールリストはTwilioログイン後、もしくはREST APIで設定できます。

Caution: IP Authentication does not protect you when communicating with multi-tenant 3rd party services, such as a IP trunking carrier or a hosted PBX service. Any user with an account on the 3rd party system would be able to send traffic to your application from the same allowed IP. IP authentication alone does not protect against certain other types of attacks. It is highly recommended that you also configure User Credentials.

ユーザー認証

もう一つの方法としてユーザー認証を用意しています。この機能が有効な場合、SIPリクエストはユーザー名、パスワードの認証が必要です。

SIPドメインとSIPアプリケーションにアクセスするために、ユーザー名とパスワードからなるクレデンシャルリストを作成します。下記の要件に従ったパスワードを設定する必要があります。

  • 12文字以上
  • 大文字、小文字を両方入れること
  • 少なくとも1桁の数字

クレデンシャルリストはTwilioにログイン後 、もしくはREST APIで設定できます。

TLS

トランスポートレイヤーセキュリティ(TLS)はSIP接続をセキュアにします。あなたのSIPエンドポイントとTwilioの間を流れるデータをクリアテキストで通信することを防ぎます。

Twilioはリモートクライアントのクレデンシャルを認証することはできません。つまりあなたのクライアントには自己署名証明書を使用できることを意味しますが、これは単独でTLSが認証機構として適切でないことを意味します。この時点では唯一SIP通信を暗号化するための方法であり、中間間攻撃を防ぐことはできません。

アプリケーションデザイン

上記に加え、セキュリティアクセスを強化するアプリケーション構築の方法があります。はじめに、URLに対して常にHTTPSおよびPOSTを使用することです。HTTPSで接続することにより、アプリケーションとTwilioの間をクリアテキストが流れることを回避します。

2つ目に、TwiMLリクエストにX-Twilio-Signatureを検証するようにすることです。これは第三者のアプリケーションのオペレーションデータへの干渉を回避します。Twilioヘルパーライブラリはリクエスト検証を手助けするユーティリティクラスを用意しています。用意しています。

3番目にTwilioはTwiMLのアプリケーションが適切なエンドポイントにアクセスのを確認するために使われるCallbackの情報を渡します。この情報は

  1. TwiMLリクエスト中のSIPリクエストのソースIPアドレス
  2. ユーザー認証を使用している場合、Twilioは認証されたユーザー名を渡します。
  3. SIPリクエストのURIリクエストとFromヘッダー

リクエストを検証し、異常なトラフィック・パターンをチェックするためにこの情報を利用できます。例は以下のとおりです。

  1. ソースIPアドレスはあなたのIPアドレスか?
  2. URIにアクセスするユーザーはアクセスできるべきか、そうでないか
  3. 特定のIPから大量のアクセスを受信していないか
ページを評価:

ヘルプが必要ですか?

誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。

        
        
        

        フィードバックくださりありがとうございます!

        We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        Refer us and get $10 in 3 simple steps!

        ステップ1

        Get link

        Get a free personal referral link here

        ステップ2:

        Give $10

        Your user signs up and upgrade using link

        ステップ3

        Get $10

        1,250 free SMSes
        OR 1,000 free voice mins
        OR 12,000 chats
        OR more