Twilioのセキュリティ対策について

スポンサーリンク

これは、Twilio Advent Calendar 2015の12月10日の記事です。

【12月9日】satoshi0212さんTwilioサーバーレス化作業記録 – RequestURLもサーバーレス化
【12月11日】mobilebizさんTwilioClientがChromeで動かないときの対処法

前回の【myThingsとTwilioを連携して「好きな地域の明日の天気情報」を電話で知らせるシステムを作ってみる】に続いて書きます。

今回はTwilioのセキュリティに関すること。
Twilioは電話やメッセージのシステムを構築するAPIだけに電話番号をファイル上に吐き出すことが多々あります。もしも吐き出された番号が個人番号で不特定多数の方が見れる状態だったら、、、大変なことになりますよね。
では、一体どのように対策するのか、、、
結論から言うと「Basic認証」で対策していきます。

目的

Twilioのセキュリティ対策を行う

開発

Twilioのシステムファイルを置いてあるフォルダー階層に.htaccessファイルを、公開領域外に.htpasswdを設置して認証がかかるようにします。
※.htaccessと.htpasswdの作成方法はそれぞれインターネット上に情報が多くあります。「.htaccess 作成」や「.htpasswd 作成」等と調べると出てきます。

.htaccessと.htpasswdを設置

.htaccessと.htpasswdを作成して設置します。
認証をかけるTwilioのシステムファイルが置いてあるフォルダー階層は下記。

スクリーンショット_2015-12-10_13_03_29

今、hoge.xmlを叩くとxmlのページ内容が表示される状態になってます。

さっそくこの階層に作成した.htaccessを設置します。

スクリーンショット_2015-12-10_13_37_22

併せて.htpasswdも公開領域外、つまりウェブからアクセス出来ないところに設置します。

.htaccessと.htpasswdの設置が完了したらBasic認証が掛かるかhoge.xmlにアクセスして試してみましょう。

スクリーンショット_2015-12-10_13_42_54

上記のように「ユーザ名」と「パスワード」の入力ダイアログが出てきたら成功。

認証が通るようにRequest URLを設定

Twilioのシステムがhoge.xml(TwiML)を実行できるように管理コンソールから設定。管理コンソールの上部にある【電話番号】→【管理】へアクセスし電話番号を選択。Request URLの項目へ生きhoge.xmlまでのURLを設定します。

スクリーンショット_2015-12-10_16_53_10

URLの書き方は少し特殊です。
https://xxx:◯◯◯@example.com/hoge.xml
※httpよりもhttpsをおすすめ
の様に記述します。

xxxには.htpasswdで設定したユーザIDを入力し、◯◯◯には同じく.htpasswdで設定したパスワードを入力します。
設定が終わったら保存ボタンを押します。

これで設定が終わりです。
実際に電話をかけてTwiMLのファイルが処理されるかどうか確認します。

これでセキュリティ対策はバッチリ。

参考文献

Twilioのセキュリティー対策

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク

コメント

  1. あべ より:

    URLですが下記のように紹介されていますが
    > URLの書き方は少し特殊です。
    > http://xxx:◯◯◯@example.com/hoge.xml

    できれは暗号化された「https://」を紹介したほうが良いかなと思いました。