Connect(); というイベントがありました(まだ明日もあります)。とりあえず簡単に纏め。
※ニコ生(日本語であれこれ解説してくれたり)もあります → 池澤あやかと語る MS開発者イベント Connect(); 解説・生中継 by 週アス
Connect(); というイベントがありました(まだ明日もあります)。とりあえず簡単に纏め。
※ニコ生(日本語であれこれ解説してくれたり)もあります → 池澤あやかと語る MS開発者イベント Connect(); 解説・生中継 by 週アス
TechEd Europe 2014のKeyNoteがあるからかわかりませんが、いろいろUpdateがありました。公式Blogはまだなので適当に公式ドキュメントなどからPick Up。TechEdの情報もあれば随時Updateしていきます。
※ScottGuが公式出してきたので追記しました。
そんなわけでAzureConfの季節がやってまいりました。
Scott Guthrieはじめ著名な人たちがAzureの最新事情についていろいろ教えてくれるConferenceです。公式サイトを追ってもいいですし、Twitterでの質問も受け付けたりしてるので #azureconf ハッシュタグを追いかけるのもいいかともいます。
で、今年は4年前のPDC10みたいな感じでパブリックビューイングしよう!というノリと勢いのイベントも一緒にやってみました。
ただの居酒屋トークになった感はひしひしと感じてしまいますが、なんとなくわいわい見れるといいなーという感じでUSTREAMで配信してみました。(ユニーク視聴者数で170名ぐらい見て頂いたようです。夜中にお疲れ様でした)
少し前から既にPreviewとれていましたが、WebJobsがGAしました。
WebJobs SDKは1.0が今RCですね。結構勢いがある機能じゃないでしょうか。
リソースはこちらにまとまっているので参考に。
しばやん先生も記事にしていました。
ちなみにしばらく見ない間にジョブの詳細みたりログみたりもかなりよくなってますね。
※ログビューアーはSite Extensionsですね
いろいろありましたがDavid Ebbo先生がAzure WebサイトでSSL 3.0をオフにする方法を用意してくれました。(正確にはオフではなく拒否ですが)
やりかたは2パターンあります。とりあえずSSL 3.0が有効な状態を見ときましょう。(curlでやるとクールだけどIEでとりあえず。)
TLSがOnだとそっち使っちゃうので一時的に。で、Azure Webサイトにつないで見ます。
こんな感じでSSL 3.0です。サイトは普通に見えます
KuduにアクセスしてSite ExtensionsでDisable SSLv3をインストールします。
プレビューポータルだともう少し簡単です。(わざわざKuduにつながなくても良い)
簡単です。プレビューポータルだと再起動もされるので簡単ですね。ではブラウザでつないで見ましょう。
403になりました。TLS有効にするとちゃんと見えます。
※ちなみにこのExtension有効にすると、Extension消しても403になっちゃう気がします。。
もう1つの方法として提示されたのがURLRewriteを使う方法です。Azure Webサイトのフロントエンドのロードバランサーが、クライアントがSSL 3.0を要求してきたときに X-Forwarded-SSLv30 という特別なリクエストヘッダを付与してくれるので、こちらを見て判断する方法です。
(TLSで接続している場合などはこのリクエストヘッダが付与されません)
以下のようなルールをWeb.configに追記します。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Block SSL3.0" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_X_FORWARDED_SSL30}" pattern="1" />
</conditions>
<action type="CustomResponse" statusCode="403" subStatusCode="900" statusReason="Forbidden" statusDescription="SSLv3 connections are forbidden by this site" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
こんな感じになります。
Web.configだけで設定のOn/Offできるので、こちらのほうが使い勝手がいいかもです。(但しステータスコードが例だと403になるだけなので注意 ※CustomErrorsとか設定してないとという話)
クラウドサービスや仮想マシンについては以前書いた通りです。
SSL 3.0が完全に使われてない技術であればWebサイトもホスト側ですぱっとオフにできるのでしょうけど、そうじゃないクライアントがあるのでサービス側としてはこのような形でエラーにさせる方向なのでしょうね。
完全にクライアントの問題とも言えませんがクライアント側で少なくともSSL3.0使わなければ良いはずですので、サーバー側でどうするかは状況によりけりということでしょうか。(少なくとも現状は)
あ、ちなみにモバイルサービスもKudu使えるはずなので、同じ手段で対策できるかと思います。
URLRewriteでSSL3.0接続のときに403を返しつつカスタムエラーでユーザーにSSL3.0の無効化を促すようにする場合はこんな感じにすると良さそうです。
カスタムエラー用のCSHTML
@{
Response.StatusCode = 403;
}
<!DOCTYPE html>
<html>
<body>
<h1>SSL 3.0を無効にしてTLSを有効にしてください</h1>
</body>
</html>
Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="webpages:Enabled" value="true" />
</appSettings>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<httpErrors errorMode="Custom">
<remove statusCode="403" />
<error statusCode="403" path="/403.cshtml" responseMode="ExecuteURL" />
</httpErrors>
<rewrite>
<rules>
<rule name="TestBlock" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_X_FORWARDED_SSL30}" pattern="1" />
</conditions>
<action type="CustomResponse" statusCode="403" subStatusCode="900" statusReason="Forbidden" statusDescription="SSLv3 connections are forbidden by this site" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
結果
静的ファイルだとステータスコードが200に上書きされるようなので、CSHTMLで強制的に403を返すようにするようです。
たけぱらさんありがとうございます。
これでSSL3.0の時はエラー扱いにして且つユーザーに注意を促すことができますね。
※ ただ結局SSL3.0で繋いじゃってるので脆弱な状態といえば脆弱です。注意しましょう。まぁ注意を促したりするための対応なのでクライアント側で気を付けましょうね。ということです。
Previe PortalでちょっとF12ツールとかで見てみようと思ったところ、コンソールに面白い出力が。

Azureのアスキーアートロゴの横にメッセージが。
“Want to build awesome web applications like this one? Join us.”
意訳:Preview Portalみたいな素晴らしいWebアプリケーションを作ってみませんか? ご参加ください。
という感じです。ほほーと思ってURLを開くと
ということで、MicrosoftさんのJob検索ページへw
ご興味ある方は是非。
はーめんどうくさい。
概要はしばやん雑記とか見てください。
クライアント側はIEであれば詳細オプションでSSL 2.0/3.0のチェック外せばいいでしょう。
サーバーサイドでSSL 3.0を使わないようにするにはレジストリ弄ります。(Windows/IISの場合)そのへんはしばやん先生のBlogへどうぞ。
Azure WebサイトはSSL 2.0は無効にされててSSL 3.0無効化はもうちょっと待つ必要がありそうですね。自分で管理する必要がないマネージドなサービスの良し悪しというところです。
半分PaaSなクラウドサービスはそのうち対策済みのGuest OSがリリースされますが、待てない場合はStartup TaskでSSL 3.0を無効にするようにして再デプロイか、現在のインスタンスにログインして手動でレジストリ弄った後再起動しましょう。(←この場合、何かあった時に戻る可能性があるので注意)
IaaSな仮想マシンの場合はOSより上は自己責任なので、自分できちんとケアしましょう。PowerShell DSC使うならこんな感じですかね
Registry Disable-SSL2
{
Ensure = 'Present'
Key = 'HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server'
ValueName = 'Enabled'
ValueData = '0'
ValueType = 'Dword'
}
Registry Disable-SSL3
{
Ensure = 'Present'
Key = 'HKLM\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server'
ValueName = 'Enabled'
ValueData = '0'
ValueType = 'Dword'
}
Linux系も基本同じように対策が必要かと思います。AWS環境のPOODLE脆弱性対応 (CVE-2014-3566)を参考にどうぞ。
なんかScottGuのBlog見てたら補足できてなかったのがちらほらと。
適当に羅列しておきます。
そんな感じで今日もAzureは表に出ないところもUpdateされてました。
ちょっと前にAzure用Microsoft AntimalwareがGAしました。ので今日はその辺さらっと見ておきます。
Microsoft Antimalwareはそのまんま名前の通りOSをウィルスだったり不正なアプリから保護してくれるアプリです。Azure対応ということで、クラウドサービスと仮想マシンで使うことができます。
詳細はこちらのホワイトペーパーをどうぞ(直リン) → Microsoft Antimalware white paper
GA当初(10月3日)、ホワイトペーパーをざっとみてクラウドサービスの場合はSDK使うのかなー(と図を見て)と思ったのですがそんなことはなかったです。結局、クラウドサービスも仮想マシンもAzure PowerShellを使って構成する感じでした。
10月4日(土)にSQL Server収穫祭がありました。
公開されてる資料などはこちら。
Azure SQL Database入門 – 丸っとお見通し / @t_yamatoya (Microsoft MVP for Windows Azure)
SQL Database の DTU を研究してみる / @Masayuki_Ozawa (Microsoft MVP for SQL Server)
※SQL Databaseの鬼のセッションは非公開です
なおUSTREAMや録画などは無いので詳細は参加者だけの特典ということで。(生々しい数字とかいろいろありましたので)
圧力団体と言われる人たちの質問が酷かったですね。。。あと人の名前バラらすのはよくないと思います!( ^ω^)