phpアクセラレータeAccelerator設定

yumでinstallされている前提

# locate eaccelerator でパス確認

/etc/php.d/eaccelerator.ini
/usr/share/doc/php-eaccelerator-0.9.5.2/control.php

この2つがポイント

設定値の変更
# vi /etc/php.d/eaccelerator.ini

eaccelerator.allowed_admin_path = “/var/www/sites/www/control.php”
制御ファイルのパスを追記

制御確認
# cd /var/www/sites/www
# ln -s /usr/share/doc/php-eaccelerator-0.9.5.2/control.php control.php

http://hostname/control.php へアクセス
ID:admin パス:eAccelerator(デフォルト設定では)

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

OpenPNE3のインストール

OpenPNE3のインストールガイド
http://www.openpne.jp/openpne3_setup_guide/

php5.2.3以上が動作条件になっているので以下の手順をphp関連の処理前に行う(Xcacheの前に必ず)

[code]# rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

# vi /etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

# yum update php[/code]

これでphp5.2.6になる。

php関連ツールをインストール後、
enabled=1 を enabled=0 に修正しておくこと。

phpメモリ制限を拡張しておく。
/etc/php.ini の memory_limit = 32M を memory_limit = 128M に。

config/ProjectConfiguration.class.phpを環境に合わせて設定。

/var/www/OpenPNE3/に配置する場合
require_once ‘##SYMFONY_LIB_DIR##/autoload/sfCoreAutoload.class.php’;
これを
require_once ‘/var/www/OpenPNE3/lib/sympony/autoload/sfCoreAutoload.class.php’;
とする。

それから ./symfony openpne:install を叩くこと。

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

CentOS5サーバ設定のインストール手順

試験環境用のインストール手順

1)CentOS5のインストール

CentOS5.2install CDで起動

サーバ設定でインストール
webサーバとmailサーバのみ選択
php関連を選択
sendmailの代わりにpostfix選択

2)起動後、不要なサービスを停止

ipv6関連不要
selinuxはdisable
http/https/smtpのみFWオープン

起動サービスは以下に設定
 cpuspeed
 crond
 httpd
 iptables
 irqbalance
 network
 sendmail(最初はpostfixリストされない)
 readahead_early
 sshd
 syslog

3)起動後メンテナンス経路設定
rootでlogin
sshd設定変更

[code]# vi /etc/ssh/sshd_config[/code]

#PermitRootLogin yes を PermitRootLogin yes に変更(ローカル鯖)
#Port 22 を Port 10022 に変更

iptablesの修正

[code]# vi /etc/sysconfig/iptables[/code]

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10022 -j ACCEPT 行追加

サービスを再起動
[code]# service sshd restart
# service iptables restart[/code]

以下のコマンドでメンテマシンからアクセス
ssh -p 10022 root@サーバアドレス

4)サーバ設定を行う

sendmailをremove
[code]# yum remove sendmail[/code]

postfixを起動サービスで追加
[code]#ntsysv[/code]

必要ならproxy設定を追加
[code]# vi /etc/profile.d/proxy.csh

setenv http_proxy http://プロキシURL:ポート/
setenv HTTP_PROXY http://プロキシURL:ポート/

# vi /etc/profile.d/proxy.sh

export http_proxy=http://プロキシURL:ポート/
export HTTP_PROXY=http://プロキシURL:ポート/[/code]

yumによるアップデートの準備

EPELリポジトリ追加
[code]# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# rpm -ihv epel-release-5-3.noarch.rpm

# yum update[/code]

リストされたものをインストールし、念のため再起動

5)高機能メールサーバCommunigateProをインストール

phpアプリで必要なケースが多いのでpostfixを活かしたままCGPを有効にする
postfix側の設定変更
[code]# vi /etc/postfix/master.cf[/code]

smtp inet n – n – – smtpd

#smtp inet n – n – – smtpd

[code]# vi /etc/postfix/main.cf[/code]

mydestination = $myhostname, localhost.$mydomain, localhost

mydestination = localhost

追記
relayhost = 自IPアドレス

[code]# service postfix start[/code]

postfixがsmtpをLISTENしてないことを確認
[code]# lsof -i[/code]

最新版のCGPをダウンロードしてインストール
[code]# wget http://www.communigate.com/pub/CommuniGatePro/CGatePro-Li…
# rpm -ivh CGatePro-Linux.i386.rpm
# service CommuniGate start[/code]

CGPの管理画面にアクセスするためにiptableでポート追加
[code]# vi /etc/sysconfig/iptables[/code]

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8010 -j ACCEPT 行追加

[code]# service iptables restart[/code]

ブラウザでhttp://サーバIPアドレス:8010/へアクセスして設定
Coomunityライセンス下で5ユーザまで無料で利用できる

6)日本語全文検索対応mysql/Tritonnインストール

mysqlを置き換えるためmysqlがインストールされているか確認

[code]# rpm -qa | grep -i mysql
mysql-5.0.45-7.el5[/code]

mysqlをremove
[code]# yum remove mysql[/code]

perl-DBIのインストールを確認

[code]# rpm -qa | grep -i perl-DBI
perl-DBI-1.52-1.fc6[/code]

最新のtritonn-1.0.12-mysql-5.0.67パッケージ群をダウンロード

[code]# mkdir download
# cd download/
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-client-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-devel-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-server-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/MySQL-shared-5.0.67-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/mecab-0.97-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/mecab-ipadic-2.7.0.20070801-tritonn.1.0.12.i386.rpm
# wget http://iij.dl.sourceforge.jp/tritonn/36448/senna-1.1.4-tritonn.1.0.12.i386.rpm [/code]

以下の順番でインストール

[code]# rpm -ivh mecab-0.97-tritonn.1.0.12.i386.rpm
# rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12.i386.rpm
# rpm -ivh senna-1.1.4-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-shared-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-client-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-server-5.0.67-tritonn.1.0.12.i386.rpm
# rpm -ivh MySQL-devel-5.0.67-tritonn.1.0.12.i386.rpm[/code]

MySQLはインストール後すぐに起動するのでrootのパスを設定

[code]# /usr/bin/mysqladmin -u root password ‘rootpassword'[/code]

MySQLへのログイン確認

[code]# mysql -u root -p
Enter password:

Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 7
Server version: 5.0.67-modified MySQL Community Server (GPL) (portions (c) Tritonn Project)

Type ‘help;’ or ‘¥h’ for help. Type ‘¥c’ to clear the buffer.

mysql>[/code]

これでTritonnのインストール完了

mysqlのサーバ設定をする 環境に合わせてcnfを選択
[code]# cp /usr/share/mysql/my-large.cnf /etc/my.cnf[/code]

utf8で使いたい場合には以下の行を各項目で追記
[mysqld]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

サービス再起動で設定反映(mysqldでないことに注意)
[code]# service mysql restart[/code]

設定変更を確認
[code]# mysql -u root -p
mysql> status

Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
…[/code]
となっていればOK

7)SNSサーバ(MyNETS)としての設定

MyNETSに必要なコンポーネントをインストール

[code]# yum install php-mcrypt php-mbstring php-gd php-mysql php-xmlrpc php-xml php-eaccelerator ImageMagick[/code]

httpd.conf編集

[code]# vi /etc/httpd/conf/httpd.conf[/code]

不要モジュールの無効化
munin用にステータス取得
他適宜必要に応じて。

試験サーバ用設定ファイル作成

[code]# vi /etc/httpd/conf.d/virtual.conf[/code]

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

linux作業の覚え書き

いろいろと試してきた作業の記録をあちこちに書き散らしてきたので、まとめて公開しておくための場所を作ってみました。主にCentOSをベースにした作業記録の保存公開を目的にします。自分の作業記録なので、丁寧な説明などはないものがほとんどになります。

設定値は公開用に適宜当たり障りの無いものに置き換えて記載するようにします。そのため、ここに記載の通り作業しても必ずしもうまくいくとは限りません。実際に稼動したものや、試験だけのものも含めて、とにかく作業時にしたメモとご理解ください。

誰かの何かの役に少しでも立つことがあれば嬉しいです。整理の付いたものから順次公開していこうと思います。

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

旧はてなコンテンツ転載

[oldhatena]タグがついているものは、2005年ごろ以下のリンク先で書いていたコンテンツを一部転載したものです。もう内容が古いので役には立たないかもしれないけど、自身の覚書のためなんとなく使えそうな気がしたものを転載しておきました。

http://pcmgxxx.g.hatena.ne.jp/ishizu/

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

Abyss Web Server X1を使う

■ [abyss]Abyss Web Server X1のダウンロード
以下のURLからOSX版をダウンロードしておく。また日本語ローカライズファイルも用意されているので、そちらも好みに応じてダウンロードしておく。インストールのドキュメントとヘルプは必要十分なものが含まれているので別途ドキュメントをダウンロードする必要はないと思われる。

http://www.aprelium.com/abyssws/download.php
http://www.aprelium.com/abyssws/languages/

Abyss Web Server X1の主な機能は以下のURLを参照。

http://www.aprelium.com/abyssws/features.html

主な特徴
 GUIによる容易な設定
 アンチクラッシュ&アンチハッキング機能
 帯域制限が可能(サーバ毎)
 ディレクトリリスト表示のカスタム対応
 Unicode対応
 マルチプラットフォーム(Windows,MacOSX,Linux,FreeBSD)

Abyss Web Serverには有償のX2も存在する。X1との違いは以下の通り。該当機能が必要ならX2を約$60で購入する。

X1になくてX2にある機能
 バーチャルホスト対応
 ホスト毎/ファイル毎/ディレクトリ毎の帯域制限
 有償サポート対応

Abyss Web Serverについてはこの辺も参照。
http://focus.sakura.ne.jp/italktothewind4/sb.cgi?search=abyss
http://garden.tea-nifty.com/blog/2005/03/abyss_web_serve.html

■ [abyss]Abyss Web Server X1のインストール
ダウンロードしたファイル「abwsx1.dmg」をダブルクリックする。デスクトップにマウントされた「Abyss Web Server X1 Installation Package」を開き、「Abyss Web Server」フォルダを「アプリケーション(/Applications)」フォルダへドラッグコピーする。(コピー場所は任意の場所でOK、HDへコピーしないで起動するとエラーになるので注意)

日本語ローカライズファイル「jp.lng」をダウンロードしている場合には、「Abyss Web Server」フォルダ内の「lang」フォルダの中にコピーして入れておく。(以下tamaokaさんバージョンのローカライズファイルをインストールした前提で書いていきます)

■ [abyss]Webサーバの起動
「アプリケーション(/Applications)」フォルダにコピーした「Abyss Web Server」フォルダを開き、「Abyss Web Server」のアイコンをダブルクリックする。

するとコンソールウインドウが現れ、続いて「A configuration file was created」というダイアログが現れるのでOKボタンを押す。するとSafari(もしくはデフォルトのブラウザ)が開いて「http://127.0.0.1:9999/console/language」にアクセスする。この時点でAbyss Web Server X1は管理用ポートTCP9999とアクセス用ポートTCP8000で起動しているので、起動させる前にバッティングするポートを使用しているアプリやサービスがないか確認しておくこと。

Safariで開いた管理用言語選択画面で、「japanese」のボタンを押す。

アクセス権限画面で、管理者用のログイン名とパスワードを求められるので任意の値を入力してOKボタンを押す。するとBasic認証ダイアログが表示されるので、今入力した「名前」と「パスワード」を入力し、「パスワードを記憶する」にチェックを入れてログインボタンを押す。これで「Abyss Web-Server-コンソール」という設定画面が表示される。

■ [abyss]管理者機能へのアクセス制限
まずは管理機能へ不特定多数からアクセスされないようにデフォルト設定を変更しておく。「Abyss Web-Server-コンソール」画面から「コンソール設定」のアイコンをクリックし、表示される4つのアイコンから「IP制限」をクリックする。localアドレス127.0.0.1とプライベートIPアドレス帯が全て登録されてしまっているので、不要なアドレスを削除し必要なアドレスだけを入力しておく。(IPアドレスは範囲指定のみでカンマによる複数指定はできないので注意)

「パラメータ」アイコンからは管理者ポートの設定を変更することができるので、IP制限がゆるい場合にはデフォルトのポートからは変えておいた方がよい。特にインターネット上に公開しているサーバで、インターネット上の任意のアドレスからリモート設定を行いたいと考えている場合にはデフォルトのポートを変更することを強くオススメする。

■ [abyss]セキュリティ設定(1)
「Abyss Web-Server-コンソール」画面から「サーバ設定」のアイコンをクリックする。「パラメータ」アイコンをクリックして「OSパラメータ」の編集ボタンを押す。「OSユーザ」の項目でインストールしたユーザ名が選択されているので、これを「World Wide Web Server (www)」に変更する。(これにより自動起動設定をした際のユーザが指定できる)

「サーバ設定」画面の項目には「アンチハッキング」というアイコンもあるが、こちらについては設定を行うかどうか任意とする。「アンチハッキング」は指定の時間内に指定の回数HTTPエラー(400,401,403,404,405,408)を検出したら該当クライアントを指定時間アクセスできなくする、というもの。404は通常ファイルが見つからない場合に出るエラーなので、自分の作ったコンテンツのリンク管理をしっかりやらないと404エラーを大量に(イメージファイルのPath指定を間違ったりするなどして)起こした場合、多くのアクセスを排除してしまいかねない。

■ [abyss]セキュリティ設定(2)
「Abyss Web-Server-コンソール」画面から「ポート 8000 のデフォルトホスト」の設定ボタンを押す。すると14のアイコンが現れる。「ディレクトリリスティング」アイコンをクリックして、「タイプ」項目を「停止」に設定する。これでindexファイルのない全てのディレクトリの自動リスト表示が停止される。

リスト表示を積極的に利用したい場合は「タイプ」項目を「標準一覧」にしておいてよいが、不慮の情報漏洩を防ぐためにも、「拒否リスト」「隠しファイル」を設定しておく。「拒否リスト」は指定のPath名を含むURLでの自動リスト表示を禁止する。例えば「/test」を設定した場合「http://xxx.xxx.xxx.xxx/test/」も「http://xxx.xxx.xxx.xxx/test/img/」もリスト表示が禁止され403エラーが返される。「隠しファイル」は「*.dat」や「*.csv」などと指定しておくと、それらの拡張子を持つファイルが表示されなくなる機能。

ここまでできたらTCP8000で起動しているサーバを通常のHTTPアクセスで利用するTCP80に変更する。一旦Safariから離れ、Abyss Web Serverのアイコンをドックから探してクリックし、メニューを表示させる。「Server」メニューから「Activate ports below 1024」という項目を選択する。「Administorator authentication required」というダイアログが表示されるのでProseedボタンを押す。管理者パスワードが求められるので入力してOKする。これでTCP1024以下を設定できるようになる。

「Abyss Web-Server-コンソール」画面から「ポート 8000 のデフォルトホスト」の設定ボタンを押し、「一般」アイコンをクリックして、「ポート」の項目を「80」に設定しOKボタン、続けてリスタートボタンで、ポート番号指定なしでアクセスできるようになる。

■ [abyss]自動起動の設定
起動中のAbyss Web Serverのアイコンをドックから探してクリックし、メニューを表示させる。「Server」メニューから「Startup Configuration…」を選択する。「Manual Startup」か「Automatic Startup on Computer startup」を選ぶダイアログが表示されるのでAutomaticを選択してOKボタン。管理者パスワードが求められるので入力してOKする。これで完了。

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

OPENBASEインストール

■ [openbase]OPENBASE8.0.4のダウンロード
OPENBASEの開発元からダウンロードする。OPENBASEのホームページはWebObjectsでコンテンツ提供されているため、URLが貼りにくいのでトップページのみ案内する。ごく一部のコンテンツだが日本語ページも用意されているのでそちらのリンクを以下に。

http://www.openbase.com/japan

ダウンロードは4月10日時点ではトップページ右側中段にある「Download OpenBase SQL」から行なえる。ここでOSX用の8.0.4をダウンロードする。リンクをクリックするとダウンロード先を通知するメールアドレスのみ入力を求められる。ここでメールアドレスを入力してメールにてダウンロードURLを受け取る。Headlessも選べるが始めての場合にはHeadlessでない方がいいと思う。OPENBASEはWindows/Linuxでも利用可能。同じページにある「Download OpenBase Documentation」からドキュメントもダウンロードしておく。

同じページで「OpenBase コネクティビティ ダウンロード」から提供されるODBCドライバや各種Plug-inは必要があればダウンロードする。今回は組み込みのJDBCを利用して実験するので、特に今のところ追加ダウンロードはしないでおく。

■ [openbase]Personal Licenseの申請
無償で利用可能なPersonal Licenseは4月10日時点ではトップページ中央上段にある「Register now for a FREE License! OpenBase Personal」のアイコンから申請ページへ遷移する。このライセンスはOSX版にのみ提供されるライセンスになり、以下の制限がある。

Personal Licenseの制限
MacOSX版にのみ有効
1分間に40レコードをInsertするか2万レコードアクセスを超えるとスローダウンする

リンクをたどり、OpenBase User IDのサインアップをする。名前とメールアドレス、パスワードを入力すると、更に細かい項目の入力を求められる。ちょっと面倒だが必須項目は割と少ない。ここでPersonal License選択し申請すると、やはりメールでライセンスが送られてくる。

OPENBASEには日本サイトもあるが更新が滞っているようで、記述がVer.7ベースになっている。参考になる情報はあるので、一応参照しておきたい。

http://www.kdkinc.co.jp/

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

侵入検知系の覚え書き(1)

■ [samhain]samhainのインストール記録(WSMから本人投稿を再掲載 2004年2月)
samhainはOSXでうまくコンパイルできると紹介されていたのですが、結果から言うと、1.6.6まではその通りですが、1.7系以降はsh_mail.cでエラーになりコンパイルできません。

1.6.6のsh_mail.cなどと入れ替えたりしてみましたが、最新の1.8.3では結局成功することはありませんでした。私はプログラマではないので修正はできない(一応ソースは見て努力はしましたけど、無駄でした:-()ので、1.6.6をインストールしてみました。

ソースを展開後、./configureをすればいいのですが、OSX用には以下のオプションを適用すると面倒が少なくていいと思います。

[code]./configure –prefix=/usr –with-trusted=0,1,501[/code]

ここで、–with-trusted=0,1,501としているのは、samhainは信頼するユーザでの動作・操作を要求するので、rootとdaemon、管理者ユーザを信頼するよう加えてあげるためです。管理者ユーザのUIDが異なる場合には必要なUIDに変更してください。

これをしないと、インストール時やインストール後に再configureが必要になると思います。
その後はマニュアル通りです。

[code]make
sudo make install[/code]

インストールが完了したら設定ファイルを編集します。

[code]sudo vi /etc/samhainrc[/code]

設定内容はGoogleで「サワーン」を引くと有名なページが出てくるので参考にしてください。
設定を保存したら最初に初期化します。

[code]sudo /usr/local/sbin/samhain -t init[/code]

その後デーモンモードで起動します。

[code]sudo /usr/local/sbin/samhain -t check -D[/code]

samhainはインストールしてもOSX用の自動起動scriptはインストールしてくれませんので、自分で起動scriptを作ってやる必要があります。

動作はG4/800でもそれほど重い感じはしないので、1時間おきにチェックの設定をしています。samhainが異常を知らせるメールを指定のアドレスに設定ファイルに記述して送らせることができますが、多量のファイルが検出された場合、大量のメールが届くので注意が必要です。1メールに記述する異常の件数が少ないため、ここはまとめ送りにしてほしいところです。1.7系以降は解消されているのかもしれませんが、1.6xではこれが困ります。

samhainはClient/Serverモードでも動作しますので、1台のマシンで多数の端末の管理が可能です。

OSXで最新版がうまくコンパイルできない点でちょっと不安があったので利用しないことにしたため、こちらの設定は試していませんが。

1台の端末に入れてチェックするだけなら、比較的お手軽でいいかなと思います。

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

Tigerの某噂を検証する

■ [osiris]Tigerの某噂を検証?する
Tigerをインストールしたマシンでナニがナニするという某噂を検証してみるため、ファイル整合性チェッカーであるosirisを使って実験をしてみた。結論は既に前日掲載の通りだが、一応これまでの経緯をまとめて次の実験のための記録として残しておく。

検証用に使ったマシンと構成、Tigerのインストール方法は以下の通り。

iMacG4/800 768M 120GHD 別パーテーションのPantherユーザ情報を取り込みアップデート
PowerBookG4/12int/1G 768M 40GHD Pantherに上書きアップデート(Xcodeもアップデート)
PowerBookG3/500 384M 5GHD Vine3.1を消して新規にインストール
どれもインストール自体に問題(エラーなど)はなく、スムーズにインストールは完了。PowerBookG4のみXcodeがPantherの時からインストールされていたので、Tiger版をアップデートインストール。ほかの台は新規にTiger版Xcodeをインストールしておく。

検証を行ったosirisのバージョンと順番は以下の通り。

iMacG4/osiris-4.1.8 →4.1.8が動作怪しい 検証できず
PowerBookG4/osiris-3.0.4 →3.0.4自体はちゃんと動作しているっぽいが再起動で設定が飛ぶ
PowerBookG3/osiris-3.0.4 →ちゃんと動作しているが、噂の現象は発生せず
当初最新版のosirisの動作確認も含めてと考えていたのだが、残念ながらTigerとはうまくなかったようで、今4.1.8のインストール記録を見直してみると、3.0.4でインストールPathが/usr/sbinだったものが4.1.8では/usr/local/sbinだったり、3.0.4では標準でdefault.darwinが設定として認識されたのに4.1.8では適切に設定されなかったりと、あちこちに食い違う点が散見される。4.1.8を再度Panther環境下で検証する必要があるだろうが、Tigerにはうまく対応できていないと見るのがよさそうだ。(これについては別途検証するつもり)

iMacG4での不具合
昨日も書いているが、osiris-4.1.8ではedit-filtersコマンドの編集機能が変更されており、ウィザード形式からviでの直接編集形式になっている。公式サイトのドキュメントは4.0.5ベースの記述で4.1.8の変更部分について記載されていない。3.0.4ではソースに同梱されているDocも4.1.8のソース中には見当たらない。そこで書式自体は変更がないと推測し旧来のfilterと同じ書式で書いてみると、コマンドからfilter行であることは認識されているようでprint-filtersでちゃんと表示はされる。しかしながら、実際にscanをしてみるとfilterが全く反映されておらず、一回のスキャンでかなりの長時間かかる上に10万行以上のメールレポートとなり、チェックするだけでもかなり大変。

おまけにosirisを再起動orマシンを再起動すると、ホストの設定を忘れてしまうらしくconfigが未設定になり、毎回初回スキャンとなってしまい、本来の用途である差分評価ができない。管理コンソールであるosirismdを別マシンで動作させて、iMacG4をスキャンクライアントだけにすれば問題は解決すると思われるが、環境構築が間に合わないため断念。

osiris自体もedit-mhostで設定する際に、1回目の設定項目と2回目の設定項目が異なるなど、やや不自然な挙動をしていることからコンパイル等がうまくいっていない可能性も考えて、一旦検証を中止することにした。このままではTiger環境の問題なのかosirisの問題なのか区別できないからだ。

PowerBookG4での不具合
iMacG4での反省からPowerBookG4では最新版の4.1.8の代わりにPantherでの動作運用実績のある3.0.4を使ってみた。これならこれまでの動作と比較しておかしいところがわかりやすい。PowerBookG4にはPanther版のXcodeもインストール済みだったが、あえてXcodeを上書きインストールしてみた(Tigerは検証しようと思う前に既に上書きインストールしてしまっていた…orz)。アップデートされたXcodeでosiris-3.0.4をコンパイル、特に大きな違いはなさそうで無事make installまで完了。3.0.4は何台にもインストールしてきたのでお手の物。さくさくと設定して最初のスキャン。filter含め問題なく動作している模様。ファイルを増やしたり減らしたりしてスキャンをし、スキャン結果は想定通りに返ってくることを確認。3.0.4は問題なく動いていると判断し、再起動による実験にはいったところで問題が発生。iMacG4で4.1.8を使った時と同様にホストの設定が一部消失し、再起動の都度初回スキャンになってしまう現象が起きる。これはPantherでは起きていない現象(のはず)。実際に運用している他のosiris-3.0.4とほぼ同じ設定(違うのはスキャン実行間隔くらい)なので、これはTiger環境下の不具合と思われる。こちらでも再起動後の差分評価ができない状態のため、Tigerをちょっと疑いはじめる。

PowerBookG3での評価
上と同時にもう一台Pismoを使って実験をしてみていた。こちらはVineLinux3.1ppcをインストールしていたものを消去してTigerを完全に新規インストールしてみる。メモリも多くないし、HDも手狭だが検証には十分だろうということで試したのだが、結果としてはこれが一番まともに動作する結果となった。TigerとXcodeをインストールし、osiris-3.0.4をコンパイルしてインストール。インストールの過程は至って普通で問題なし。設定もさくっと終えて、osirisの動作確認も問題なく完了。再起動の実験に入ったところ、こちらも一部設定がなくなる現象は発生するものの、push-configするだけで回復し、再起動後も前回との差分評価が問題なくできる。これならまともに検証できるということで、default.darwinのconfigに/etc,/Applications,/Users以下をRecursive yes,IncludeAllで追加。filterでnew,missingのみを検知するようにし再起動実験に入る。

実験方法は以下の通り。

  • ユーザをログアウトする
  • 再起動する
  • 上記を5回繰り返したらosirisでスキャン
  • これを3セット行う

    再起動回数では15回程度と少ないが、翌日出かけなければならなかったことと、この時点で既に朝の3時になっていたため、あまり時間をかける余裕がなかったので仕方ない(w。主立ったファイルが無くなれば検知できる状況なので、また改めて時間をとって再起動を続けてみようとは思う。この回数の中では問題は発見できず、某噂は確認することができなかった。

    実験の結果
    某噂の真贋はともかく、同じバージョンのosirisをコンパイルインストールして動作結果が違う、ということの方が大きな問題だと感じた。Tigerではユーザ環境を継承したインストールでは新規インストールした場合とOS自体の挙動が異なるか、少なくともXcodeを上書きインストールするとコンパイル結果が異なってしまう可能性があるということになる(そもそもXcodeを上書きインストールするのが暴挙という話もあるが)。/Developer/Tools/以下にあるuninstall-devtools.plを利用して前環境を消去してからインストールするくらいは最低限しないと駄目だということで。

    ■ [osiris]PowerBookG3再起動検証中
    とりあえず帰ってきたので動作が安定しているPowerBookG3で再起動実験継続中。以下のscriptをアプリケーションにして自動ログイン設定したユーザの起動項目に設定。

    [code]tell application “Finder”
    activate
    delay 30
    restart
    end tell[/code]

    実際には再起動回数を把握するための項目も入ってるんだけど、稚拙すぎなので省略(w。まぁログ追えばわかるしね。先ほど75回目でscanチェックした際には噂の現象は発生しておらず。500回くらいまではやってみる予定。

    本当はAutomatorで書いてみたかったんだけど、再起動とかそういうイベントは用意されておらずFinderやシステムのイベントで指定できないらしい。そこでTerminalコマンドとして設定したみたところsudoはおろかsuすらAutomatorからは認証できないらしく(書き方に問題有りなのか…)認証のエラーばかりが残る始末。まぁAppleScriptでいいかと妥協したという…orz。

    Autometor自体はなかなか面白そうなのでもうちょっと試行錯誤してみたいところ。

    (追記1)175回目の再起動後チェックでも異常無し
    (追記2)250回目の再起動後チェックでも異常無し
    (追記3)280〜300回目の再起動後チェックで…うーん、解析後報告します
    (追記4)PowerBookG4は22回目の再起動で障害発生 検証暫定中止します

    ToDo
    PowerBookG3の検証終わったら、これをマネージメントコンソールにしてPowerBookG4とのC/S動作検証を行ってみる。時間があればPantherでosiris-4.1.8の検証をしてみようと思う。

    , ,
    とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
    Loading...
  • osiris-4.1.8をTigerへインストール

    ■ [osiris]最新版osiris-4.1.8をTigerへインストールする
     Tigerをインストールしたので最新版osirisで某噂の検証をしてみる。osirisのHP(http://osiris.shmoo.com/)から最新版の4.1.8をダウンロードする。なんか、S/MIMEモジュールとかいろいろ機能拡張されているなぁ。とりあえず今回は本体のみダウンロード。TigerにはあらかじめXcodeをインストールしておく必要がある。

    最新版ではWindows2003Serverなどの対応が追加されている他filterの編集方法などが変更されている(後述)ので注意が必要である。

    注)4月30日現在下記設定をしてもいくつか不具合がみられるので注意。

    Filterの設定が適切に反映されていないようにみえる
    osirisを再起動すると管理対象ホストの設定の一部が無効になる
    しかたないで3.0.4をインストールしてみたのだが、こちらはちゃんと動作しているようだ。なんだかなぁ。とりえあず検証用途には3.0.4をオススメ。(誰に?)

    ■ [osiris]configure
    ダウンロードしたファイルを展開する。

    [code]$ tar zxvf ./osiris-4.1.8.tar.gz
    $ ls ./osiris-4.1.8
    AUTHORS INSTALL Makefile.in TODO bootstrap config.sub depcomp mkinstalldirs
    COPYING LICENSE NEWS acinclude.m4 config.guess configure install-sh src
    ChangeLog Makefile.am README aclocal.m4 config.h.in configure.ac missing[/code]

    まずはconfigureオプションの調査だが、最新版ももちろんOSX標準対応なのでオプションは特に不要。
    [code]
    $ ./configure
    (中略)
    Osiris (c) 2000-2005 The Shmoo Group (TSG)
    —————————————————–

    ==> Configuration Complete.
    ==> Osiris has been configured with the following options:

    Host: powerpc-apple-darwin8.0.0
    Compiler: gcc
    Compiler flags: -Wall -g -O2
    Preprocessor flags:
    Linker flags:
    Libraries: -lpthread -lssl -lcrypto -lresolv
    Privlege Separation: yes
    SSL Location: (system)
    Osiris Root Directory: /usr/local/osiris
    Osiris user: osiris
    Osiris MD Directory: /usr/local/osiris
    Osiris MD user: osiris
    Osiris MD config dir: /usr/local/osiris

    ======================================
    Found Scan Agent Modules:

    ==> mod_groups
    ==> mod_kmods
    ==> mod_ports
    ==> mod_users
    ======================================

    ==> use one of the following targets:

    all: make everything, agent, CLI and management console.
    agent: create scan agent installer package.
    console: create management console installer package.
    install: run installation script.
    clean: remove object files.[/code]

    これでconfigure完了。

    ■ [osiris]osirisクライアント/コンソールを個別にmake
     osirisではマネージメントコンソールとスキャンクライントが連携して動作する仕様で、管理用のマシンにはマネージメントコンソール、管理対象にはスキャンクライアントと別々にインストールして設置することが可能である。多数の管理対象がある場合にはコンソール/クライアントを個別にmakeしてインストールパッケージを作っておくことができる。

    [code]$ make console
    (中略)
    ————————————————————————-
    building release tarball: src/install/osiris-console-4.1.8-release-powerpc-Darwin-8.0.0.tar
    installer package contents:
    total 3744
    -rw-r–r– 1 username username 5130 Apr 30 12:11 LICENSE
    drwxr-xr-x 17 username username 578 Apr 30 12:11 configs
    drwxr-xr-x 5 username username 170 Apr 30 12:11 darwin
    -rwxr-xr– 1 username username 31187 Apr 30 12:11 install.sh
    -rwxr-xr-x 1 username username 863568 Apr 30 12:11 osiris
    -rwxr-xr-x 1 username username 125152 Apr 30 12:11 osirisd
    -rwxr-xr-x 1 username username 877192 Apr 30 12:11 osirismd
    -rw-r–r– 1 username username 80 Apr 30 12:11 version.h
    ————————————————————————-
    installer package created.[/code]

    これでsrc/install/以下にコンソール用パッケージosiris-console-4.1.8-release-powerpc-Darwin-8.0.0.tar.gzが作成される。make cleanしてから続いてクライアント用パッケージを作成する。

    [code]$ make agent
    (中略)
    ————————————————————————-
    building release tarball: src/install/osiris-agent-4.1.8-release-powerpc-Darwin-8.0.0.tar
    installer package contents:
    total 336
    -rw-r–r– 1 username username 5130 Apr 30 12:13 LICENSE
    drwxr-xr-x 5 username username 170 Apr 30 12:13 darwin
    -rwxr-xr– 1 username username 31187 Apr 30 12:13 install.sh
    -rwxr-xr-x 1 username username 125152 Apr 30 12:13 osirisd
    -rw-r–r– 1 username username 80 Apr 30 12:13 version.h
    ————————————————————————-
    installer package created.[/code]

    これでsrc/install/以下にコンソール用パッケージosiris-agent-4.1.8-release-powerpc-Darwin-8.0.0.tar.gzが作成される。それぞれのパッケージは以下のコマンドでインストールできる。

    [code]$ tar zxvf ./osiris*
    $ cd osiris*
    $ sudo ./install.sh[/code]

    ■ [osiris]osirisクライアント/コンソールを一緒にmake
     ほとんどの場合最初のインストールはこちらでいいと思う。クライアントとコンソールを一気にmakeしてインストールできる。

    [code]$ make all
    (中略)
    Build Successful!

    To create management console install package: ‘make console’
    To create scan agent install package: ‘make agent’

    Documentation is also online at: http://osiris.shmoo.com[/code]

    このメッセージが出たらインストール準備が完了。次のコマンドでインストールを行う。

    [code]$ sudo make install[/code]

    ■ [osiris]osirisのインストール
     ここからは出力にコメントしていく。

    [code]$ sudo make install

    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

    Password:  ←管理者パスワード
    (中略)
    Continue with installation? (y/n) [y]  ←インストール継続の確認
    Osiris Scanning Daemon Version
    4.1.8-release

    “4.1.8-release” for Darwin 8.0.0
    Copyright (c) 2005 Brian Wotring. All Rights Reserved.

    This installation was configured and built to run as osiris
    agent user name: osiris
    management user name: osiris

    This installation was configured and built to use osiris
    agent root directory: /usr/local/osiris
    management root directory: /usr/local/osiris

    The username and directory will be created during the
    installation process if they do not already exist.

    By installing this product you agree that you have read the
    LICENSE file and will comply with its terms.

    ———————————————————————

    ==> creating user and group (osiris, osiris).
    ==> creating Osiris user and group with uid/gid 502.
    ==> group ‘osiris’ added.
    ==> user ‘osiris’ added.
    ==> using existing Osiris management console user.
    Install osiris agent? (y/n) [y]  ←クライアントのインストール確認
    Install management console? (y/n) [y]  ←コンソールのインストール確認
    Install CLI? (y/n) [y]   ←コマンドラインのインストール確認
    Installation directory for binaries: [/usr/local/sbin]  ←インストール先確認
    Installation directory doesn’t exist, creating.
    ==> installed osiris CLI: /usr/local/sbin/osiris
    Osiris scan agent root directory doesn’t exist, creating.
    ==> installed scan agent: /usr/local/sbin/osirisd
    ==> installed management console /usr/local/sbin/osirismd
    ==> installed default scan configs.
    ==> updated: /etc/hostconfig –> OSIRISSERVER=-YES-
    ==> installing StartupItem for the Osiris Scan Agent.
    ==> installed /System/Library/StartupItems/Osiris/Osiris
    ==> change owner and permissions on /usr/local/sbin/osiris
    -rwxr-xr-x 1 root wheel 1412536 Apr 30 12:26 /usr/local/sbin/osiris
    ==> change owner and permissions on /usr/local/sbin/osirisd
    -rwxr-xr-x 1 root wheel 483060 Apr 30 12:26 /usr/local/sbin/osirisd
    ==> change owner permissions on /usr/local/sbin/osirismd
    -rwsr-xr-x 1 osiris osiris 1721788 Apr 30 12:26 /usr/local/sbin/osirismd

    ==================================================================
    Osiris has been installed, but is not currently running. Startup
    scripts have been installed so that the necessary services will
    be started on boot.

    Start management console now? (y/n) [y]  ←コンソール起動確認
    osirismd: missing configuration file,
    ==> created default in: /usr/local/osiris/osirismd.conf.
    unable to load server certificate (/usr/local/osiris/certs/osirismd.crt)
    ==> creating one.
    Generating RSA key, 2048 bit long modulus.
    …………………………………………..+++
    ……………………………………………………………………+++
    Start scan agent now? (y/n) [y]  ←クライアントの起動確認

    Documentation is included with this source and available online at:
    http://osiris.shmoo.com/docs

    (c) 2005 – Brian Wotring[/code]

    これでインストールと起動が完了。続いて設定を行う。

    ■ [osiris]CLIでの設定
     まずはCLIで管理者としてログインし設定を行う。

    [code]$ /usr/local/sbin/osiris
    Osiris Shell Interface – version 4.1.8-release
    unable to load root certificate for management host:
    (/Users/username/.osiris/osiris_root.pem)
    >>> fetching root certificate from management host (127.0.0.1).

    The authenticity of host ‘127.0.0.1’ can’t be established.

    [ server certificate ]

    subject = /C=US/CN=Osiris Management Console/OU=Osiris Host Integrity System
    issuer = /C=US/CN=Osiris Management Console/OU=Osiris Host Integrity System

    key size: 2048 bit
    MD5 fingerprint: 30:87:07:74:08:7B:5D:83:52:FD:63:6F:6B:32:5F:7D

    Verify the fingerprint specified above.
    Are you sure you want to continue connecting (yes/no)? yes ←設定を続けるか確認
    >>> authenticating to (127.0.0.1)

    User: admin ←管理者は「admin」でログインする
    Password:  ←最初は設定されていないのでリターンキー

    connected to management console, code version (4.1.8-release).
    hello.

    WARNING: your password is empty, use the ‘passwd’ command
    to set your password.

    osiris-4.1.8-release: passwd ←まずはadminのパスワードを設定
    User: admin
    Password:  ←管理用パスワードを入力 確認がないので注意
    >>> user: (admin) updated.[/code]

    これで管理者でのログインは完了。以下のコマンドでヘルプが表示される。

    [code]osiris-4.1.8-release: ?

    [ Management Commands ]
    mhost host new-user edit-filters
    edit-mhost edit-host edit-user print-filters
    print-mhost-config list-hosts list-users
    test-notify new-host delete-user test-filter

    [ Host commands ]
    status list-configs start-scan list-db
    watch-host new-config stop-scan baseline
    disable-host push-config print-log set-baseline
    host-details edit-config list-logs print-db
    print-host-config print-config print-db-errors
    rm-host rm-config print-db-header
    init drop-config rm-db
    config verify-config unset-baseline

    [ Misc commands ]
    help version quit ssl

    For help with a specific command, try: help [/code]

    ■ [osiris]管理用ホストを設定する

    [code]osiris-4.1.8-release: edit-mhost

    [ edit management host (127.0.0.1) ]

    > syslog facility [DAEMON]:
    > control port [2266]:
    > http control port [0]: 10080
    > notify email (default for hosts) []: username@yourdomain.com
    > notification smtp host [127.0.0.1]: smtp.yourdomain.com
    > notification smtp port [25]:

    > authorized hosts:

    127.0.0.1

    Modify authorization list (y/n)? [n]

    [ management config (127.0.0.1) ]

    syslog_facility = DAEMON
    control_port = 2266
    http_port = 10080
    http_host =
    notify_email = username@yourdomain.com
    notify_app =
    notify_smtp_host = smtp.yourdomain.com
    notify_smtp_port = 25
    hosts_directory =
    allow = 127.0.0.1

    Is this correct (y/n)? y
    >>> management host configuration has been saved.[/code]

    ■ [osiris]管理対象ホストの追加
     まずは自ホストを管理対象に加えておく。

    [code]osiris-4.1.8-release: new-host

    [ new host ]

    > name this host []: myhost
    > hostname/IP address []: 127.0.0.1
    > description []: iMacG4
    > agent port [2265]:
    > enable log files for this host? (yes/no) [no]:

    Scan Databases:

    => keep archives of scan databases? Enabling this option means that the
    database generated with each scan is saved, even if there are no changes
    detected. Because of disk space, this option is not recommended
    unless your security policy requires it. (yes/no) [no]:
     ↑スキャンDBをアーカイブしておくオプション

    => auto-accept changes? Enabling this option means that detected
    changes are reported only once, and the baseline database is
    automatically set when changes are detected. (yes/no) [yes]:
     ↑変更を自動承認する設定 これをnoにすると承認するまで変更通知メールが何度も来る

    => purge database store? Enabling this option means that none
    of the scan databases are saved. That is, whenever the baseline
    database is set, the previous one is deleted. (yes/no): [yes]:
     ↑常に最新のスキャンDBだけで運用する設定

    Notifications:

    => enable email notification for this host? (yes/no) [no]: yes
    => send notification on scheduled scans failures? (yes/no) [no]: yes
    => send scan notification, even when no changes detected (yes/no) [no]:
    => send notification when agent has lost session key (yes/no) [no]: yes
    => notification email (default uses mhost address) []:

    Scheduling:

    > configure scan scheduling information? (yes/no) [no]: yes

    [ scheduling information for myhost ]

    Scheduling information consists of a start time and a frequency value.
    The frequency is a specified number of minutes between each scan, starting
    from the start time. The default is the current time. Specify the start
    time in the following format: mm/dd/yyyy HH:MM

    enter the start date and time
    using ‘mm/dd/yyyy HH:MM’ format: [Sat Apr 30 13:07:15 2005]
    enter scan frequency in minutes: [1440] 720

    > enable this host? (yes/no) [yes]:

    host => myhost
    hostname/IP address => 127.0.0.1
    description => iMacG4
    agent port => 2265
    host type => generic
    log enabled => no
    archive scans => no
    auto accept => yes
    purge databases => yes
    notifications enabled => yes
    notifications always => no
    notify on rekey => yes
    notify on scan fail => yes
    notify email => (management config)
    scans starting on => Sat Apr 30 13:07:15 2005
    scan frequency => every 720 minutes
    enabled => yes

    Is this correct (y/n)? y
    >>> new host (myhost) has been created.
    Initialize this host? (yes/no): yes

    Initializing a host will push over a configuration, start
    a scan, and set the created database to be the
    trusted database.

    Are you sure you want to initialize this host (yes/no): yes

    OS Name: Darwin
    OS Version: 8.0.0

    use the default configuration for this OS? (yes/no): yes
    >>> configuration (default.darwin) has been pushed.
    >>> scanning process was started on host: myhost[/code]

    ■ [osiris]管理対象ホストの設定変更

    [code]osiris-4.1.8-release: host myhost
    myhost is alive.
    osiris-4.1.8-release[myhost]: edit-config ←ここでviでの設定変更モードになる
    >>> configuration file has changed, updating…
    >>> configuration: (default.darwin) has been updated.
    osiris-4.1.8-release[myhost]: push-config  ←ここで設定変更をホストに反映する
    >>> the configuration: (default.darwin) has been pushed to host: myhost
    osiris-4.1.8-release[myhost]: print-config ←設定内容を表示

    config name: default.darwin
    ID: 946090b8
    status: valid
    errors: 0
    warnings: 0
    lines: 57

    ——– begin config file ——–

    # Default Configuration for Mac OS X.
    Recursive no
    FollowLinks no
    IncludeAll
    Hash md5

    Include mod_users
    Include mod_groups
    Include mod_kmods


    Recursive no
    Include file( “mach_kernel” )


    Recursive yes
    Include executable


    IncludeAll


    IncludeAll


    IncludeAll


    IncludeAll


    IncludeAll


    IncludeAll

      ←ここから追加分
    Recursive yes
    IncludeAll


    Recursive yes
    IncludeAll


    Recursive yes
    IncludeAll
      ←ここまで
    # EOF

    ——– end config file ——–[/code]

    ■ [osiris]Filter設定の追加

    [code]osiris-4.1.8-release: edit-filters  ←ここからviで設定を編集(ウィザードは廃止された)
    >>> comparison filters have been saved.
    osiris-4.1.8-release: print-filters  ←設定を表示
    Exclude anything matching the following regular expressions:

    host=*;path=*;exclude: device ctime ;  ←Filterの書式は3.xから変更なし
    host=*;path=/etc;include only: perm uid gid new missing ;
    host=*;path=/Applications;include only: perm uid gid new missing ;
    host=*;path=/Users/username;include only: perm uid gid new missing ;

    4 comparison filters.[/code]

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