諦めるのは大事。

人間判断力とスピードが大事である。

諦める判断の速度も非常に大事だ(言ってることがむちゃくちゃですw
沙耶です、おはよう。


qmailでのメール鯖はもういい加減ごっそりざっくり勝手に作るスクリプト組んであるのでそれ動かしておしまい。
qmail-scannerとclam入れてねぇけど後回し。

yum updateかけて、一通り最新版にアップしたら、DBにとっかかる。
MySQLはserver諸共入ってるんだが、postgreSQLはライブラリしか入ってないので

yum install postgresql-server php-mysql php-pgsql php-mbstring
などをどかっと放り込む。以下足らん、言われたら都度yumってるだけw

mysqlとpostgreSQL放り込んでチューニング。あふれるメモリを潤沢にMySQLのMyISAMにブチ込む。
トランザクションが要るようなDBは素直にPostgreSQLに投げる方針。MySQLなんてISAMの高速検索テーブル以外に何の価値があるというのか。
いまだにまともなサブクエリの実装すらできてねぇSQLにはそもそもWeb以外の用途で用はない。
#4.0から断片的に、そして4.1からほぼフルスペックでサブクエリは実装されている。が、なぜかjoinでごたごた書いたほうが速いよ、って公式マニュアルに書いてあるサブクエリセットってなんの存在意義があるのか。

というわけでmy.cnf調整。どーせ放り込んだ数値はあとでいじるので、何でもいいが。

こんな感じに。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

key_buffer = 256M
table_cache = 1024
thread_cache = 24
max_allowed_packet = 4M
sort_buffer = 24M
record_buffer = 24M
long_query_time = 1
join_buffer = 24M
query_cache_limit = 1M
query_cache_min_res_unit = 4k
query_cache_size = 32M
query_cache_type = 1

server-id = 100
log-bin
log-long-format
log-slow-queries
skip-locking
skip-innodb
skip-bdb

default-character-set=ujis
skip-character-set-client-handshake

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



トランザクションはpostgreSQLに投げる以上、innoDBもDBDもいらないのでskip。skip-character-set-client-handshakeは4.1.5から追加された、例の4.1系列独特のlatain1コードセット強制使用による文字化け回避のためのオプション。ISAMはメモリ展開命なテーブルなので、メモリを食わせれば食わせるほど速い。そのかわし耐障害性能は著しく低い。遅延書き込みが致命的なほどにデータベースファイルを破壊するので、mysql稼動中のシステムでリセットボタン押したら10中8、9、DBファイルはぶっ壊れるwwwwwwww

現在の鯖からデータを持ってこないといけないので、一時的にレプリ組むのにserver-idをセット。dumpで持ってきてもいいんだが。せっかくなので遊ぶことにする。今の鯖落とした後にマスタスレーブを逆転させる、予定。

phpmyadminをとりあえず放り込んでデータベースの状況確認。問題ナス。

次にsnortにとっかかる。
が、snortは公式Centのパッケージ群にもextrasにもいないので、DAGをリポジトリに追加する。
EL4用のリポジトリはそのまま使えるので、DAGのFAQからrpmコマンド引っ張ってくればおしまい。
勝手にリポジトリを/etc/yum.repo.dに追加してくれる。
basedirをrikenに切り替えて、終了。

さーこれで準備OK。

yum install snort-mysql

でsnortのmysql版をブチ込む。依存関係でsnortも勝手に入るがw
snort用のDBを生成して、テーブル作るのがメンドクサイからソースをsnort本家から持ってきて

mysql snort < /root/snort-2.3.3/schemas/create_mysql

/etc/snort/snort.confからoutputを変更。
output database: alert, mysql, user=snort password=**** dbname=snort host=localhost

事前にsnortのDB用に特権生成しとく必要はありますが。
vi /etc/sysconfig/snort

ALARTMODE=fast
BINARY_LOG=1
DUMP_APP=1
をコメントアウト。バイナリで取る形式のテーブル構造になってないからね。

yum install php-acidでacidもブチ込む。snortsnarfより見た目がカッコいい。うん、理由はそれだけなんだwwwwwwwwwwww
vi /var/www/acid_conf.php

$ChartLib_path = “/var/www/jpgraph-1.19”;
$DBlib_path = “/var/www/adodb”;
に書き換え、DBの接続ユーザーとDB名を書き換える。archive用のDBも作ってしまう。

とりあえずIDS構成完了。あとはルールセット含めた自動化だね。
すでにsnortのアカウントは持ってるんだが大事なことが。

”アカウント何で登録したか覚えてない”wwwwww

まあメールさばくれればいいんだが。というわけで発見。ない人はsnortのサイトで登録スレばOK。
rulesがごたまぜになるのもウザいので、
mkdir /etc/snort/rules ; mv *.rules rulesで全部まとめてしまい、snortのサイトから最新のrulesetをとってきて全部上書き。

最後にIDSのルールセット更新プログラムであるoinkmasterを導入する。

http://oinkmaster.sourceforge.net/からパッケージ取ってきてperlスクリプトをテキトウなトコにおいて、cronで実行させるだけwwwっうぇwwww
oinkmasterのルールセット更新のためにsnortのアカウントが必要なのだ。

oinkmaster.confをテキトウに修正。oinkcodeも付加しておき、定期実行スクリプトに放り込む。以上。
所有権を全部snortにしておくこと。

ルールセットの変更後、snortを再起動しないと反映しないが、これは手動でやるか、監視プロセスをおいとかないとルールセットの破損でIDSが停止する。
qmailのおかげでsuperviseがいるので、実際のところsnortの-Dを削ってフロントエンド動作に仕立て上げた/service/snortを作ればとりあえずはいいだろう。

supervise便利すぎですよDJBせんせぇ…。

0 thoughts on “諦めるのは大事。

  1. 銃の国アメリカでもショートバレルショットは許可されてませんです。ましてスラッグなんてね。葛西じゃないんだからw
    俗にいうマスターキーってやつだね。
    そもそもショットガンなら国内でも買えるしな。免許いるけどwww
    ライフルは所持条件厳しいが…。
    相手も銃器持ってる事前提だと銃器のよしあしなんぞより撃てる撃てないの気概と腕前の問題の方がデカそーだw
    銃器を持たない相手ならどんなちっちゃい銃器でも十分護身用にはなるだろうしねぇ。
    所持禁止の世界ならやはり接触無敵を誇るスタンガン最強でしょうか。

  2. いや、やっぱりあれですよ。
    手袋に発熱・発光体をつけて
    『爆熱、ゴッドフィンガー』
    と叫べば身の安全は保証されます( ̄ー ̄)
    あ、でも病院を紹介されるかもですね(笑)
    そんなぉいらは無双買いました(;´д`)

  3. ガンダム無双はPS3に舞い降りた救いの神ですか?(´・ω・`)
    そんなわたしは店頭で流れてる販促ムービーだけ手に入れてご満悦だったりします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です