注意
消費期限が過ぎました。 捨てましょう。
unbound について
言わずと知れた FreeBSD公式 のフルリゾルバです。
version
FreeBSD11/12 では /etc/rc.d/local_unbound が ユーザランドにあり
contrib/unbound は、 version 1.10.0 (2020/12/04現在) です。
ports の dns/unbound は version 1.12.0 です。
CVE-2020-28935
2020/12/01 現在 unbound の以下のバージョンには、シンボリックリンク攻撃の恐れがあります。
versions 1.6.6 - 1.12.0
参照 :
https://nlnetlabs.nl/projects/unbound/security-advisories/
https://nlnetlabs.nl/downloads/unbound/CVE-2020-28935.txt
contrib / ports の どちらを使うか
本来であれば FreeBSD のパッチが出るのを待つのも手ですが、 以前から ports の unbound の更新は先んじているので、こちらに切り替えておくべきというのもあります。 そもそも ports にしかなかったものですので、FreeBSD 11.0以前からの運用だと dns/unbound を使っていたという方もいるでしょう。
しかしcontribとはいえ公式に採用されてからは local_unbound というサービスがインストーラから選択できるようになって、新しくインストールした機材には contrib版を*ついうっかり*入れることもあります?
という経緯なので、わざわざ公式サポートされているものに敢えて ports を使うコストはあるかは管理コスト次第という身もふたもない話ですが、 ports から であれば気兼ねなく(?)ローカルハック・アップデートできます。無論 freebsd-update から干渉されることはありません。
ports に手を入れる。
12/04 の時点では、まだ CVE-2020-28935 対策済みの 1.13.0 が portsにありませんので、例によって勝手に手を入れてしまいます。
$ cd /usr/ports/dns/unbound
$ sudo sed -i -e 's/1.12.0/1.13.0/g' Makefile
$ sudo sed -i -e 's/8.1.10/8.1.11/g' pkg-plist
$ sudo make makesum
===> License BSD3CLAUSE accepted by the user
===> License BSD3CLAUSE accepted by the user
===> unbound-1.13.0 depends on file: /usr/local/sbin/pkg - found
=> unbound-1.13.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://www.nlnetlabs.nl/downloads/unbound/unbound-1.13.0.tar.gz
unbound-1.13.0.tar.gz 5810 kB 197 kBps 30s
===> Fetching all distfiles required by unbound-1.13.0 for building
$ sudo portsmaster dns/unbound
...
rc.conf を変える。
local_unbound を使っている場合ならば以下の手順で速やかに移行できます。
local_unbound_enable="YES"
を以下のように。
unbound_profiles="local"
unbound_local_enable="YES"
unbound_local_config=/var/unbound/unbound.conf
contrib 版 local-unbound の件(おまけ)
以前は、公式版 unbound (local-unbound) が バイナリファイル /usr/sbin/unbound
デプロイされていました。
それは 11.3/12.0 頃までと記憶しています。11.4/12.1 からは local-unbound
になったんですかね?? いつからそうだったのか??? というと調べなければなりませんが。
追記(賞味期限が切れました)
2020/12/17 現在、 1.13.0 → 1.13.1 が正式になりましたんで、この記事の内容は obsolete になりました。
# Created by: Sergey Matveychuk
# $FreeBSD: head/dns/unbound/Makefile 558269 2020-12-17 09:38:40Z brnrd $
PORTNAME= unbound
PORTVERSION= 1.13.0
PORTREVISION= 1
CATEGORIES= dns