LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。【1】【2】このトピックに関連した設定や試験問題を解く際には、以下の項目がポイントになります。Signatures)は、共通秘密鍵と一方向性ハッシュ関数を使用したトランザクションレベル認証のためのプロトコルです。マスターからスレーブへのゾーン転送、ダイナミックDNS、rndcコマンドによるリモートなサーバ制御などの場合に、クライアント認証の仕組みとして利用できます。共通秘密鍵はBIND9の場合はdnssec-keygen、BIND8の場合はdnskeygenコマンドで生成します。linux1-a暗号化アルゴリズムを指定します。5)を指定しなければなりません。-b生成するキーのビット長を指定します。暗号化アルゴリズムはHMAC-MD5の場合は1-512ビットです。この例では512ビットを指定しています。-nキーのオーナータイプを指定します。TSIGの共通秘密鍵を生成する場合はHOSTを指定します(ZONEは指定できません)。最後に引数として任意のキー名(この例ではlinux1)を指定します。この結果、Klinux1.+157+18761.key、Klinux1.+157+18761.privateといった2つのファイルが生成されます。どちらのファイルにも秘密鍵が格納されています。dfBiWU9xSZo4B....R9JyFEJzeOg==(注)太字部分が鍵の値ですrndcコマンドでのTSIGの設定:rndcコマンドはBIND4、BIND8で提供されていたndcに代わるnamedの制御コマンドです。TSIGを利用してリモートなサーバの管理ができます。reload設定ファイルとゾーンファイルを再読み込みします。dumpdbnamedに保持されたキャッシュの内容をサブステートメントdirectoryで指定されたディレクトリ下にnamed_dump.dbというファイル名で書き出します。(例)上記手順で生成した秘密鍵(鍵の名前はlinux1)を使用する設定サーバ側の設定:/etc/named.confに以下の記述を追加します。"dfBiWU9xSZo4B....R9JyFEJzeOg==";};クライアント側(rndcコマンド側)の設定:/etc/rndc.confに以下の記述を追加します。statusサーバのステイタス情報を表示します。-sでサーバを、-yで鍵の名前を指定します。Extensions(DNSSEC:DNSセキュリティ拡張)はデジタル署名によるDNSデータの完全性を提供します。サーバはゾーンデータを秘密鍵で署名し、それを受け取ったクライアント(リゾルバ:クライアントアプリケーションに組み込まれたDNS名前解決のライブラリルーチン)がサーバの公開鍵によって、データが改ざんされていないかどうか、その完全性を検証します。サーバの鍵は上位ゾーンの鍵により署名されます。リゾルバは当該ゾーンに含まれているサーバの公開鍵のKEYリソースレコードの正当性を、その親ゾーンの公開鍵により検証します。この鍵の正当性を検証する階層構造の故に、実際の運用例はまだ少ないものと思われます。(注1)BIND8ではDNSSECの機能はまだ部分的にしか提供されていないようです。Validation(DLV)という技術を提唱しています。これは信頼できる代替ゾーンによって、鍵の正当性を証明する仕組みですDNSSECで使用する秘密鍵・公開鍵のキーペアはBIND9の場合はdnssec-keygen、BIND8の場合はdnskeygenコマンドで生成します。school.knowd.co.jp.-a暗号化アルゴリズムを指定します。秘密鍵・公開鍵のキーペアを生成する場合は、RSA、RSASHA1、DSA、DHのいずれかを指定します。この例ではRSAを指定しています。-b生成するキーのビット長を指定します。暗号化アルゴリズムはRSAの場合は512〜2048ビットです。この例では512ビットを指定しています。-nキーのオーナータイプを指定します。オーナータイプにはZONE、HOST、USERがあります。秘密鍵・公開鍵のキーペアを生成する場合はZONEを指定します(HOSTやUSERは指定できません)。最後に引数として任意のキー名(この例ではschool.knowd.co.jp.)を指定します。この結果、Kschool.knowd.co.jp.+001+33861.key、Kschool.knowd.co.jp.+001+33861.privateといった2つのファイルが生成されます。ファイルには秘密鍵が格納されています。稼働しているBINDのバージョンは外部から調べることができます。正確なバージョンが分かると、バージョン固有の脆弱性を攻撃する手掛かりとなりかねません。この対処方法として、返すバージョンを設定ファイル/etc/named.confの中で次のように文字列で指定できます。“;9”;}(2)問い合わせできるホストの制限サブステートメントallow-queryにより特定のホストからの問い合わせにだけ答えるように設定できます。192.168.1/24;};};サブステートメントblackholeにより特定のホストからの問い合わせに応答せず、そのホストに問い合わせも出さなくなります。};};(3)ゾーン転送の制限サブステートメントallow-transferで特定のホスト(通常はスレーブサーバ)へのみゾーン転送を許可するように設定できます。192.168.2/24;};};ただし、上記の設定では偽装されたIPアドレスのホストからのリクエストにも応答してしまいます。これを防ぐには前項【1】で説明したTSIGを利用することができます。コピーペーストしたキーの値です(注3)172.16.1.1はマスターサーバのIPアドレスの例です(4)再帰問い合わせの制限サブステートメントrecursionで再帰問い合わせを禁止することができます。no;};サブステートメントallow-recursionで再帰問い合わせに答えるホストを指定できます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。