セキュリティーを考える「ユーザー認証」

クラウドサービスもいいけど、オンプレミスを公開するパターンもなかなか・・・。
クラウドサービスを使うにしても認証を社内Active Directory とパスワードを合わせたいなどと要求を出すと、どうしても、オンプレミスのサーバーを公開する必要が出てくる。


そういう時、どうやってセキュリティーを高めるのか考えてみる。


ユーザー認証の強化の方法


IDを複雑にするのは運用上問題が多いので、パスワードを強力にするしかないけど現実は難しい。


「大文字、小文字、数字、記号の4種類を使って8文字以上かつ、誕生日、住所、電話番号、家族の名前、家族の生年月日、記念日に関連する情報は使ってはならない。パスワード変更の履歴は5個、同じパスワードを連続して設定できない。パスワードの有効期限は3か月」なんてルールを強制されたら、付箋とかノートにメモするよなぁ~


ワンタイムパスワードや乱数表を使うってのはパスワードをユーザーが覚えなくてよいメリットはあるけど、カードなどの管理や持ち運ぶのが面倒。10個のサービスすべてがワンタイムパスワードを採用して、カードを10枚持ち歩くなんて嫌だよね。


スマートカード、対応機器限られてるし~盗まれたらどうするの?4桁数字のPINなんて・・・


生体認証・・・機械どうするの!!一度複製されたら使えないよね~


などと、複雑化すると問題が出てくるので運用に耐えられない。
個人的には5文字以上で有効期限は40日とかでいいんじゃないかと思う。


銀行とかで使われている数字4桁なんて、だれかの誕生日に設定しろ!!と指示しているのと一緒だよね。それがダメというなら01**~12**、**01~**31の範囲くらいは設定できないようにしとけよ~って思う。なんで5桁にしなかったんだろう?と思う。5桁ならとりあえず誕生日+一文字とかにするので簡単に推測しにくく出来るのにね~~


有効期限も1か月単位で変更しにくいように微妙にずらすとか・・・


0401(mmdd)
130401(yymmdd)
20130401(yyyymmdd)


このパターンを設定しにくいルールを決めれば、それなりの強度を保てると思うんですけどね


パスワードのヒントもやめてほしいよなぁ~「初めて就職した時の初めての上司」??誰だよそれ~



ADFSの名前は一つ!!


ADFSって何?って聞かれそうですが・・・

本来、社内ネットワークに設置される、コンピューターの認証基盤Active Directoryを社外のサーバーでも利用するための仕組みってとこですか?

Office365 とかクラウドサービスを社内のID、パスワードを全く一緒にして利用しようという仕組みです。これがなかったら、同じIDを設定していても、パスワードは別。ユーザーは同じIDを使っていながら、接続相手によって違うパスワードを入力する必要がある状態になります。(別のIDを使うなら大した問題ではありませんが・・・)

どうやってパスワードを使うかというと、認証時にADFS経由でActive Directory認証を行うんですよ。

ってことで、このADFSを使うということは、AD DSは当然ですが、ADFSサーバが停止するとOffice365が利用できないのです。

だから冗長構成を必ず取る必要があるんですね。そして、セキュリティーを高めるために、ADFS Proxyを設置して、これも冗長化。
とにかく、止めない。止まらない構成を構築する必要があるんです。なにせクラウドサービスは基本無停止だから。

でね、このADFSサーバー群なんですけど、もちろん個々のサーバーはそれぞれ別の名前があるんですけど、ADFSサービスとしては一つの名前で動作するんです。当たり前?いやいや、普通じゃないかもしれないけど、内部サーバーと外部公開サーバーは違う名前使うよね。え?一緒?
参照するDNSによって違うゾーンのサーバーを名前解決されるのって気持ち悪くない?ADFS Proxyは自分と同じ名前の内部ネットワークのADFSサーバーと通信するとき困るじゃん!!と思ってしまいましたが、全部同じ名前なんです。

社内のADFSも社外のADFS Proxyも同じ「https://adfs.contoso.com」でアクセスするんです。

もちろん社外のADFS Proxyがユーザーの代理アクセスする社内のADFSに対しても「https://adfs.contoso.com」でアクセスするんだよ。

これって面白いよね。

ちなみにADFS Proxyサーバはhostsファイルに社内のADFSのIPアドレスを記述している。

hostsファイルなんて、使わずにDNSで解決すべき!!なんて思っているのですが、「あぁ、こういう使い方もありなんだ~」と。

今日言いたいのは、「Active Directory Federation Servicesは、たくさんサーバーが必要だけど、FQDNは一つ!!」ってことです。


クラウドを使うためには・・・

最近Office365導入に向けた検証を本格的にやり、Active Directory Federation Services や Active Directory同期、Exchange Serverのハイブリッド構成の構築を行っていて感じること。


オンプレミス状態では考えられないほど、インターネット公開すること。


Proxyやエッジサーバーを用意する前提とはいえ、インターネット上からActive Directory認証が可能になるってことでアカウントのパスワード管理強化がセキュリティーの要だよなぁ~と感じる。


不要なポートは閉じ、セキュリティーホールを一生懸命閉じたとしても、ログイン画面は絶賛公開中。


アカウント名なんて、有効なメールアドレスを探すのと大差ないくらい簡単だろうし、パスワードルールが甘い企業だと、簡単に突破できるんじゃないかと思います。


パスワード変更期限の設定、複雑なパスワード、文字数制限は必須。できればスマートカードのようなユーザーすらパスワードを知らない仕組みを用意するとか、クライアント証明書などを組み合わせた認証が必要なんじゃないかと思います。


そういうことをやっても、公開するって結構きついよなぁ~


まぁ、それ以上のメリットを感じているし、求めるとクラウドって答えになるんだけど、機密情報はオンプレミスだから大丈夫!!なんて言ってられない世の中になっている。


ネットワークの内外関係なく、ちゃんと情報を管理し、保護する必要があるんだよね。



SCCM2012 SP1では日本語ブートイメージは使えない?

System Center 2012 Configuration Manager?Service Pack1 を適用すると、Windows8及びWindows Server 2012に対応する関係で、Windows AIKもWindows8ベースとなるWindows ADKに変更になっており、今後作成するブートイメージはWindows8ベースで作成することとなります。
まぁ、それ自体は問題ないのですが、唯一異なること、AIKは日本語版が存在していたこと。


要するにWindows ADKは英語版のイメージを日本語対応させ必要があるんですね。しなくても良いけど
ってことで、日本語パッケージを追加して、UIを日本語に設定する。
そりゃ、文字化けを解消するために自然にやる作業だと思います。


じゃ、どんな作業なの?というと、ADKコンソールから次のコマンドを入力します。


Copype amd64 c:\winpe_x64
Dism /Mount-Wim /WimFile:media\sources\boot.wim /index:1 /MountDir:mount
Dism /image:mount /Add-package /packagepath:"%WinPERoot%\amd64\WinPE_OCs\ja-jp\lp.cab"
Dism /image:mount /Add-package /packagepath:"%WinPERoot%\amd64\WinPE_OCs\WinPE-FontSupport-JA-JP.cab"
Dism /image:mount /Set-LayeredDriver:6
Dism /image:mount /Set-TimeZone:"Tokyo Standard Time"

ここまでは問題なし、日本語表示ができる状態ですね。
次にUIを変更します。


Dism /image:mount /set-AllIntl:ja-JP

または


Dism /image:mount /set-UILang:ja-JP

で日本語表示になります。
最後に、次のコマンドでイメージを作成


Dism /unmount-Wim /MountDir:mount /Commit

簡単な作業ですね。
日本語化されたブートイメージは?media\sources\boot.wim です。


これを適当なフォルダーにコピーしてSystem Center 2012 configuration Managerのブートイメージ追加を行うとエラーになります。
ファイルの権限が足らないと叱られる。


エラーの原因は「TsRes.dll」というファイル。


解決方法は分からないけど、回避方法は分かってます。


「日本語UIにしない」


Dism /image:mount /set-AllIntl:ja-JP
Dism /image:mount /set-UILang:ja-JP

これらの日本語表示にするコマンドを入力しなければ大丈夫。
表示は英語になりますが、日本語部分もちゃんと表示されます。


ユーザーにかかわらない部分だと、この位のトラブルはヘッチャラですが、クライアントの自動アップデートでソフトウェアセンターの表示が英語になったりと、若干問題のあるService Pack 1なのでした。



素敵なDirectAccess

個人的にはモバイル、在宅勤務用のVPNとしては最高の評価です。


導入するのに、Windows7または8のEnterpriseが必要なので若干敷居は高いかもしれませんが、Windows 2008 R2または2012の標準機能として提供されているので、SSL-VPN装置などを購入するより安価かも知れません。


そして、何より、接続するための準備がユーザー的に不要であること、接続作業が不要であることを評価しています。


まず、接続準備についてですが、


今までのVPNはダイヤルアップ接続だったり、専用クライアントのインストールなどの作業が必ず必要だったのですが、DirectAccessはグループポリシーにて配信されるため、ユーザーが気が付かない間に展開が完了することが可能です。さらに、プログラムのインストールがないので、その辺のトラブルもない。まさに、導入においてトラブルが非常に少ないのです。


次に、接続操作


DirectAccessはWindowsの起動直後から接続されているネットワークが社外なのか、社内なのかを監視しています。社外と判断すると自動的に接続を行うので、ログオン前に接続が完了した状態になります。当然、どこかのLANやインターネット接続という作業は必要ですが、まるでクラウドサービスを利用しているかのように、オンプレミスのサーバーにアクセスできるのです。


だから、クラウドとオンプレミスのハイブリッド構成との相性がとってもいいんですよ。
ハイブリッドにすると、どうしてもオンプレミスの制限にユーザーが混乱したり、不満を感じたりするのですが、事前にDirectAccessを展開しておけば、そのような混乱や不満が起こらないと思うんですよ。


?


ただね、「安全ではない社外ネットワークに接続し、社内サービスを利用する」って意識が欠落してしまうんじゃないかと心配したりしてます。ユーザーにはセキュリティー意識をもって節度のある行動をしてほしいと思うので・・・クラウドサービスも一緒なんですけどね。


結局のところ、社外ネットワークにパソコンを接続しても安全な状態を維持する仕組みやルールが必要なんですよね。DirectAccessはとっても素晴らしい機能ですが、社外にあるクライアントのセキュリティーを高く保つことができないのであれば、使うべきではない機能なんですよね。これはDirectAccessに限った話ではないですけど!!



スマートフォン生活になって変わること

人にもよりますが・・・


パソコンの位置付けが明確になる。


と思います。今までパソコンで行っていた作業の多くがスマートフォンで実現できるようになり、パソコンの使い方が変わってきたのでは?と思いますが、いかがでしょうか?


パソコンがないと困る状況以外は使わない生活に変化します。


パソコンが必要な時は・・・(私の場合)



  • 家計簿

  • 画像の編集

  • 長文の入力(メール、ブログ更新)

  • movable typeのテーマカスタマイズ

  • 年賀状(宛先の印刷)

  • DVD作成

  • 音楽及び画像の保管

  • PC向けWebサイトの閲覧

  • 仕事


今まで、毎日のように起動していたパソコンの多くの作業がスマートフォンで十分行えることが判明しています。


長文の入力もキーボードさえあれば問題ないのかもしれません。


私にとってパソコンは近い将来、ホームサーバーに変化するのかもしれませんね。



スマートフォン時代の企業ネットワークについて

数年前からスマートフォン時代の到来に向け、調査や検証を行ってきたが、最近の答えはスマートフォンでアクセスする情報は社内ではなく、クラウド上に置くべきだと思うようになっています。


ネットワーク技術者としては簡単かつ安全に社内システムに接続させてあげることが目標だと思っているのですが、BYODをはじめとする非セキュア端末を社内に接続するのはリスクが高くなるとともに、利用者の利便性が低下するのではと考えています。


社内ネットワークに接続するには、一般的にはSSL-VPNやVPN(L2TP+IPSec)やキャリアサービスを利用するのですが、SSL-VPNやVPNは接続するという操作が必要で、スマートフォンらしい常時接続利用が難しいです。キャリアサービスを使った場合は、常時接続環境を構築することは簡単ですが、その他キャリアを選べない問題やBYODが難しいなど、コスト的な負担が増える傾向にある問題があります。


その点、一定の費用とセキュリティーポリシーの改定が必要だったりしますが、クラウドサービスを利用すると、常時接続やキャリア問題などが簡単に解決できます。
しかも、サーバーは冗長化されており、一社では到底不可能な信頼性を持たせるとこもできます。


パソコンのみなら、DirectAccessなど新しい技術を使う手もありますが、スマートフォンを含めると、VPN系は一気に選択肢が狭くなります。いくらスマートフォンは不要と上司や経営者がおっしゃっても、無視した設計をするのは問題でしょう。


全ての端末が簡単に接続できる環境。それはクラウドサービスだと思います。
まぁ、独自開発アプリや不向きな業務はありますが、メール、スケジュール、ToDo程度なら、データが何処にあろうとユーザーにとってはあまり問題ではないでしょう。それよりも、出張先や外出先でアクセスできることの方が喜ばれるでしょうね。


ただ、クラウドサービス提供会社に問題が発生した時のことも考慮する必要があり、万が一サービスが停止しても、社内からの利用は問題ないような構成が望ましいですね。データ損失は最も注意すべきポイントだと思います。


そんな感じで、正常時はクラウド上のサービスを使い、非常時は社内のサーバーといったハイブリット環境を構築することが、今の時代なのかなぁ~なんて思ってます。


いうのは簡単だけど、設計、構築するとなると難しいんですけどね。



SharePoint アイテム保管ライブラリをのぞいてみよう(2025年12月改訂)

※2025年コンテンツ検索等の機能がリニューアルされましたので修正しました。 ※2023年アカウント移行に失敗し画像を失ったので再度取得し改訂しました。 Office 365 Advent Calendar 2021  の12月16日投稿です。 警告: 個人的な理解に基づく内容、...