日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
DUMPON(8) FreeBSD システム管理者マニュアル DUMPON(8)
名称
dumpon -- クラッシュダンプのためのデバイスを指定する
書式
dumpon [-i index] [-r] [-v] [-C cipher] [-k pubkey] [-Z] [-z] device
dumpon [-i index] [-r] [-v] [-C cipher] [-k pubkey] [-Z] [-z]
[-g gateway] -s server -c client iface
dumpon [-v] off
dumpon [-v] -l
解説
dumpon ユーティリティは、カーネルがパニックの場合にクラッシュダンプを保存
することができるところで、設定するために使用されます。
システム管理者は、通常、rc.conf(5) 変数 dumpdev と dumpon_flags を使用し
て持続的な方式で dumpon 設定するべきです。この使用法の詳細については、
rc.conf(5) を参照してください。
FreeBSD 13.0 の始めで、dumpon は、一連のフォールバックダンプデバイスを設
定することができます。例えば、管理者は、デフォルトで netdump(4) を好むか
もしれませんが、netdump(4) サービスに到達することがができないか、または、
いくらかの他の失敗が起こるなら、それらは、2 番目の選択オプションとして
ローカルなディスクダンプを選択するかもしれません。
一般的なオプション
-i index 指定されたダンプ設定を 0 で始まる、指定されたインデックスで、
優先順位をつけられたフォールバックダンプデバイスのリストに挿入
します。
-i が指定されないなら、設定されたダンプデバイスは、優先順位を
つけられたリストに付け加えられます。
-r それに挿入するか、または付け加えるのではなく、指定されたダンプ
デバイスの設定またはフォールバックダンプデバイスのリストからの
設定を削除します。対象的に、``dumpon off'' は、すべての設定さ
れたデバイスを削除します。-i と衝突します。
-k pubkey 暗号化されたカーネルダンプを設定します。
ランダムな、1 回かぎりの対称鍵は、dumpon が使用されますたび
に、大量のカーネルダンプの暗号化のために自動的に生成されます。
提供された pubkey は、対称鍵のコピーを暗号化するために使用され
ます。暗号化されたダンプの内容は、標準のダンプヘッダ、pubkey
暗号化された対称鍵の内容と対称鍵の暗号化されたコアダンプの内容
から成ります。
結果として、対応する秘密鍵がある誰かだけが対称鍵を暗号解読する
ことができます。対称鍵は、カーネルコアを暗号解読するために必要
です。メカニズムのゴールは、機密性を提供することです。
pubkey ファイルは、少なくとも 2048 ビットの PEM 書式化された
RSA 鍵であるべきです。
-C cipher 暗号化されたカーネルクラッシュダンプのために使用される対称
(symmetric) のアルゴリズムを選択します。デフォルトは、
``chacha20'' ですが、また ``aes256-cbc'' も利用可能です。
(AES256-CBC モードは、圧縮とともに動作しません。)
-l デバイスが設定されていないなら、現在設定された (複数の) ダンプ
デバイス、または /dev/null をリストします。
-v 冗長なモードをy有効にします。
-Z 圧縮 (Zstandard) を有効にします。
-z 圧縮 (gzip) を有効にします。ただ 1 つの圧縮方法は、一度に有効
にされるので、-z は、-Z と互換性がありません。
Zstandard は、優れた圧縮比と性能を提供します。
netdump
また、dumpon は、リモートの netdumpd(8) サーバにダンプするために、カーネ
ルを設定されます。(netdumpd(8) サーバは、ポートで利用可能です。)
netdump(4) は、クラッシュダンプのための空間を予約する必要を取り除きます。
それは、ディスクレスの環境で特に役に立ちます。dumpon が、netdump を設定す
るために使用されるとき、device (または iface) パラメータは、ネットワーク
インタフェースを指定するべきです (例えば、igb1)。指定された NIC は、net
dump を設定するために、(オンライン) 動作していなければなりません。
netdump(4) 特有のオプションは、次の通りです:
-c client netdump(4) クライアントのローカル IP アドレス。
-g gateway client と server の間の最初の中継点のルータ。-g オプションが
指定されず、システムにデフォルトの経路があるなら、デフォルト
のルータは、netdump(4) ゲートウェイとして使用されます。-g オ
プションが指定されず、システムがデフォルトの経路がないなら、
server は、client と同じリンクであると仮定されます。
-s server netdumpd(8) サーバの IP アドレス。
これらのオプションのすべてを rc.conf(5) 変数 dumpon_flags で指定すること
ができます。
minidumps
カーネルのクラッシュダンプのデフォルトのタイプは、ミニ (mini) クラッシュ
ダンプです。ミニクラッシュダンプは、カーネルによって使用されているメモリ
ページだけを保持しています。また、完全なメモリダンプは、debug.minidump
sysctl(8) 変数を 0 に設定することによって有効にすることができます。
完全なダンプ
完全なメモリダンプを使用しているシステムについて、指定されたダンプデバイ
スのサイズは、少なくとも物理的なメモリのサイズでなければなりません。たと
え、追加の 64 kB のヘッダがダンプに追加されても、プラットフォームのための
BIOS は、通常、いくつかのメモリを裏に保持するので、マシンで利用可能な ROM
の実際の量より大きなダンプデバイスの大きさにすることは、通常必要ではあり
ません。また、完全なメモリダンプを使用するとき、dumpon ユーティリティは、
hw.physmem sysctl(8) 変数によって報告されるような物理的なメモリの合計量よ
り小さいダンプデバイスを有効にすることを拒絶します。
実装に関する注
ファイルシステムのレイヤがクラッシュダンプが取られる時間によってすでに死
んでいるので、クラッシュダンプをファイルに直接送ることはできません。
loader(8) 変数 dumpdev は、ユーザ空間の開始の前に、起こるシステムパニック
のための初期のカーネルのコアダンプを有効にするために使用されます。
使用例
RSA 秘密鍵を生成するために、ユーザは、genrsa(1) ツールを使用することがで
きます:
# openssl genrsa -out private.pem 4096
rsa(1) ツールを使用して秘密鍵から公開鍵を抽出することができます:
# openssl rsa -in private.pem -out public.pem -pubout
いったん RSA 鍵が安全な場所で作成されると、公開鍵は、信頼できない netdump
クライアントマシンに移動さてます。dumpon によって public.pem を使用するこ
とができます:
# dumpon -k public.pem /dev/ada0s1b
カーネルが、現在の設定を使用して暗号化されたクラッシュダンプを保存するな
ら、テストするように推奨されます。それを行う最も簡単な方法は、ddb(4) デ
バッガを使用してカーネルパニックを起こすことです:
# sysctl debug.kdb.panic=1
デバッガにおいて、次のコマンドは、コアダンプを書き込み、リブートするため
にタイプされるべきです:
db> dump
db> reset
リブートの後に、savecore(8) は、デフォルトで /var/crash である、
``dumpdir'' ディレクトリのコアダンプをに保存することができるべきです:
# savecore /dev/ada0s1b
3 つのファイルがコアディレクトリで作成されるべきです: info.#, key.# と
vmcore_encrypted.# (ここで ``#'' は、savecore(8) によって保存された最後の
コアダンプの番号です)。decryptcore(8) ユーティリティを使用して
vmcore_encrypted.# を暗号解読することができます:
# decryptcore -p private.pem -k key.# -e vmcore_encrypted.# -c
vmcore.#
または、より短く:
# decryptcore -p private.pem -n #
今や、kgdb(1) を使用して vmcore.# を調べることができます:
# kgdb /boot/kernel/kernel vmcore.#
または、より短く:
# kgdb -n #
コアは、kgdb(1) があらゆるエラーを印刷 (表示) しないなら、適切に暗号解読
されました。ライブカーネルは、kern.bootfile sysctl(8) を見ることによって
調査することができる異なるパスにあるかもしれないことに注意してください。
dumpon rc(8) スクリプトは、通常、ネットワークが設定される前に、初期のブー
トの間に実行します。これは、クライアントアドレスが動的であるとき、
netdump(4) を設定に対して適切でないようにします。dhclient(8) がサーバにバ
インドするとき、netdump(4) を設定するために、dumpon(8) を実行するために
dhclient-script(8) を使用することができます。例えば、vtnet0 インタフェー
スで netdump(4) を自動的に設定するために、/etc/dhclient-exit-hooks に次を
追加します。
case $reason in
BOUND|REBIND|REBOOT|RENEW)
if [ "$interface" != vtnet0 ] || [ -n "$old_ip_address" -a \
"$old_ip_address" = "$new_ip_address" ]; then
break
fi
if [ -n "$new_routers" ]; then
# Take the first router in the list.
gateway_flag="-g ${new_routers%% *}"
fi
# 最も高い優先度のダンプデバイスとして設定します.
dumpon -i 0 -c $new_ip_address -s $server $gateway_flag vtnet0
;;
esac
必ずサーバ IP アドレスを満たして、必要であるなら、インタフェース名を変更
します。
関連項目
gzip(1), kgdb(1), zstd(1), ddb(4), netdump(4), fstab(5), rc.conf(5),
config(8), decryptcore(8), init(8), loader(8), rc(8), savecore(8),
swapon(8), panic(9)
歴史
dumpon ユーティリティは、FreeBSD 2.0.5 で登場しました。
暗号化されたカーネルのコアダンプと netdump のサポートは、FreeBSD 12.0 で
追加されました。
作者
dumpon マニュアルページは、Mark Johnston <markj@FreeBSD.org>,
Conrad Meyer <cem@FreeBSD.org>,
Konrad Witaszczyk <def@FreeBSD.org> と数え切れない他の人によって書かれま
した。
警告
暗号化されたカーネルのコアダンプを設定するために、実行しているカーネル
は、EKCD オプションでコンパイルされなければなりません。
netdump は、経路制御トポロジが変更するなら、設定された gateway を自動的に
更新しません。
圧縮されたダンプまたは minidump ダンプのサイズは、RAM サイズの固定された
関数ではありません。そのために、すくなくとも、これらのオプションの 1 つが
使用可能なとき、dumpon ユーティリティは、device がダンプのために十分な空
間があることを確認することはできません。また、dumpon は、設定された
netdumpd(8) サーバがダンプのための十分な空間があることを確認することはで
きません。
-Z は、ZSTDIO カーネルオプションでコンパイルされたカーネルを必要としま
す。同様に、-z は、GZIO オプションを必要とします。
バグ
netdump は、現時点で IPv4 のみをサポートします。
セキュリティの考慮
現在の暗号化されたカーネルのコアダンプのスキームは、整合性も認証も提供し
ません。すなわち、暗号化されたカーネルのコアダンプの受け取り手は、それら
が、そのままのコアダンプを受け取ったか、それらが、ダンプの起源を確認でき
ないがどうかを知ることはできません。
1024 ビットより小さな RSA 鍵は、ファクタに実用てきで、したがってウィーク
(weak) です。1024 ビット鍵でさえ、多くの年のためのプライバシを保証するた
めに十分に大きくないかもしれないので、NIST は、2048 ビットの RSA 鍵の最小
を推奨します。シートベルトとして、dumpon は、極めてウィークな RSA 鍵で、
暗号化されたカーネルダンプからユーザを妨げます。利用者が暗号法のプライバ
シ保証を気にしないなら、まさに、-k pubkey オプションを指定せずに dumpon
を使用します。
このプロセスは、capsicum(4) を使用してサンドボック化されます。
FreeBSD 13.2 April 23, 2020 FreeBSD 13.2