システム開発の工数を無駄にしないために、ログイン処理だけではなく多層防御機能も備える話題のIDaaS「Auth0」とは[PR]
ネットで公開されるオンラインサービスやクラウドサービスはもちろん、社内で使われる業務アプリケーションなど、世の中のITシステムの多くにはユーザーを認証し権限を与えるログインやサインインの処理が存在します。
かつて、マルチユーザー対応のOSが初めて登場した当時、こうしたログイン処理の実装は、ユーザーから入力されたユーザーIDとパスワードがあらかじめOS内に保存されたパスワードファイルの内容に合致しているかを確認する、という非常に素朴なものでした。
しかし現在では、そんな素朴な実装では許されなくなっています。
ユーザー認証に対するさまざまな要求の高まり
現在のログイン処理、すなわちユーザーの認証と認可にかかわるシステムにはさまざまな要求が存在します。
例えば複数のシステムに対するログインを一度で済ませるためのシングルサインオン、指紋や画像を用いた生体認証、多要素認証などの実現は多くの業務システムの要件になってきています。
加えて重要になってきているのは、例えばボットによる総当たり攻撃やリスト型攻撃への対策の必要性など、攻撃に対する強固な防御を備えることです。
万が一ログイン処理を不正に突破されることがあれば、アプリケーションの種類によっては技術的な問題にとどまらず、経営的な問題へと発展する可能性もあります。
しかしこれらを実現するには専門的な知識を持つ技術者による設計および実装、十分なテストなどが求められるでしょう。
とはいえ現実のシステム開発を考えるとき、そのシステムの本質的な価値を高めるために注力すべきところとは、一般には使いやすいユーザーインターフェイスや緻密なビジネスロジックなどであることは明白です。
そこで重要な選択肢として登場するのが、ユーザー認証と認可の部分にクラウドサービスなどを導入することです。これによりほとんど工数をかけずに、実績のあるユーザーの認証と認可の処理が導入できるわけです。
その代表的なサービスの1つが「Auth0」(オースゼロ)です。
便利かつ堅牢なログイン機能を簡単に組み込める
Auth0は、認証や認可にかかわる機能をクラウドサービスとして提供しています。簡単にシステムへ組み込め、管理画面上でさまざまな機能を構成できます。
iOSやAndroidなどのモバイルアプリケーション、Webアプリケーション、シングルページアプリケーション(SPA)、API経由でのバックエンド連係など、さまざまなシステムに組み込み可能
組み込み方のコードやサンプルが同社のWebサイトに用意されており、それに従うことで簡単にAuth0をアプリケーションに組み込むことができます。
組み込んだ後はAuth0のコンソール画面から、ログイン画面に表示するロゴやスタイル、提供する機能やその構成内容などを柔軟に設定、制御できるようになります。
通常のログイン名とパスワードを用いた認証はもちろん、Active DirectoryやGoogle Workspaceなどとの接続やシングルサインオンの設定も可能。
多要素認証にも対応しており、モバイルデバイス用プッシュ通知アプリによる確認ではSDKを用いて自社アプリにプッシュ機能を組み込めますし、サードパーティのプッシュ通知アプリ、Google Authenticatorのようなワンタイムパスワード発行による確認、メールや電話での通知などにも対応しています。
FIDO/WebAuthnによる確認も現在ベータ版として提供が開始されており、これに対応したスマートフォンやWindows、Macの指紋認証を用いることも可能になっています。
不正アクセスに多層的な防御を備えるAuth0
そのうえでAuth0は、一般のシステム開発においては相当に実装が困難かつ高コストになるであろうさまざまな攻撃手法に対する多層的な防御も備えています。
リモートワークが広まったことで、社内システムであってもファイアウォールの内側からのみログイン可能といった状況は変わりつつあります。あらゆる攻撃に対して防御機能を備えることは不可欠になっていきます。
例えばボットによるアクセスは、攻撃者が使うもっとも基本的なテクニックの1つです。
Auth0では、ボットによる不正なログインの可能性を自動的に検出、キャプチャ画面によるボットの判定の追加などにより効果的に対応します。
ユーザーIDやパスワードに対する総当たりでの攻撃にも、多数のログインを施行するような怪しいIPアドレスからの接続の制限、ログインが10回失敗するとそのIPアドレスからのアクセスを自動的に遮断などを実施。
パスワードの漏洩にも対応
例えば、従業員が業務システムと個人で使っているオンラインサービスに同じパスワードを使いまわし、運悪くオンラインサービスのパスワードが漏洩してしまったとしましょう。
漏洩したパスワードを用いることで攻撃者は効率の良いリスト型攻撃を行うことができます。従業員は速やかに業務システムのパスワードを変更するべきです。
こうしたケースに対応するため、Auth0ではこれまでにさまざまなサービスや企業などから漏洩したデータを保持しています。
そして、漏洩したパスワードを利用しているユーザーにはログイン時にパスワードを変更するように促すことで、他のサービスと同じパスワードを使いまわしているユーザーのアカウントを攻撃者から守れるようにしています。
リスクが高いときに自動的に多要素認証を入れる
すでに紹介した多要素認証についても、つねに多要素認証を要求するのではなく、重要な画面に入る前のみ要求することや、IPアドレスによって国外からのアクセスだと判明した場合や営業時間外にアクセスしようとするなど通常とは異なるケースでのアクセスのときに要求するなどのきめ細かな設定が、簡単なコードで可能になります。
ふだんは使いやすさを優先しつつ、万が一いつもとは違う場所や時間帯からのログインが必要になった場合には多要素認証を用いて安全にログインできる仕組みを用意することが可能です。
Auth0の管理画面ではもちろんログも参照でき、不審なアクセスなどがないか確認できるようになっていますが、外部のログ解析ツールSumologicやDatadog、Splunkといったサードパーティのログ解析ツールとの連係も可能です。
これによりAuth0を導入しつつ、システム監視についてはこれまでと同様のログ解析ツールに集約して利用できます。
無償トライアル提供、ウェビナーも開催中
これらの便利で堅牢な認証や認可および多層防御を備えたシステムを、自社やシステムインテグレータが実装しようとするよりも、Auth0のようなサービスを利用することがシステム開発において合理的なことである、ということは明らかでしょう。
さらに具体的な検討に当たっては、Auth0で無償トライアルやウェビナーなども開催しています。ぜひそちらにもご参加ください。
≫Auth0: Secure access for everyone. But not just anyone.
(本記事はAuth0提供のタイアップ記事です)
あわせて読みたい
Puppet、ローコードで運用監視やDevOpsを自動化する「Relay」を正式リリース。AWSやAzure、Terraform、Slack、JIRA、DataDogなど多数のツールをイベントドリブンに連携
≪前の記事
Amazon EC2 Auto Scalingに新機能「ウォームプール」、すぐ起動して処理を開始するインスタンス群をあらかじめ準備可能に