FreeBSD 10.3 の p21 (OpenSSH) アップデート

FreeBSD 10.3 へ p21 セキュリティ・アップデート (OpenSSH)が到着しました。その他、FreeBSD 11 系へ二点のエラッタ・アップデート(vnet, pf)が到着しました。

OpenSSH の脆弱性は、OpenSSH のビルトイン・パスワード認証(PasswordAuthentication)におけるパスワードの長さに制限が無いことが問題だそうです。攻撃者が長いパスワードを送信することによって OpenSSH サーバの CPU を異常に専有してしまうそうです。FreeBSD では、初期値として、このビルトイン・パスワード認証(PasswordAuthentication)が無効となっています。このパスワード認証(PasswordAuthentication)を有効にしているシステムでは影響を受けるそうです。パスワード認証(PasswordAuthentication)の有効・無効は以下の設定ファイルです。

/etc/ssh/sshd_config

そして VNET のエラッタは POSIX 非同期 I/O を使用するとカーネル・パニックになるそうです。

次に パケットフィルタ PF のエラッタは、housekeeping thread (pf_purge_thread) が初期化されていない変数を使用する可能性があるそうです。そのためゼロ除算などを行ってカーネル・パニックに陥る可能性があるそうです。そして「回避策はない」とエラッタの解説ページに記載されています(笑)。PF を使用していないシステムの場合には問題はなく、そして PF を使用しているシステムでも一度正常に起動したならば、次の再起動まで問題なく動作するのだそうです(爆笑)。

FreeBSD-SA-17:06.openssh
— OpenSSH Denial of Service vulnerability —
https://www.freebsd.org/security/advisories/FreeBSD-SA-17:06.openssh.asc

FreeBSD-EN-17:07.vnet
— VNET kernel panic with asynchronous I/O —
https://www.freebsd.org/security/advisories/FreeBSD-EN-17:07.vnet.asc

FreeBSD-EN-17:08.pf
— pf(4) housekeeping thread causes kernel panic —
https://www.freebsd.org/security/advisories/FreeBSD-EN-17:08.pf.asc

.

/usr/src/UPDATING の内容

20170810 p21
FreeBSD-SA-17:06.openssh
— Fix OpenSSH Denial of Service vulnerability. [SA-17:06]

 .

ソースツリーの更新

subversion でソースツリーを更新しました。

# svn update /usr/src
Updating '/usr/src':
U /usr/src/UPDATING
U /usr/src/crypto/openssh/auth-passwd.c
U /usr/src/sys/conf/newvers.sh
Updated to revision 322368.

.

ユーザランドの再ビルド

今回のアップデートでは、ユーザランドの再ビルドが必要です。

# cd /usr/src
# make buildworld

 .

ユーザランドのインストール

# make installworld

 .

マシンの再起動

# reboot

.

FreeBSD 10.3 の p20 (heimdal, hyperv) アップデート

FreeBSD 10.3 へ p20 アップデート (heimdal, hyperv)が到着しました。

Heimdalは、Kerberos 5 のネットワーク認証プロトコルを実装しています。この Kerberos プロトコルでは、”tickets” (チケット) を利用してユーザを認証します。この “tickes” の中にプログラミングのエラーが存在しています。このエラーを使って “man-in-the-middle (MITM、中間者攻撃) attack” による盗聴被害を受ける可能性があるそうです。

そして Hyper-V のエラーは、マシンの起動時にディスクからの INQUIRY 応答が完了する前にディスクを切り離してしまう可能性があるそうです。そのため hyper-V 上のゲスト・システムが起動不良となってしまうそうです。

FreeBSD-SA-17:05.heimdal
— heimdal KDC-REP service name validation vulnerability —
https://www.freebsd.org/security/advisories/FreeBSD-SA-17:05.heimdal.asc

FreeBSD-EN-17:06.hyperv
— Boot compatibility improvements with Azure VMs —
https://www.freebsd.org/security/advisories/FreeBSD-EN-17:06.hyperv.asc

.

/usr/src/UPDATING の内容

20170712 p20
FreeBSD-SA-17:05.heimdal
— Fix heimdal KDC-REP service name validation vulnerability [SA-17:05]
FreeBSD-EN-17:06.hyperv
— Boot compatibility improvements with Azure VMs. [EN-17:06]

 .

ソースツリーの更新

subversion でソースツリーを更新しました。

# svn update /usr/src
Updating '/usr/src':
U /usr/src/crypto/heimdal/lib/krb5/ticket.c
U /usr/src/UPDATING
U /usr/src/sys/cam/ata/ata_xpt.c
U /usr/src/sys/conf/files.amd64
U /usr/src/sys/conf/files.i386
U /usr/src/sys/conf/newvers.sh
U /usr/src/sys/dev/hyperv/include/hyperv.h
U /usr/src/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
U /usr/src/sys/dev/hyperv/storvsc/hv_vstorage.h
U /usr/src/sys/dev/hyperv/utilities/hv_kvp.c
U /usr/src/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
U /usr/src/sys/sys/eventhandler.h
U /usr/src/sys/x86/x86/intr_machdep.c
Updated to revision 320944.

.

ユーザランドとカーネルの再ビルド

今回のアップデートでは、ユーザランドとカーネルの再ビルドが必要です。

# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=MYKERNEL

 .

カーネルとユーザランドのインストール

# make installkernel
# make installworld

 .

マシンの再起動

# reboot

.

FreeBSD Samba 4.4.14 へアップデート

FreeBSD の ports へ Samba 4.4 のアップデート(4.4.13 から 4.4.14 へ)が到着しました。

実のところ、Samba は 4.4 系から 4.5 系へアップグレードしておりましたが、Windows マシンから Samba 4.5.8 へ上手くアクセス出来ないことが判明したことにより、4.4 系へダウングレードしていました。

samba44-4.4.14
samba44-4.4.14 のビルドオプション

FreeBSD mesa-dri, mesa-libs への ports 変更

FreeBSD の ports へ dri と libGL のアップデートが到着しました。しかし単純なアップデートではなく、dri –> mesa-dri, libGL –> mesa-libs, libglapi –> mesa-libs への変更を伴うものでした。(注:libGL と libglapi は mesa-libs へ統合)

単純に portmaster で更新を行ったところ、インストールの時点で上書き異常(ファイルの衝突)としてエラーとなりました。

pkg-static: mesa-libs-17.0.4 conflicts with libGL-17.0.3 (installs files into the same place).

そこで、現状の古い dri と libGL、 libglapi を pkg コマンドで削除した後、portmaster コマンドで新規にインストールしなおしました。下記の手順で更新を行いました。

なおメタ情報の書き換えなどによる上書きインストールを行わず、 pkg コマンドでパッケージを一旦消去して新規インストールした理由は、libGL と libglapi が mesa-libs へ統合していることから、予想外のインストール動作をしないように配慮したためです。

# cd /usr/ports
# pkg delete -f libGL dri libglapi
# portmaster graphics/mesa-dri graphics/mesa-libs
===>>> The following actions will be taken if you choose to proceed:
Install graphics/mesa-dri
Install graphics/s2tc
Install graphics/mesa-libs
===>>> Proceed? y/n [y]

以上のインストールで無事更新を完了しました。