侵入検知系の覚え書き(2)■ [osiris]osiris3.0.4のインストール記録(WSMから本人投稿を再掲載 2004年2月)
osirisはDarwinに標準で対応しているため、samhainよりも実際の面倒は少ないです。Mac特有のリソースファイルなどにも対応しているということなので、OSXにはsamhainよりも適切かもしれません。また、samhainとは異なり、基本がClient/Serverタイプなので1台で利用する場合にもosiris、osirisd、osirismdの3つが必要になります(make allコマンドで全部準備されます)が、複数台の管理を前提に作られているようで、この仕様は使ってみると本当に便利でした。

こちらは最新版が3.0.4になりますが、全く問題なくコンパイルできます。HPのドキュメントとコンパイル時に表示される情報では、コンパイル時の情報を参照する方がおすすめです。ちなみにsystem typeはOSX10.3.2ではpowerpc-apple-darwin7.2.0でした。

■ [osiris]コンパイルから管理コンソールのインストール
osiris-3.0.4-current.tar.gzをダウンロードして展開します。

  1. $tar -zxvf osiris-3.0.4-current.tar.gz

展開したディレクトリに移動しコンパイル準備します。

  1. $cd osiris-3.0.4-current
  2. $./configure

ここで、makeについて注意が表示されます。実際に利用するのは以下の2つでいいでしょう。

  1. $make all (1台のマシンに全部インストールする場合or管理マシンの場合)
  2. $make package (管理対象クライアントにインストールするパッケージ作成

まずは、管理用マシンでmakeしてインストールしてみます。

  1. $make all
  2. $sudo make install

これでインストールを始めると、途中「make[3]: Nothing to be done for `install-exec-am’」のようなエラーみたいなlogが大量に出ますが、気にする必要はありません。

それが終わると最初の設定を要求されます。これらの設定は多くが対話型で進むので、非常にわかりやすいと思います。

  1. No Osiris user or group exists, determined uid/gid is: 502
  2. Continue with installation? (y/n)

osirisのユーザをシステムに新規作成します。続けてよければyとします。

  1. Install management console? (y/n)

マネジメントコンソールをインストールします。こちらもyとします。

  1. Installation directory for binaries: [/usr/sbin/]

/usr/sbin/にosirisがインストールされます。リターンキーでOKです。

これでosirisがインストールされます。続けて、

  1. Start management console now? (y/n)

マネジメントコンソールをスタートするか聞かれます。yにします。

SSL接続用のRSA Keyが作成されます。

  1. Start scan agent now? (y/n)

スキャンエージェントをスタートするか聞かれます。yにしておきます。

これで管理用マシンのインストールが完了です。

■ [osiris]クライアントのパッケージ作成とインストール
次に管理対象のosirisクライアント用のパッケージを作成します。先ほどのディレクトリosiris-3.0.4-currentで、以下のようにします。

  1. $make clean
  2. $sudo make package

これが完了するとosiris-3.0.4-current/src/installに以下のファイルが作成されます。

  1. osiris-3.0.4-current.Darwin.tar.gz

これを管理したいマシンにコピーして、以下のようにインストールを行います。

  1. $tar -zxvf osiris-3.0.4-current.Darwin.tar.gz
  2. $cd osiris-3.0.4-current
  3. $sudo ./install.sh

これでインストールが始まります。終了間際に

  1. Start scan agent now? (y/n)

スキャンエージェントをスタートするか聞かれますのでyにしておきます。
これでクライアント側の準備も完了です。

■ [osiris]管理コンソールの設定
ここから設定に入ります。管理マシンでosiris関係デーモンが起動しているか確認します。

  1. $ ps aux | grep osiris
  2.  
  3. osiris 14611 0.0 0.2 29116 876 p1 S 6:01PM 0:00.01 /usr/sbin/osirismd
  4. osiris 14612 0.0 0.2 29116 1116 p1 S 6:01PM 0:00.05 /usr/sbin/osirismd
  5. root 14614 0.0 0.1 27812 784 p1 S 6:03PM 0:00.01 /usr/sbin/osirisd
  6. osiris 14615 0.0 0.2 27816 1280 p1 S 6:03PM 0:00.04 /usr/sbin/osirisd
  7. user 15481 0.0 0.3 28912 1824 p1 S+ 6:19PM 0:00.06 osiris
  8. user 15488 0.0 0.1 18172 344 std S+ 6:22PM 0:00.01 grep osiris

管理用マシンでosirisコマンドを起動します。

  1. $ osiris

すると以下のような起動画面が出ます。(osorisはコマンドラインで操作します)

  1. Osiris command line management utility - version 3.0.4-current
  2. unable to load root cert for management host:
  3. (/Users/username/.osiris/osiris_root.pem)
  4. fetching root certificate from management host (localhost).
  5. The authenticity of host 'localhost' can't be established.
  6.  
  7. [ server certificate ]
  8. subject = /C=US/CN=Osiris Managment Daemon/OU=Osiris IDS
  9. issuer = /C=US/CN=Osiris Managment Daemon/OU=Osiris IDS
  10. key size: 2048 bit
  11. MD5 fingerprint: AE:67:D1:27:F3:55:96:08:98:38:CA:04:86:A8:06:40
  12.  
  13. Verify the fingerprint specified above.
  14.  
  15. Are you sure you want to continue connecting (yes/no)?

接続しますか?と聞かれるので、yを入力します。

  1. authenticating to (localhost)
  2. User:

接続するとユーザ名を入力しろと言われるので「admin」と入力します。

  1. User: admin
  2. Password:

パスワードを聞かれますが、設定していないので、ここでは単純にリターンキー

を押します。すると以下の画面になります。

  1. connected to management daemon, code version (3.0.4-current).
  2. hello.
  3.  
  4. osiris-3.0.4-current:

このプロンプトの後でまず最初にやるべきことはパスワード設定です。

  1. osiris-3.0.4-current:passwd admin

と入力することでパスワード設定ができます。

  1. osiris-3.0.4-current:passwd admin
  2. password:

となるので、パスワードを入力してください。

再度確認で入力を求められるので、同じパスワードを入力して設定完了です。
設定したパスワードは次回接続から有効です。
パスワードの設定が終わると再度以下の表示になります。

  1. osiris-3.0.4-current:

ここでプロンプトに?と入力するとhelpが表示されます。

  1. [ Managment Commands ]
  2. mhost host new-user edit-filters
  3. edit-mhost edit-host edit-user print-filters
  4. print-mhost-config list-hosts list-users
  5. test-notify new-host delete-user
  6.  
  7. [ Host commands ]
  8. status list-configs start-scan list-db
  9. watch-host import-config stop-scan base-db
  10. disable-host push-config set-base-db
  11. host-details edit-config list-logs print-db
  12. print-host-config print-config print-log print-db-errors
  13. rm-host rm-config print-db-header
  14. drop-config rm-db
  15. verify-config
  16. new-config
  17.  
  18. [ Misc commands ]
  19. help version quit ssl
  20. For help with a specific command, try: help <command>

まずは管理用マシン自体の設定をします。
edit-mhostと入力してリターンキーを押すと後は対話的に進みます。

  1. osiris-3.0.4-current: edit-mhost
  2.  
  3. [ edit management host (localhost) ]
  4. > syslog facility [DAEMON]:  ←リターンキー
  5. > syslog level [NOTICE]:  ←リターンキー
  6. > log intensity [LOW]:  ←リターンキー
  7. > control port [2266]:  ←標準でよければリターンキー
  8. > http host name (uses system name by default) []: myhost  ←管理マシンのホスト名
  9. > http control port [2267]:  ←標準でよければリターンキー
  10. > notification email []: user@mydomain.com  ←通知を受けたいメールアドレス
  11. > notification smtp host [127.0.0.1]: 192.168.0.10 ←メールサーバのIPアドレス
  12. > notification smtp port [25]:  ←リターンキー
  13. > authorized hosts:
  14.  
  15. 127.0.0.1
  16.  
  17. Modify authorization list (y/n)? [n]  ←管理ホストからだけ操作できればいいならリターンキー
  18.  
  19. [ management config (localhost) ]
  20. syslog_facility = DAEMON
  21. syslog_level = NOTICE
  22. log_intensity = LOW
  23. control_port = 2266
  24. http_port = 2267
  25. http_host = myhost
  26. notify_email = user@mydomain.com
  27. notify_smtp_host = 192.168.0.10
  28. notify_smtp_port = 25
  29. hosts_directory =
  30. allow = 127.0.0.1
  31.  
  32. Is this correct (y/n)? y ←よければリターンキー
  33.  
  34. management host config sucessfully saved.

これで管理用マシンの設定は完了です。

■ [osiris]チェックする対象マシンの設定
管理用のマシン設定ができたところで、チェック対象のクライアントの設定に入ります。まず、管理対象クライアントをnew-hostコマンドで登録します。管理用マシンそのものももちろん対象にできます。ここからも対話的に設定できます。

  1. osiris-3.0.4-current: new-host
  2.  
  3. [ new host ]
  4. > name this host []: myclient01 ←クライアントのホスト名
  5. > hostname/IP address []: 192.168.0.101 ←クライアントのIPアドレス(管理用マシン自身を対象にするなら127.0.0.1でOK)
  6. > description []: PBG4 ←クライアントの説明(任意記述)
  7. > enable scan logging for this host? (yes/no) [no]: y ←logをとる場合にy
  8. > archive scan databases for this host? (yes/no) [no]:  ←スキャン毎の結果を保存したい場合にy
  9. > enable admin email notification for this host? (yes/no) [yes]:  ←メールでの通知が必要ならy
  10. > send scan notification, even when no changes detected (yes/no) [no]:  ←変化なしでも通知が必要ならy
  11. > notification email (default uses mhost address) []:  ←通知アドレスが管理用マシンの登録と同じでOKならリターンキー
  12. > configure scan scheduling information? (yes/no) [no]: yes  ←スキャンスケジュールを調整するならy(標準は1日毎)
  13.  
  14. [ scheduling information for myhost ]
  15. Scheduling information consists of a start time and a frequency value.
  16. The frequency is a specified number of minutes between each scan, starting
  17. from the start time. The default is the current time. Specify the start
  18. time in the following format: mm/dd/yyyy HH:MM
  19. enter the start date and time
  20.  
  21. using 'MM/DD/YYYY hh:mm' format: [Fri Feb 13 18:40:12 2004]  ←タイムスタンプフォーマット変更
  22. enter scan frequency in minutes: [daily (1440)] 180 ←1分単位で指定できます
  23. > activate this host? (yes/no) [no]: yes ←スキャンを有効にするならy
  24.  
  25. host => myclient01
  26. hostname/IP address => 192.168.0.101
  27. description => PBG4
  28. host type => generic
  29. log enabled => yes
  30. archive scans => no
  31. notifications enabled => yes
  32. notifications always => no
  33. notify email => (managment config)
  34. scans starting on => Fri Feb 13 18:40:12 2004
  35. scan frequency => every 180 minutes
  36. enabled => yes
  37.  
  38. Is this correct (y/n)? y ←設定内容がOKならy
  39. the new host (myhost) was sucessfully created.
  40. initialize this host? (yes/no): y  ←すぐに始めるならy(対象クライアントにosirisdが起動している必要あり)
  41.  
  42. Initializing a host will push over a config, start
  43. a scan, and set the created database to be the
  44. trusted database.
  45.  
  46. Are you sure you want to initialize this host (yes/no): y ←すぐに始めるならy(対象クライアントにosirisdが起動している必要あり)
  47.  
  48. OS Name: Darwin ←対象クライアントから自動判別
  49. OS Version: 7.2.0
  50.  
  51. use the default config for this OS? (yes/no): y ←該当OS用の標準設定でよければy
  52. The config: default.darwin has been pushed.
  53.  
  54. perform an initial scan and database for this host? (yes/no): y ←すぐに始めるならy
  55. scanning process was started on host: myclient01
  56.  
  57. osiris-3.0.4-current:

これでクライアントの設定が完了です。

設定と同時に初期のデータベース登録と、最初のスキャンを始めているので上記の設定であれば、3時間毎に該当クライアントをスキャンして異常があれば、user@mydomain.comにメールで通知されることになります。

対象ホストが複数ある場合には上記の手順を必要なだけ繰り返すことで、管理対象を増やすことができます。

■ [osiris]通知メールの詳細
osirisが送信してくるメールを紹介しておきます。設定した項目がどこに反映されているかもわかりやすいと思うので確認してみてください。これはOSXServerにユーザを一人追加した際に送られてきたものです。

ここに書かれたURLをクリックするとosirisの管理用マシンにブラウザでアクセスします。そして同じアラート内容が表示されますが、そのページの一番下に「accept」というボタンがあります。このボタンを押すとこの変更を確認したということで、データベースが更新されます。確認するまでosirisのスキャンが走る度に同じアラートを送り続けるようです(未確認)。

また、このURLにアクセスするブラウザのIPアドレスはedit-mhostでauthorized hostsに登録する必要があるようです。*も使えるとありますが、うちでは機能しませんでした。:-(

  1. From: osirismd@myhost
  2. Subject: scan log - [1 changes][host: myclient01]
  3. Date: 2004年2月11日 23:34:27:JST
  4. To: user@mydomain.com
  5.  
  6. If these changes are approved, visit the URL below to set the latest scan database to be the trusted database. Or, login to the management console and set the trusted database to (2). If these notifications persist, you may need to modify the scan config for this host or set some comparison filters.
  7.  
  8. <https://myhost:2267?action=v&host=myclient01&base_db=2&log=5>
  9.  
  10. compare time: Wed Feb 11 23:34:24 2004
  11. host: myclient01
  12. scan config: default.darwin
  13. log file: 5
  14. base db: 1
  15. compare db: 2
  16.  
  17. [myclient01][new][user:testuser]
  18.  
  19. Change Statistics:
  20.  
  21. ----------------------------------
  22.  
  23. checksums: 0
  24. SUID files: 0
  25. root-owned files: 0
  26. file permissions: 0
  27. new: 1
  28. missing: 0
  29. total differences: 1

※再掲載に当たって一部修正しています。

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...
Trackback

no comment untill now

Sorry, comments closed.