IPv6 を無効にするレジストリ

IPv6 を無効にするには、レジストリにて以下のエントリー(DWORD値32ビット)を作成して、

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters@DisabledComponents

値に DisabledComponents = 0xffffffff という周知なことだと思っていたのですが、
ここ最近、実は値が変わっているとのこと。まじか!?

ここに Important ということで情報があるではないか!?
DisabledComponents = 0xffffffff
ではなく
DisabledComponents = 0xff
が正しいと…
今さら言われちゃってもねぇ。困るよ。 影響範囲は、システムスタートで 5 秒の遅延が発生するとのこと。
ってことは、今まで 5 秒遅くなってたわけね。

de:code 2015 二日目

さて、2日目です。田園都市線の朝ラッシュ、きついなぁ。

  • 話題の Drone と新スマートデバイスが青空を臨む
  • SQL Server 2016 概要
  • Azure を利用した IoT データ分析
  • C# 6.0 新機能 & Visual Basic 14 新機能
  • Office 開発 / Office 365 開発の新機能紹介 & Skype for Business の開発プラットフォーム紹介
  • ASP.NET 5 Web 開発 ~フレームワーク編~
  • SQL Server 2014 スケーラビリティ検証 ~240 物理コア 4TB メモリーのモンスター~

IMG00318IMG00319

まさか、MS カンファレンスでドローンを見ることになるとは思わなんだ。西脇さんありがとー。
朝一の眠い中、楽しく過ごすことができた。

IMG00325IMG00326IMG00332IMG00333IMG00341

Windows 8 のころ、迷走してた感がありましたが、ようやく方向性が決まったように感じる Microsoft 。
こういうイベントは、肌で感じることができるので、参加するのって重要ですね。
MS のエバンジェリスト含め、結構な人と会話することもできました。

そうそう、アンケートなんですが、各セッションのアンケートだけで、どうして、全体アンケートって無いんでしょうね。
Wi-Fi が繋がりにくい、テーブルないから不便、場所の希望とか、書くところが無いのが残念。
あとは、セッションスケジュール & 部屋割りもちょっとどうかと思うところが…。
もうちょっとゆったりと座って、セッションは聴きたいものです。

IMG00343IMG00347

また、来年も行けるかな。

de:code 2015 一日目

昨年から始まった Microsoft の技術者向けのカンファレンスです。
場所は、ザ・プリンスパークタワー東京、東京タワーのすぐ近くのホテルでございます。
あー、現地に行くのが遠いぜ。上り電車のラッシュが…

IMG00307IMG00309IMG00310

本日の聴講は、次の通りです。

  • Keynote Session
  • 全部みせます!Microsoft Azure の新機能
  • Windows 10 アプリ開発解説 Part 1 ~基礎編~
  • クラウドプラットフォーム 次期 Windows Server 概要
  • クラウドデザインパターンを利用したエンタープライズアプリケーション開発入門

これに加えて、参加者パーティです。(くじは何も当たらず)
今年、お土産教材はありません。
昨年と比べて、Expo 会場が賑やか、華やかになっていたように感じました。
コンパニオンのお姉さんが多い。
参加人数は 2,000 人とのことなので、昨年は 1,500 人だったから、詰め過ぎだな。
Giorgio Sardo と Jason Zander が来日していて基調講演でプレゼンしてた。
おそらく、この後の各国で開催する build や tech・ed にも出るのだと思う。

新 CEO になってからの初 Windows 。
そして、ここ最近は「クロスプラットフォーム」「オープンソース」を口にする Microsoft 。
Visual Studio 2015 を突破口にどこまで攻めていけるのか、注目です。

IE11 は TLS_FALLBACK_SCSV を送信しない

へー、そうなんだという内容です。

上記にあるレジストリは Win8.1 + IE11 では効きませんでした。
SSL ハンドシェイクを行う際、Client Hello にて TLS_FALLBACK_SCSV を送信すると Cipher Suites に {0x56,0x00} が
追加されるので

Cipher Suites: Unknown (0x5600)

があれば、TLS_FALLBACK_SCSV を送信していることがわかるのですが、IE11 では送信していませんでした。
IE は独自実装でフォールバックをしているのかなと思いきや、SChannel が独自に実装しているっぽい。

Microsoft connect サイトを見たら

Internet Explorer should send TLS_FALLBACK_SCSV
https://connect.microsoft.com/IE/feedback/details/1002874/internet-explorer-should-send-tls-fallback-scsv

を見つけたのですが、TLS_FALLBACK_SCSV はやらんと言ってますな。

もう一つ、ついでに

RFC5746 の ClientHello では renegotiation_info Extenstion が空であるか、TLS_EMPTY_RENEGOTIATION_INFO_SCSV として Signaling Cipher Suite Value (SCSV) を指定しなければ
ならない。

とある。では、IE はどのようにして Signaling Cipher Suite Value (SCSV) を指定しているのかというと、
IE11 に限らず、IE は renegotiation_info Extenstion を使ってた。(IE8 以降でパケット採って確認してみた)

IE11_SSLTLSHandShake

renegotiation_info というのは TLS 拡張で、SSL ハンドシェイク中の Client Hello と Server Hello の body の
extensions に付いてきます。初回ハンドシェイクの場合、ここには 00 が入ります。
(拡張の実際の中身は ff 01 00 01 00: “ff01” = 拡張タイプ、”0001” = 拡張の長さ、”00” = 1byte 分の 0 が入る)

IE11_SSLTLSHandShake2

クライアント
自身で renegotiation_info Extenstion  を送信した後、ServerHello を受信したら、サーバーが renegotiation_info Extenstion があるかをチェックする必要があり、あれば、secure_renegotiation = TRUE に、なければ
secure_renegotiation = FALSE に設定する。
secure_renegotiation = TRUE の場合には、再ネゴシエーションを行う際に renegotiation_info Extenstion を
使い、特定の情報を送信する。
secure_renegotiation = FALSE の場合には、再ネゴシエーションを中止する。
サーバー
Client Hello にて TLS_EMPTY_RENEGOTIATION_INFO_SCSV もしくは renegotiation_info Extenstion  があるかを
チェックして、どちらかがあれば secure_renegotiation = TRUE に設定する。
どちらも無ければ secure_renegotiation = FALSE に設定して、実装によってはハンドシェイクを中止させる。

面倒なのは、TLS_EMPTY_RENEGOTIATION_INFO_SCSV と renegotiation_info Extenstion  は両方一度に使うのは
ダメらしい。なんか、大変だね。

Visual Studio 2012 以降には MAPI ヘッダーが無い

何とも肩身が狭い MAPI です。
Visual Studio 2012 以降には標準で MAPI ヘッダーはありません(インストールされません)。
SDK v8.0 や v8.1 にも入っていません。
MAPI プログラミングをする際には別途、MAPI 関連のヘッダーをダウンロードする必要があります。

なんだかねぇ。

de:code 二日目

de:code  日本マイクロソフトの開発者/アーキテクト向けイベント
http://www.microsoft.com/ja-jp/events/developer/default.aspx

二日目終了で全終了。

IMG00175 IMG00176
IMG00177 IMG00183

本日は

  • ジニアス流! SQL Server 2014 アプリ開発の極意詳細を見る
  • Azure SQL Database 詳説
    ~ 実運用で失敗しないために理解しておくべきこと ~詳細を見る
  • TypeScript 1.0 詳説
  • Effective Big Compute
    ~ Azure HDInsight と HPC Pack でスケーラブルなアプリケーションを開発しよう!詳細を見る
  • de:code 参加者に捧げる最新 Microsoft デモ/プレゼンの極意

の 5 セッションを聴講しました。
今日は途中の時間で多くの MS エバンジェリストの方とお話しできたので満足。

de:code 一日目

de:code  日本マイクロソフトの開発者/アーキテクト向けイベント
http://www.microsoft.com/ja-jp/events/developer/default.aspx

参加してます。
上りラッシュ電車との戦いです。プリンス パークタワー東京 遠いわ~。
基調講演にて、日本では、今後、tech・ed ではなく、de:code を継続開催しているとのこと。
せめて開催場所は、みなとみらい の方がいい…。

IMG00170 IMG00173 IMG00164

本日は

  • 基調講演
  • この 10 年をキャッチアップ! .NET 開発者のための技術選択と「いま」
  • Web アプリケーション パターンの進化 ~ One ASP.NET の今とこれから ~詳細を見る
  • クラウド アプリケーション設計の王道 : デザイン パターン 20 連発!
    其の一 パフォーマンスとスケーラビリティ編詳細を見る
  • クラウド アプリケーション設計の王道 : デザイン パターン 20 連発!
    其の二 回復性と管理とセキュリティ編詳細を見る
  • Azure Storage の新機能とベスト プラクティス詳細を見る

を聴講しました。
もちろん、参加者パーティーにも参加です。

IIS 7 以降のアプリケーションプールのビルトインアカウントにアクセス権を付与する

聞かれたので、メモ替わりに。

AppPool

アプリケーションプールの ID ですが、IIS 7.0 以降は既定で ApplicationPoolIdentity になっています。
使用する Web アプリによっては(例えば、画像管理とか)ファイルをブラウザから IIS にアップロードすることもあります。
その際、書き込み権限がなければ、当然ですが、アクセス違反が発生して、書き込むことができません。
こういうときには、どのアカウントがアクセスしてきたのか監査で調べることができます。

監査設定

監査ポリシー設定

この設定で一度、再現させて、イベントログ – セキュリティ を見てみると…ありました!

AppPool_Err

今回の現象では、アカウント名 「Classic .NET AppPool」 が WriteData でアクセスしたが、権限が無いために
エラーになったことがわかります。

IIS のアプリケーションプールの ID についてですが、ApplicationPoolIdentity のアカウントは

IIS AppPool\アカウント名

になります。

今回は、IIS AppPool\Classic .NET AppPool に対して書き込み権限を付与してあげれば
期待した動作(書き込みできる)になるわけです。

アクセス権設定ユーザー

アプリケーションプールが Classic .NET AppPool であれば、IIS AppPool\Classic .NET AppPool
DefaultAppPool であれば、IIS AppPool\DefaultAppPool になります。
なお、この IIS AppPool\アカウント名 ですが、アカウント名を途中まで入れて名前の確認をクリックしても
一覧表示には表示されません。すべて入力してから、名前の確認をクリックする必要があります。

DTCTester の使い方

DTCTester は、MS-DTC を使い、SQL Server に対する分散トランザクションの動作を確認することができるツールです。
内部的には、ODBC データソースを使い、SQL Server データベースのトランザクション サポートを確認しています。
DTC の設定は問題ないのか、DTC が動いているか、等確認する際には、便利なツールなので紹介します。
なお、DTCTester は実際に SQL Server に接続して、一時テーブルを作成するので、SQL Server があることが前提です。

まず、上記をダウンロードして、どっか適当なフォルダーに展開しておく。

[ クライアント側の設定]

  • MS-DTC の設定
  • ODBC データソースの定義
  1. MS-DTC の設定
    Client_MS-DTC設定1
    Client_MS-DTC設定2
    上記でクライアント側の MS-DTC の設定は完了です。
    なお、MS-DTC は設定を変更したら、DTC サービスを再起動する必要があります。
  2. DTCTester は、DTC に対して ODBC データソースを使って SQL Server にアクセスするように指示します。
    では、データソースを定義しておきます。なお、クライアント側が 64bit OS の場合には、
    32bit の ODBC データソース(C:\Windows\SysWOW64\odbcad32.exe)で作成することを
    忘れないようにしてください。(DTCTester が 32bit ツールのため)
    Client_DSN作成1
    Client_DSN作成2
    Client_DSN作成3Client_DSN作成4
    Client_DSN作成5Client_DSN作成6
    Client_DSN作成7

この投稿の続きを読む