Empowered by expect

希望は体力

Badlock関連の情報雑メモ

かねてより予告のあったSMB関連の脆弱性、Badlockの情報が公開されました。
ひとまず見て回った情報を雑メモしておきます。
Badlock Bug
CVSSスコアはBase7.1です。
(追記: CERTはBase 7.9でした http://www.kb.cert.org/vuls/id/813296)


それぞれ、SambaパッケージのアップデートやWindows update
NASストレージのファームウェア更新など環境に応じた対応を行いましょう。

Samba3.Xとかはそもそもちょっと古い環境への互換性を持つ面もあるので
トレードオフかもしれませんが、平文や弱い認証形式をやめていくべきという
このところTLS周りで起きている事と似ている感じもあります。
Samba周りはネット上の情報も古いままのものが多いので、
ssl.confみたいにsmb.confの模範情報が欲しいですね。

影響のあるSambaバージョン

3.6.x,
4.0.x,
4.1.x,
4.2.0-4.2.9,
4.3.0-4.3.6,
4.4.0

3.6より古いバージョンは未確認とのことです(Earlier versions have not been assessed)。
RHEL5系は3.0.Xで未確認....
RHEL6系は当初3.5だったようですが最新では3.6系や4系なので対象確定となります。
Ubuntuは14.04LTSでも4.1系ですね。

(追記: RHEL5もバックポート提供されました
3.0.33 https://rhn.redhat.com/errata/RHSA-2016-0621.html
3.6.23 https://rhn.redhat.com/errata/RHSA-2016-0613.html
さらに追記同じく3.0.33でRHEL4 延長サポート向けも提供されました
https://rhn.redhat.com/errata/RHSA-2016-0625.html
またGlusterFSもアップデートが出ています)

被る攻撃内容

1. MITM
2. リモートからのDoS

ワークアラウンド

1.のMITM向け対策

以下に相当する設定を適用することが挙げられています。

smb signing = required
ntlm auth = no

副作用は、signingはその分負荷が上がります。
(Windows 2008 R2では最大15%程度負荷上昇との記述があります。 
https://technet.microsoft.com/ja-jp/library/cc731957.aspx)
NTLMの無効化はNTLMv1クライアントに影響します、がv1はそもそも今時ダメではないかと
(https://support.microsoft.com/ja-jp/kb/2793313)

2.のDoS向け対策

Firewallなどでアクセスをきちんと制御することが挙げられています。

(追記 適用時の影響)

RedHatのサイトのFAQによればアップデート適用時にサービスリスタートも行われるとのことです。
( I have updated my Samba servers and clients, do I need to restart anything?
->No, when the update is applied on your system, the smb service will be restarted automatically.)

$ rpm -qp --scripts samba4-4.2.10-6.el6_7.x86_64.rpm
postinstall scriptlet (using /bin/sh):
/sbin/chkconfig --add smb
/sbin/chkconfig --add nmb
if [ "$1" -ge "1" ]; then
/sbin/service smb condrestart >/dev/null 2>&1 || :
/sbin/service nmb condrestart >/dev/null 2>&1 || :
fi
exit 0 (preuninstallは略)

補記

今回リリースされたSamba4.4.2,4.3.8,4.2.11はデフォルト値の変更なども含まれるので
一気にバージョンアップする場合はBadlock関連以外の機能でも挙動変化もあり得そうです。
https://www.samba.org/samba/latest_news.html#4.4.2

また、2016/3/22にSamba4.4.0がリリースされたのに伴い
4.1.X系はサポート対象外となりましたので今回もアップデートは提供されません。

(追記 今回の対象CVE)

CVE-2016-2118
CVE-2016-0128 / MS16-047
CVE-2015-5370
CVE-2016-2110
CVE-2016-2111
CVE-2016-2112
CVE-2016-2113
CVE-2016-2114
CVE-2016-2115

ちなみに間に挟まれている
CVE-2016-2116 はJasPer(jpeg)
CVE-2016-2117 はkernel
で別物でした。何か関連事項が隠されている、とかではありませんでした。