カスタムAppのセキュリティー アカウント/パスワード編

社内LANやVPN環境下でFileMakerシステムが稼働しているのであれば、悪意を持った第三者がFileMakerサーバへアクセスすることが不可能なので、総当たり攻撃や他人になりすましてのログインという危険性について、厳格に考える必要はありませんした。
しかし、はじめに編で書いた通りインターネット上に直接公開する場合はこれからお伝えするポイントを十分考慮する必要があります。

アカウント/パスワードについてよく聞かれることは、考えられるパスワードを大量かつ自動的にテストをする総当り攻撃が可能かという質問です。最適な解答は「出来ると思って準備を怠らない」です。つまり簡単なパスワードだったら解読できて第三者がアクセスできてしまうと思ってその備えや対処をカスタムApp開発者が考えておく必要があります。
また、アカウント/パスワードの管理は個人に委ねられています。そのため実際は、総当たり攻撃といった高度なプログラミング技術を持った第三者による解析よりも、本人の様々な不注意によるアカウント/パスワード漏洩の方が統計的には多いようです。

そこでアカウント/パスワードのセキュリティーに関してお伝えしたいことは下記のポイントです。

  • アカウント/パスワードを十分な長さにする
  • アクセス権セットの設定を綿密に設定する
  • AdminConsoleへのIPアドレスアクセス制限をする
  • FileMaker Server ログを定期的に確認する

・アカウント/パスワードを十分な長さにする
総当たり攻撃といっても十分な長さがあれば解読は困難になります。もちろん論理的にはどれだけ長くしても解読できる確立は0ではないのですが、例えば解読に一万年を要するという複雑さであれば実用性も考えると妥協できるラインではないでしょうか。1秒辺り3回程度トライできるとして、10台のPCから行った場合で1日あたり260万回のテストができます。数字のみ8桁のパスワードで38日、大文字小文字区別なし英数の8文字で220年、大文字小文字区別あり英数の8文字で2億3千万年ですべての文字の総当たり攻撃が出来る計算になります。
FileMakerでは「パスワードの最小の長さ」設定で、可能なパスワードの「長さ」を何文字以上と強制させることができます。長さだけなので数字のみパスワードも設定できてしまいます。また、パスワードクラックには様々な手法がありますので、簡単すぎるパスワードも問題があります。ユーザーによるパスワード変更は標準メニューではなく、パスワード変更スクリプトを作成し大文字小文字が含まれているかどうかを確認すると良いでしょう。
ただし、パスワードはそのままレコードに保存しないでください。スクリプトでFileMakerのアカウント情報に書き込むか、ハッシュ値とソルトをレコードに保存するようにしてください。詳細については別の機会にお話します。


・アクセス権セットの設定を綿密に設定する
アカウント/パスワードをどれだけ強固にしても、12345678、他サイトと同じ、パスワードを書いたメモからなど、本人の不注意による漏洩はありえます。その為本人ではない、なりすましのログインされることを頭に入れておく必要があります。本人ではないログインが成功したとしても被害を最小限にする考えも常に必要です。
FileMakerでは「アクセス権セット」の設定で、アクセスできるレコードや実行できるスクリプトなどをかなり詳細な条件で表示/編集/削除など制御できます。
注意したいのは、FileMakerのカスタムAppは往々にしてこれで完成ということはなく、常に現場の声からブラッシュアップされることにより、新しいテーブルやフィールドが追加されていきます。その追加された分のアクセス権セットの設定の見直しに漏れが起きることがよくありますので注意してください。


・AdminConsoleへのIPアドレスアクセス制限をする
総当り攻撃はFileMaker ServerのAdminConsoleにも可能だと思ってください。ファイルのアップロード・ダウンロード、ログ閲覧が第三者が可能になってしまうことは怖いことです。この設定は簡単に出来ますので少しでも障壁を高めるためにぜひチェックしてください。


・FileMaker Server ログを定期的に確認する
総当たり攻撃は大量のログインエラーのログをFileMakerServerのサーバーイベントログに残します。攻撃を受けているかどうかはログを見れば誰の目にもひと目で分かります。定期的に確認することを強くオススメします。