Trick or Treat!

Lilith タスクリスト

mantis で行き詰った…。

2008年08月16日 06時37分14秒 | 雑記
MANTISというPHP&MySQLを使うトラックツールをカスタマイズしているのだが
My Viewというインシデント一覧を項目別にリスト表示する部分で躓いた。

MANTISにはカスタム項目という既存の項目にないものを追加できる仕組みがあるわけだが、
それを一覧に表示させたいのにできない…。

カスタム項目のデフォルトに設定した検索条件を既存の項目のようにさらってくれないので、いつまでたっても表示ができない。

検索画面の不要な項目を消したりはできても、ここがうまくいかないと意味がない。

本当は、アサインされる登録者が複数名指定できればこんなことしなくていいんだけど
MANTISの設計思想的には無理っぽいのでこう悩んでいるわけだが。

my_view_inc.phpの $c_filter['****'] = array()にカスタムIDを追記したあと、
どこをいじれば良いのかがわからない。

$t_cfid = *(カスタム項目のID値)

$c_filter['****'] = array(
'show_category' => Array ( '0' => META_FILTER_ANY ),
'show_severity' => Array ( '0' => META_FILTER_ANY ),
'show_status' => Array ( '0' => META_FILTER_ANY ),
'highlight_changed' => $t_default_show_changed,
'reporter_id' => Array ( '0' => META_FILTER_ANY ),
'handler_id' => Array ( '0' => META_FILTER_ANY ),
'show_resolution' => Array ( '0' => META_FILTER_ANY ),
'show_build' => Array ( '0' => META_FILTER_ANY ),
'show_version' => Array ( '0' => META_FILTER_ANY ),
'hide_status' => Array ( '0' => $t_hide_status_default ),
'custom_field_' . $t_cfid => Array ( '0' => META_FILTER_NONE )
)

$rows = filter_get_bug_rows ( $f_page_number, $t_per_page, $t_page_count, $t_bug_count, $c_filter[$t_box_title] );
$t_filter = array_merge( $c_filter[$t_box_title], $t_filter );

ここでフィルタ処理をしているはずなんだが、
どーにも追いかけても意味不明になってしまった。

所詮、プログラムなんぞできない自分が手を出す領域ではなかったのかも知れんないなぁ。




PowerEdge 840を注文してみた

2008年08月14日 00時57分08秒 | PowerEdge
PowerEdge 840 がまぁまぁ安かったので購入。
VGAの別刺しなどでは問題があるようですが、
サーバ用途ではIPMIに対応しており、この価格ではかなり優秀かと。
できれば別のケースに乗せ換えが可能であってほしいのですが、どうなる事やら。
とりあえず、3Uの水冷サーバに搭載を試みる予定です。

Xeon 3040と交換して、VT対応にして、
Windows2008入れて、Hyper-Vで遊ぼうかと思案中。
でもPE1950でも同じことしてるので、Xenかvmwareにでもしようか悩んで見よう。

問題はNICが1つしか搭載されてないことですね。
拡張スロットのうち、PCIはDRAC4/Pが占領するので
PCI-EのLANを1つ用意しないと…



PowerEdge 840 クアッドコアテクノロジー&1GBメモリ搭載特別価格パッケージ
-- Base:--
PowerEdge 840 ホットプラグHDD非対応
-------------------------
-- プロセッサ:--
インテル(R) Core(TM) 2 Duo フ゜ロセッサー E4600
(2.40GHz, 2MB L2 Cache, 800MHz FSB)
-----------------------
-- キーボード:--
なし
-----------------------
-- メモリ:--
1GB (1x1GB 2R) DDR2/667MHz ハ゛ッファ無し SDRAM DIMM ECC
-----------------------
-- シャーシ:--
3.5インチ ハードディスク最大4台搭載可能シャーシ
(ホットプラグ非対応)
-----------------------
-- ハードディスク:--
<1台> 80GB 3.5インチ SATAⅡハート゛テ゛ィスク
(7,200回転)(ホットフ゜ラク゛非対応)
-----------------------
-- Floppyドライブ:--
内蔵フロッヒ゜ーテ゛ィスクト゛ライフ゛ 2モート゛
-----------------------
-- OS:--
OSなし
-----------------------
-- マウス:--
なし
-----------------------
-- 光学ドライブ:--
オプティカルドライブなし
-----------------------
-- デル製モニタ:--
なし
-----------------------
-- マニュアル:--
付属品一式(日本語版)
-----------------------
-- RAID構成:--
構成1A:オンホ゛ート゛SATAチャネル接続 (非RAID構成 HDD1台)
-----------------------
-- OpenManage:--
Dell OpenManage DVDキット
-----------------------
-- <注目のサービス>IT/エンドユーザ・プロサポート:--
【ヘ゛ーシックNBD】
3年間翌営業日対応オンサイト保守サーヒ゛ス(6営業日9-17時)
-----------------------
-- オンライン特別価格 (オンライン・ストアでの購入に限ります):--
オンライン限定105,000円 (税込)OFF!(PEOL0535)
-----------------------
-- チップセット:-- インテル(R)3000 チップセット
-----------------------

小計: 10,000

配送料: 5,000

消費税:750
合計金額: 15,750

お届け予定日は2008/08/26前後になります。
国際輸送には主に船便を使用しており、
輸送準備期間を含め約1週間かかります。
お届け予定日は変更となる可能性があります。

お客様が注文された製品は現在生産中です。
デル製品のお買い上げ誠にありがとうございました。

IX2015について

2008年08月12日 02時34分46秒 | NEC IX2015
IX2015を使って遊ぼうかと思ったけど
UPNPに対応してないときたもんだ。

現状、、RT107、SRT100、XR-410/TX2(遊休)、BHR-4RV(半遊休)、
と有り余ってる現状にさらに追加する意味があるのかという疑問符がかなり…。

ただ、ショートパケット性能だけを取り上げても、
YAMAHA系は相手にならないほどIX系のスループットは良い。
IPsecなどのスループットも非常に優秀だ。
まぁ、CLIベースなのでコンフィグ書ける人じゃないと面倒だけど。

じゃあ、自宅用インフラで使ってるRT107eと入れ替えるかというとUPNPがネックになりそう…。
YAMAHAもUPNP自体には適当な対応しかしてないけど…。

IX2015の下にSRT100ぶら下げるのもナンセンスだしなぁ。
ほんと使いどころに困る機種だ。
性能が良いだけに面白い逸材なんですけどねぇ。

XR-410/TX2もヤフオクにでも出して、
より有意義に使ってくれる人のところへ送り出したほうが良い気もする。
非常に安定した良い機種なだけに遊休にしとくには勿体ないのですが…。

Server Administrator version 5.2

2008年08月11日 00時53分11秒 | PowerEdge
# ./setup.sh


##############################################

Server Administrator Custom Install Utility

##############################################

Components for Server Administrator Managed Node Software:

[ ] 1. Server Administrator CLI
[ ] 2. Server Administrator Web Server
[ ] 3. Storage Management
[ ] 4. Remote Access Core
[ ] 5. Remote Access SA Plugins
[ ] 6. All

Enter the number to select a component from the above list.
Enter q to quit.

Enter : 6
















##############################################

Server Administrator Custom Install Utility

##############################################

Selected Options
- All

Dependencies
- Server Administrator CLI
- Server Administrator Web Server
- Storage Management
- Remote Access Core
- Remote Access SA Plugins

Components for Server Administrator Managed Node Software:

[x] 1. Server Administrator CLI
[x] 2. Server Administrator Web Server
[x] 3. Storage Management
[x] 4. Remote Access Core
[x] 5. Remote Access SA Plugins
[x] 6. All

Enter the number to select a component from the above list.
Enter c to copy selected components to destination folder.
Enter i to install the selected components.
Enter r to reset selection and start over.
Enter q to quit.

Enter : i

Default install location is: /opt/dell/srvadmin
Do you want to change it?
Press ('y' for yes | 'Enter' for default):

Installing the selected packages.

警告: instsvc-drivers-5.4.0-260.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 23b66a9d
準備中... ########################################### [100%]
1:srvadmin-omilcore ########################################### [ 6%]
To start all installed services without a reboot,
enter the following command: srvadmin-services.sh start
2:srvadmin-syscheck ########################################### [ 11%]
3:srvadmin-deng ########################################### [ 17%]
4:srvadmin-omauth ########################################### [ 22%]
5:srvadmin-omacore ########################################### [ 28%]
6:srvadmin-jre ########################################### [ 33%]
7:srvadmin-racadm4 ########################################### [ 39%]
8:srvadmin-racsvc ########################################### [ 44%]
9:srvadmin-ipmi ########################################### [ 50%]
10:srvadmin-hapi ########################################### [ 56%]
11:srvadmin-isvc ########################################### [ 61%]
12:srvadmin-rac4-component########################################### [ 67%]
13:instsvc-drivers ########################################### [ 72%]
14:srvadmin-cm ########################################### [ 78%]
15:srvadmin-iws ########################################### [ 83%]
16:srvadmin-omhip ########################################### [ 89%]
17:srvadmin-racdrsc4 ########################################### [ 94%]
18:srvadmin-storage ########################################### [100%]

Do you want the Server Administrator services started?
Press ('y' for yes | 'Enter' to exit): y
Starting Remote Access Controller (RAC4) Service... [ OK ]
Starting Systems Management Device Drivers:
Starting dell_rbu: [ OK ]
Starting ipmi driver: [ OK ]
Starting Systems Management Data Engine:
Starting dsm_sa_datamgr32d: [ OK ]
Starting dsm_sa_eventmgr32d: [ OK ]
Starting DSM SA Shared Services: [ OK ]

Starting DSM SA Connection Service: [ OK ]

PE860@Tour de Syslog-ng

2008年08月06日 00時06分36秒 | PowerEdge
syslog-ngを導入しようと、syslog-ng-2.0.9.tar.gzをDLして
rpmbuildでビルドを試みる。

案の定、エラーをはく。
eventlog-0.2.7.tar.gzがないとダメであるらしく、
eventlog-0.2.7.tar.gzもビルドすると、SPECファイルの中身を書き換えないとダメでした。

[前]
Source: eventlog_%{version}.tar.gz
[後]
Source: eventlog-%{version}.tar.gz

自分とこで作ってるファイルだろうに…。

これと同じ問題はsyslog-ng-2.0.9.tar.gzでも起こります…。

さて、eventlog のインストールが終わった後、再度syslog-ngをビルドを行うと・・・。

In file included from /home/bazsi/zwa/git//syslog-ng/syslog-ng-ose--mainline--2.0/src/cfg-grammar.y:15:
afinet.h:62: error: expected specifier-qualifier-list before ‘libnet_t’
make[2]: *** [cfg-grammar.o] エラー 1
make[2]: ディレクトリ `/usr/src/redhat/BUILD/syslog-ng-2.0.9/src' から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/usr/src/redhat/BUILD/syslog-ng-2.0.9' から出ます
make: *** [all] エラー 2
エラー: /var/tmp/rpm-tmp.17540 の不正な終了ステータス (%build)

libnetがらみでエラー発生。
spoof-source というオプションが有効になっている場合に処理が行われる部分らしく
その辺で問題が出たようだ。

libnetはsnortの一部の機能を利用する関係上、最新のものではない。
その辺が加味しているのであろうことが感じ取れたので、
specファイルに--enable-spoof-source=noオプションを追加して実行。

伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/syslog-ng-root
書き込み完了: /usr/src/redhat/RPMS/x86_64/syslog-ng-2.0.9-1.x86_64.rpm

なんだかんだ言いながら、完成してくれた模様。

spoofというからには、セキュリティ絡みなんだろうけど…
基本的にDMZ側でSyslog受け取る気はないから良しとしよう。


PE860@Tour de Snort 3e étape

2008年08月05日 01時41分29秒 | PowerEdge
さて、Snortのインストールが終わったと思ったら…。
バージョンアップしたのが公開されていたので、同じ手順で、再度RPMを作ってみる。
Snort 2.8.2.1からSnort 2.8.2.2へうまくVerUPできればよいのですが・・・。

というわけで、snort-2.8.2.2-1.src.rpmを取得し、展開
inline.cを書き換えて、再度圧縮し、リビルド実行。

無事に作成は成功。

では、rpm -Uvhで…。
# rpm -Uvh snort-inline-2.8.2.2-1.x86_64.rpm snort-inline-mysql-
2.8.2.2-1.x86_64.rpm
準備中...
########################################### [100%]
1:snort-inline
警告: /etc/snort/snort.conf は /etc/snort/snort.conf.rpmnew として作成されました。
########################################### [ 50%]
2:snort-inline-mysql
########################################### [100%]

以前インストールした際のsnort.confバックアップファイルと今回のファイルを比べると・・・。
diff /etc/snort/snort.conf.backup /etc/snort/snort.conf.rpmnew

2c2
< # http://www.snort.org Snort 2.8.2.1 Ruleset
---
> # http://www.snort.org Snort 2.8.2.2 Ruleset
194c194
<dynamicpreprocessor directory /usr/lib64/snort-2.8.2.1_dynamicpreprocessor/ > dynamicpreprocessor directory /usr/lib64/snort-2.8.2.2_dynamicpreprocessor/
204c204
<dynamicengine /usr/lib64/snort-2.8.2.1_dynamicengine/libsf_engine.so > dynamicengine /usr/lib64/snort-2.8.2.2_dynamicengine/libsf_engine.so

どうやら、参照するフォルダが変わっているようだ。
実際、Snortは再起動でエラーをはいています。

snort[4673]: Loading dynamic engine /usr/lib64/snort-2.8.2.1_
dynamicengine/libsf_engine.so...

snort[4673]: FATAL ERROR: Failed to load /usr/lib64/snort-2.8
.2.1_dynamicengine/libsf_engine.so: /usr/lib64/snort-2.8.2.1_dynamicengine/libsf_engine.so
: cannot open shared object file: No such file or directory

とまぁ、予想どおりなので、snort.confの該当箇所を修正。

で、再度起動を試みる。
snort[4769]: Snort initialization completed successfully (pid=4769)

無事にアップデートできたようです。

PE860@Tour de Snort 2e étape

2008年08月05日 00時37分03秒 | PowerEdge
ようやく、Snortがインストールされたわけですが、
現状ではまだ、それが稼働できる状態ではないのが、ポイントです。

1.DBを準備する。
SnortのログをMySQLのDBへ出力するためには、
MySQL上にDBを用意する必要があります。
しかし、RPMパッケージではその辺はやってくれないので、
各自で、ソースファイルの中にある
./schemas/create_mysql を作成したDBへインポートし、テーブル情報などを作成します。

mysql -u root -p <create_mysql snort_db名 2.ルールファイルのダウンロード
oinkmasterを利用します。
oinkmasterはRPMが用意されているので、それをインストールし、
snortでルールファイルの利用のため、登録を済ませ、
oinkmaster用のコードを手に入れます。

/etc/oinkmaster.confにその内容を書き込みます。
# Example for Snort-current ("current" means cvs snapshots).
url = http://www.snort.org/pub-bin/oinkmaster.cgi/<oinkcode>/snortrules-snapshot-CURRENT.tar.gz

その後、コマンドを実行します。
/usr/bin/oinkmaster.pl -o /etc/snort/rules -C /etc/oinkmaster.conf
[実行画面]
Loading /etc/oinkmaster.conf
Downloading file from http://www.snort.org/pub-bin/oinkmaster.cgi/*oinkcode*/snortrules-snapshot-CURRENT.tar.gz... done.
Archive successfully downloaded, unpacking... done.
Setting up rules structures... done.
Processing downloaded rules... disabled 0, enabled 0, modified 0, total=12320
Setting up rules structures... done.
Comparing new files to the old ones... done.

[***] Results from Oinkmaster started 20080805 00:32:12 [***]

[*] Rules modifications: [*]
None.

[*] Non-rule line modifications: [*]
None.

[*] Added files: [*]
None.

さて、ルールもできたことだし、snortを起動しようと思うと、
エラーをはきます。ログを見てみると・・・。
messagesより
snort[16466]: FATAL ERROR: Unable to open rules file: /etc/snort/rules/local.rules or /etc/snort//etc/s
nort/rules/local.rules

touch /etc/snort/rules/local.rules でlocal.rulesを作ってあげないとダメなようです。

そして、無事に起動
/etc/rc.d/init.d/snortd start

PE860@Tour de Snort 1e étape

2008年08月04日 21時17分47秒 | PowerEdge
Power Edge 860へインストールしたCentOS5.2でSnortを稼働させるため
いろいろと準備を展開。

1.事前準備
必要となるいくつかのパッケージを新たにインストール。
libpcap 0.9.4-12.el5
pcre 6.6-2.el5_1.7

2.自前で準備
x86_64環境で統一しようと思うと自分でリビルドし直す必要がある…。
仕方がないので、Snort及び関連パッケージをリビルドしなおします。

MySQL&flexrespオプションを付けて、snort-2.8.2.2-1.src.rpmをリビルドしてみると
libnet-1.0.2aでないといわれ、libnet-1.0.2aをx86_64で作成すると
今度はlibpwrite.aがコンパイル時に足りないといわれ、
libnet.specの、コメントアウトを外し、下記のとおりに編集。

[前]
#%{_libdir}/libpwrite
[後]
%{_libdir}/libpwrite.a

ようやく、libnet-1.0.2aをインストールし、snortをリビルドかけると、
mysqlの関連ファイルがないと怒られる。

仕方がないので、指定して実行。(1行です。)
# MYSQL_LIB_DIR=/usr/lib64/mysql CFLAGS="-I/usr/lib64/mysql -I/lib64 -I/usr/include/mysql" LDFLAGS="-L/usr/lib64/mysql -L/lib64 -L/usr/lib64" rpmbuild -bb--target=x86_64 snort.spec --with flexresp --with mysql

で成功を確認した。

ではでは、--with inline を付けて再度コンパイルを実行すると・・・
inline.c: In function 'InitInlinePostConfig':
inline.c: In function 'IpqLoop':
inline.c: In function 'RejectSocket':
inline.c: In function 'RejectLayer2':
make[3]: *** [inline.o] Error 1
こんな感じでつらつらとlinline.cでビルドエラー発生。


下記によると、ソースファイルを編集しろと言うことなので、

http://www.mcabee.org/lists/snort-users/Feb-08/msg00073.html

SOURCEフォルダのtar.gzを解凍し、./src/inline.c を編集。
ファイルの文頭にある #include <libnet.h>> の下に #include <net/ethernet.h> を追加
その後、再度リビルドを実行したところ、無事に完成。

snort-inline-2.8.2.1-1.x86_64.rpm
snort-inline-mysql-2.8.2.1-1.x86_64.rpm

インストールも問題なく通りました。