033908 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

家studyをつづって

PR

プロフィール


kinada3

カテゴリ

日記/記事の投稿

バックナンバー

キーワードサーチ

▼キーワード検索

楽天カード

コメント新着

Bottega@ Re:LPIC1メモ2(06/16) 比較式の説明がない -leとか
Bottega@ Re:LPIC1メモ2(06/16) 仮想環境でのhwclockは?

フリーページ

ランキング市場

ニューストピックス

2018年02月02日
XML
カテゴリ:Windows関連
2017年5月に流行したWannaCryについて調べることがあり、
その際にSMBについて調べたのでメモ。

SMB(Server Message Block)は、
主にWindowsで使用されているOSI参照モデル第7層アプリケーション層部分の
独自通信プロトコルの総称。
LANを通じてファイル共有やプリンタ共有などの実現に使用されるもの。

SMBとOSの関係
プロトコル実装しているOS機能
SMBMS-Networks
LAN Manager
Windows for Workgroups
Windows NT 3.xなど
一番基本的なファイル共有プロトコル
CIFSWindows 9x
Windows Me
Windows NT 4.x
初期のSMBをベースにオープン規格化されたもの
現在ではCIFSは、SMB 1.0の中に含まれるダイアレクトの一つという扱い
SMB1.0Windows 2000
Windows XP
Windows Server 2003
Windows Server 2003 R2
CIFSに対する拡張として定義されたプロトコル
Kerberos認証やActive Directory対応
以前のバージョンのファイルやフォルダーへのアクセス
スパースファイルやリパースポイント、オフライン、圧縮、暗号化属性などのサポート
※Windows 8.1/Windows Server 2012 R2以降では、「SMB 1.0」機能を削除してセキュリティの向上や不要なコンポーネントの無効化が可能
SMB2.1Windows 7
Windows Server 2008R2
1MbytesのラージMTUのサポート(デフォルトMTUは64Kbytes)
クライアントoplockリースモデル
スリープモードのサポート
ブランチキャッシュサポート
SMB3.0Windows 8.1
Windows Server 2012 R2
アンバッファードの読み書き
RDMA操作のリモートからのキャンセル
スケールアウトファイルサーバークライアントの自動リバランシング
スケールアウトファイルサーバー上のマルチプルSMBインスタンスサポート
SMB上のHyper-Vライブマイグレーション
SMB3.11Windows 10
Windows Server 2016
暗号化や整合性チェックアルゴリズムのネゴシエーション
ネゴシエーションやセッション確立の拡張保護機能
指定したダイアレクトでの再接続
※http://www.atmarkit.co.jp/ait/articles/1507/02/news026.html

SMBとCIFSの違い
CIFS(Common Internet File System)はSMB1.0プロトコルの「ダイアレクト」(dialect、方言)。
LinuxのSAMBA等、Windows以外のOSやアプリケーションソフトでも利用できるよう仕様を公開したもの。
つまり、CIFSはSMBの一部であり、CIFSのみで実装することはできない。
また、後にオリジナルのSMBプロトコルの後継仕様が同社によって公開されたため、
現在ではCIFSという用語が使われることは減っている。

SMBの構成


SMBはいくつかの機能を持っている。機能ごとに使用している通信ポートも異なる。

Windows 2000以前のファイル/プリンタ共有サービス
Windows系OS(Windows 9x/Me/NT/2000)では、ファイル共有やプリンタ共有などのサービスのために、「SMB(Server Message Block)」と呼ばれるプロトコルを使用している。
これはアプリケーション層のサービス プロトコルであり、下位のトランスポート層のプロトコルを呼び出すためにNetBIOSというインターフェイスを使っている。
現在のWindowsでは、TCP/IP上で動作するNetBIOSが広く使われており、
それをNBT(NetBIOS over TCP/IP)プロトコルと呼ぶ。
NBTのほかには、NetBEUI上で動作するものや(当初のNetBIOSはこれしかサポートしていなかった)、IPX/SPX(NetWareサービスで広く使われているプロトコル)上で動作するNetBIOSなどがある。
しかし現在では、インターネットやTCP/IPプロトコルが広く普及した結果、NBTが主流となり、それ以外のプロトコルは必要に応じて補助的に使われるにとどまっている。

NetBIOS over TCP/IPのポート
・名前登録 :UDP/137(名前サービス)
・ブラウジング :UDP/138
・ファイル / 印刷サービス :TCP/139

※補足
Windowsのネットワーク探索において、リソースを公開しているものについては、
「net view」コマンドで拾える。

Windows 2000以降のファイル/プリンタ共有サービス
Windows 2000/XPでは以上のほかに、新たに「ダイレクト・ホスティングSMBサービス」というサービスが導入されている。
これは「NetBIOS less(NetBIOSが不要な)」なSMBプロトコルの実装であり、NetBIOSインターフェースに頼らずに2つのホスト間で直接通信を行なって、ファイルやプリンタの共有を行なうためのサービスである。これはCIFS(Common Internet File System)という、Windows 2000/XPのネイティブなファイル/プリンタ共有サービスのためのプロトコルである。
CIFSは従来のSMBを拡張したプロトコルであり、インターネット(TCP/IPネットワーク)上でSMBサービスと同様の、ファイルやプリンタの共有を行なうためのプロトコルである。
従来のNBTを使ったサービスでは、まず「NetBIOS名前サービス」を使って通信相手を見つけ、
その後「NetBIOSデータグラム・サービス」や「NetBIOSセッション・サービス」を使って相手と通信する、という2つの段階を踏んでいた。
これに対して新しい方法では、相手のノードに対して直接コネクションをオープンし、それを使ってサービスを受けることができる。
例えば「winserver.d-advantage.com」というファイル・サーバの共有フォルダを開く場合、まずこの名前から(DNSサービスなどを使って)IPアドレスを求め、そのIPアドレスのサーバ上で動作している「ダイレクト・ホスティングSMBサービス」に対して直接TCP接続をオープンしようとする。使用するポート番号はTCPの445番であり、Windows 2000/XPのファイル/プリンタ共有サービスは、このポートでサービス要求をリッスン(待ち受け)している。
TCPのポート445番は、サービス名を定義しているservicesファイル(%WINDIR%\System32\drivers\etc\services)によると、「microsoft-ds(Microsoft Directory Service)」という名前のサービスとなっているが、前述したように、実際にはCIFSプロトコル(SMB over TCP/IP)で利用されている。

まとめ
WannaCryについては、SMB1.0の脆弱性を攻撃するEK「EternalBlue」によって感染が拡大した。
対策としては、使用していないサービスは停止すること、不要なポートは閉塞すること。
https://www.macnica.net/file/news_what_wannacry.pdf

<コメント>
NetBIOSについてもまとめよう。






最終更新日  2019年03月21日 00時34分11秒
コメント(0) | コメントを書く
[Windows関連] カテゴリの最新記事

■コメント

お名前
タイトル
メッセージ
画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。



Copyright (c) 1997-2019 Rakuten, Inc. All Rights Reserved.