Projects‎ > ‎Information Security‎ > ‎Honeypot‎ > ‎implement‎ > ‎

maintain

Roo CDROM User's Manual

この章の目的は設定し配備した後あなたの Honeywall を管理しメンテナンスする方法をあなたに説明することである.このドキュメントや Honeywall CDROM にバグや訂正を見つけたら私たちの Bugzilla Server に知らせてほしい.
また日本語訳に関する間違いや問題などは eba[at]vogue.is.uec.ac.jp もしくは hidesuke[at]vogue.is.uec.ac.jp までメールで知らせて下さい 
[Last Modified : 11 May 2005]

5. メンテナンス

  1. 概要
  2. hwctl ユーティリティ
  3. ダイアログメニュー
  4. Web インターフェイス
  5. アップデート

5.1 概要

Honeywall を一度インストールし,設定し,配備したら,次は何をするべきだろうか?あなたはそのシステムをどうメンテナンスしていくだろうか?あなたはそれをどうアップデートするだろうか?私たちは Honeywall の管理のため hwctl とダイアログメニュー,Web インターフェイスという 3 つの異なったオプションを用意している.私たちは,あなたがいかに自動的に OS と Honeywall の機能を最新に保つかというアップデートの方法についても仕上げている.

私たちが管理についてから始める前に,システムを保ち,あなたが honeywall に与える情報を使う方法について素早く理解する必要がある.あなたがシステムに与える全ての値 (IP アドレス,e-mail アドレスなど) は /hw/conf という特別な設定ディレクトリ内に変数とともに保存される.それぞれの値はそれ自身の唯一なファイル名で保存されており,多くの Unix システムに備わる /proc ファイルシステムに似たものとなっている.例として, /hw/conf/HwTCPRfATE ファイルはアウトバウンド TCP 接続の数を制限する変数が書き込まれている.この場所には,現在 50 以上のファイル (同じ数のユニークな変数も) が保存されている.システムのスクリプトと Honeywall の機能はその振る舞いを規定するのにこれらを使う.あなたがシステムを設定または変更するため下で紹介するユーティリティの 1 つでも使うとき,あなたはそれらの保存されている変数を変更していることになるだろう.

今,これらの値を保存し移動しようとするならうまくいかないことだろう.そのため,加えて私たちは /etc/honeywall.conf 設定ファイルを作成した.これは /hw/conf 以下の全ての変数とそれらの値が簡潔な ASCII テキストファイルで1つのファイルの中に保存されている.このファイルはシステムでは使われることはない.これはあなたにシステム設定を (フロッピーなどに) 保存したり,他のシステムへ (scp などを用いて) 移動する際に簡単な方法を提供している.以下のユーティリティでは,/etc/honeywall.conf ファイルを絶対に更新しない.もしあなたが /etc/honeywall.conf の現在の設定を有効にしたかったら,あなたは最初に手動で更新しなければならないだろう.以下の 3 つ全てのユーティリティではその機能を持つ.より詳細な情報やどのように変数が保存され使用されるか知りたかったら,8 章: インターナルズを参照してほしい.

hwctl ユーティリティ

/usr/local/bin/hwctl ("HoneywallControl" を意味する) では, Honeywall 変数の値を変更することや /etc/honeywall.conf を更新したり,バックアップしたり, 変数の変更に伴い影響を受けるサービスを再起動することができる.コマンドラインから Honeywall と対話する方法は好まれており, Honeywall のリモート管理とメンテナンスのインターフェイスを備える.高度なユーザは Honeywall をカスタマイズし拡張するために,コマンドラインインターフェイスについてプログラミング API の使用法と同じくらい非常によく知っている.もしあなたが変更したい変数について知っていれば,単一の変数をセットし,有効にするのに(マウスやキーストロークなど)メニューインターフェイスを行き来して余分に動く必要はない.これは,hwctlコマンドラインインターフェイスが最も役に立つケースである.あなたは hwctl -hコマンドを打つか, 8 章: インターナルズを読むことで,より hwctl について学ぶことができる.ここではいくつかの例を紹介しよう.初めに,HwTCPRATE という名前の変数( /hw/conf/HwTCPRATE ファイルに保存されている) があり,それはシステムが許可するアウトバウンド TCP 接続数の値を保持している.

あなたはこのように hwctl を使ってこの変数の値を見ることができる: # hwctl HwTCPRATE 
HwTCPRATE = 20

あなたはまたこのコマンドを使って HwTCPRATE の値を 30 に変更することができる:

# hwctl HwTCPRATE=30

あなたは '-r' オプションによってアウトバウンドの TCP 接続の制限数を変更し,直ちに有効にすることができる:

hwctl -r HwTCPRATE=30

ここで示すように -A オプションによって現在のすべての変数を見ることができる:

# hwctl -A
HwUDPRATE=20
HwTCPRATE=20
HwFWBLACK=/etc/blacklist.txt
HwMANAGE_NETMASK=255.255.255.0
HwWALLEYE=yes
HwSEBEK=yes
HwSEBEK_LOG=yes
HwLAN_BCAST_ADDRESS=10.0.0.255
. . .

[注: -a を使うと /etc/honeywall.conf ファイルと同じようにイコール( = )の前後にスペースを置かない.もしあなたがその出力を awk のようなプログラムで容易にパースしたかったら,-a オプションを使うことができる.そうすれば出力は前の例のように単に HwTCPRATE だけを見ることができるだろう.]

5.3 ダイアログメニュー

ダイアログメニューは Honeywall CDROM を管理する典型的なインターフェイスである.当初から Eeyore バージョンでも使われていた.新しい特徴(赤の代わり青になっている)をのぞいて,新しいバージョンでも非常に似通っている. このインターフェイスはローカルのシステムの作業には非常にメリットがある一方,ユーザフレンドリであるとは言い難い点がデメリットである.

メニューをスタートさせるには、menu というコマンドを実行しよう.(それは PATH が通っていると思うが,もし知りたいならそのロケーションは /usr/sbin/menu. である.)あなたは同時に複数の menu のインスタンスを持つことができる.しかし,1つ以上 Honeywall Configuration メニュー中にしておくのはお勧めできない.(変数のロックがなく,いくつかのスクリプトはもう一つの menu または Walleye 管理インターフェイスによる変更と同期しないかもしれない.)

そのメニューは説明を要しない.あなたが選択肢をハイライトしたときいつでも,あなたは左下のコーナーに選択肢の詳細を見ることができる.異なった選択肢全てが何か調査するには,ダイアログメニュードキュメントを参照しなさい.ダイアログメニューの働きやそれが実行するコマンドについて知りたかったら,8 章: インターナルズを参照しなさい.一つのキーとなるポイントとしてダイアログメニューでのあなたの変更は "前のメニューに戻った"ら効果がなくなることを忘れないでほしい.この理由は,ダイアログメニューはサブメニュー内での全ての変更を収集しており,あなたが"前のメニューに戻る"とき適当なアクションを行うためである.一部かつ全ての変更で適当なアクションがあることは,それぞれの選択肢の間で全てのサービスの停止と起動を失敗させてしまうことになるだろう.

5.4 Web Interface

Web インターフェイスは新しいものであり,(少なくとも私たちが望んで) Honeywall の管理を行うための向上されたインターフェイスである.あなたは,システムの日々の管理をリモートからポインティングとクリックによって行うことが可能である.このシステムはリモートの管理のための主要な方法になるよう設計されている.Web インターフェイスはダイアログメニューの全ての機能以上の機能を持つ.管理として使われるだけでなく全システムのデータ解析にも使うことが可能である.そのため,私たちは Walleye という魅力的な名前 ("Eye on the Honeywall" として,そして今は亡きDouglas Adams に敬意を表して) を付けた.ここから先は, Walleye は Honeywall の管理,設定,データ解析を行うための web ベースのユーザインターフェイスとして言及する.あなたが自動設定の機能を使う場合を除き,これは初期状態では使用可能ではないかもしれない.

Walleye を有効にするには,ダイアログメニューで "4: Honeywall Configuration" で "3: Remote Management","11: Walleye" と選択する. ここから,あなたは Walleye の機能を有効にすることができるだろう.それには, Argus と 443 番ポート(SSL を使用する HTTPS )をリッスンする web サーバーを含む.初めて Walleye インターフェイスに接続する前に,あなたは正しいシステムへ接続することを保証する証明書のフィンガープリントを確認する必要がある.

あなたの初期設定のプロセス中にあなたが管理システムの IP アドレスから管理用インターフェイスで 443 番ポートへのインバウンド接続が可能か確認してほしい. 一度 Walleye が立ち上がり実行し始めると,あなたはブラウザ(私たちは現在 Firefox と IE をテストしサポートしている)を使って接続することができる. またクッキーと JavaScript の両方を有効にしなさい(私たちはこれが好ましくないことを知っている.しかし,もしあなたが web サーバーを信頼できないならば, あなたはおそらく Honeywall CDROM を使用すべきでないと推測する.そうでないならWalleye に対するプロファイルを作成し,安全にすることができる). Walleye への URL は以下のように見られるだろう.

https://ipaddress-of-honeywall/walleye.pl

あなたはログインスクリーンを見るだろう.単に OS と同じように,Walleye のデフォルトユーザアカウントは roo というユーザでデフォルトパスワードは honey である.あなたの最初のログイン時にはパスワードの変更を要求されるだろう.注: Walleye は(厳密さにおいて)よいパスワードを要求するパスワードチェック機構を持つ.あなたが初めてログインする前によいパスワードを考えておいてほしい.

そのパスワードは以下の条件を満たす必要がある.

  • 8 文字以上
  • 1 文字は大文字にしなければならない.
  • 1 文字は数字にしなくてはならない.
  • 1 文字は記号にしなければならない.

いったんパスワードを設定すれば,ユーザインターフェイスによりロックアウト機能についてアドバイスされるだろう. 3 回のログイン試行が失敗するとそのユーザは 15 分間ブロックされるだろう.15 分経てば,再びログインすることが可能となる.

あなたがいったんログインに成功すると,システムの管理を始めることができる.初めにあなたは GUI から "System Admin" を選択したいだろう.これはあなたにダイアログメニューと非常に似通ったウィンドウを表示させるが,しかし Web ベースである.ダイアログメニューと Walleye にはいくつかの違いがある. 1 つ目はWalleye は初期設定をを行わないといけなくて,インタービュープロセスとシステムの再設定を行わなくてはならない.あなたはそれを行うためにダイアログメニューを用いなくてはならない.2つ目の違いは "Manage Users" のオプションが追加されている点である.これは "Walleye" へのアクセスが可能なユーザを追加したり,変更したり,削除したりすることを可能とする.ユーザには 3 つの役割のうち 1 つを割り当てることができる.

  • User: データアクセス領域だけリードアクセスを行う.
  • Admin Read-Only: データアクセスと状態領域のリードアクセスのみ行う
  • Admin: 全てへのリードとライトアクセスを行う.

5.5 アップデート

以前の Honeywall CDROM Eeyore とは違って,新しい Roo では,あなたは一度だけ CDROM を焼きインストールしなければならない.その後,OS 全てと全ての機能がローカルのハードディスクにインストールされている.システムを最新に保つために,あなたはシステムツール yum を使用する.(リリース後の最初の 2,3 ヶ月で予期しないことがあれば,私たちはもしかしたら完全な再インストールを要求するかもしれないが.)このツールはリモートにあるアップデートされた RPM が置いてある配布元を問い合わせるために使用することができ,もし見つかれば,ダウンロードしてインストールするため,あなたのシステム全体を完全に自動化された方法で最新の状態にする.

インストールしたばかりの後で,あなたは Honeywall 全体をアップデートするために(ルートユーザで) "yum update" と簡潔にタイプすればよい.Yum は Fedora の web サイトから最新の OS アップデートとパッケージ全てをダウンロードしインストールするだろう.加えて,Honeynet プロジェクトでは私たち自身の yum レポジトリ(repo) において honeywall 用の RPM を管理する.これらは,特に( Roo のベース OS である)Fedora CORE 3 を完全に機能する Honeywall へと置き換えるためのパッケージである.RPM アップデートは次の repo の一つからもたらされる:

  • Honeywall Base OS RPMS - Main Update mirror for Fedora CORE 3:
    http://fedora.redhat.com/download/mirrors/updates-released-fc3
  • Honeywall Special RPMS (Walleye, Inline aware Snort etc.):
    http://www.honeynet.org/tools/cdrom/roo/repo
  • Honeywall Base OS RPM Extras - Fedora CORE 3 Extras repo:
    http://download.fedora.redhat.com/pub/fedora/linux/extras/3/$basearch/
  • Honeywall Support RPMs - DAG repo:
    http://apt.sw.be/fedora/3/en/$basearch/dag
  • Honeywall Support RPM - AT-RPMS repo:
    http://apt.atrpms.net/fedora/3/en/$basearch/at-stable

私たちはパッケージの互換性を管理するために Fedora のミラーサーバから可能な限り多く Honeywall をアップデートすることを薦める.信頼できる repo から RPM がアップデートされるよう制御する必要がある.

セキュリティの目的のために,全ての RPM は( Honeynet プロジェクトの RPM パッケージも含めて)それらの組織による GPG キーによって署名されている.Roo による repo それぞれの静的で公開された RPM GPG 署名キーをインストールするよりも,私たちはそれぞれの repo 個別のキーへのリンクを置くことに決めた.これは将来ある時期に repo のメンテナーが新しいキーが必要になったときに新しいキーが検索されやすくするためである.これが意味することは,初めて yum によってアップデートを行い,与えられた repo から RPM をインストールする際にあなたがファイルを受け取る repo の公開された RPM GPG 署名キーのダウンロードとインストールの”確認”のプロンプトがあらわれるということである.これが現れたら,単に "y" を押して先に進めばよい.

Yum について初めて聞いたというあなたたちのために,ここに基本的な Yum のコマンドの説明を示す.あなたはまた次のサイトでより多く学べるだろう.http://www.phy.duke.edu/~rgb/General/yum_HOWTO/yum_HOWTO/.

  • システム全体をアップデートする: yum update
  • 新しいパッケージ "foo" をインストールする: yum install foo
  • "foo-something" というパッケージを探す: yum search foo-* (regexes are ok here)
  • (インストールされていない)存在しているアップデートパッケージをリスト表示する: yum check-update
  • "foo" というパッケージだけをアップデートする: yum update foo
o より詳細な情報は,"man yum" とタイプするといいだろう.

<-Back Home Next->