携帯サイト:mod_ktaiをインストール

Apacheの携帯サイト変換モジュール、mod_ktaiをインストールしました。

boostが無かったのでインストール

yum install boost

mod_ktaiをインストール

cd /usr/local/src/
wget http://labs.yumemi.co.jp/labs/mod/rpm/mod_ktai_info-0.9.0-1.el5.yumemi.i386.rpm
rpm -ivh mod_ktai_info-0.9.0-1.el5.yumemi.i386.rpm
wget http://labs.yumemi.co.jp/labs/mod/rpm/mod_ktai_emoji-0.9.0-1.el5.yumemi.i386.rpm
rpm -ivh mod_ktai_emoji-0.9.0-1.el5.yumemi.i386.rpm

ktai_info.confの3行目以下のコメントをはずす。

/etc/httpd/conf.d/ktai_info.conf
# ktai_info.conf LoadModule
ktai_info_module modules/mod_ktai_info.so
KtaiInfoLoadDeviceConfigFile /etc/httpd/ktai/ktai_model.tsv

ktai_emoji.confの3行目以下のコメントをはずす。

/etc/httpd/conf.d/ktai_emoji.conf
# ktai_emoji.conf
LoadModule ktai_emoji_module modules/mod_ktai_emoji.so
AddOutputFilterByType KTAI_EMOJI_OUTPUT_FILTER text/html
KtaiEmojiConvertMode auto
KtaiEmojiConvertNativeEmojiDocomo 1
KtaiEmojiEnableAddGuidOn 1

apacheの設定ファイルにIncludeを記述する

/etc/httpd/conf/httpd.conf
Include /etc/httpd/conf.d/ktai_info.conf
Include /etc/httpd/conf.d/ktai_emoji.conf

apacheを再起動して終わり。

/etc/init.d/httpd restart

linux:proxy接続環境で設定すること

よく設定方法を忘れるので、とりあえずこれだけは最初にセットするようにしよう。

環境変数の設定

$HOME/.bashrcに記述

export http_proxy=http://プロクシーサーバ名:ポート番号/
export https_proxy=http://プロクシーサーバ名:ポート番号/
export ftp_proxy=http://プロクシーサーバ名:ポート番号/

記述したら反映する。

source .bashrc

yumのproxy設定

/etc/yum.confの[main]セクションにに下記の1行を追加。

[main]
 ・・・いろいろ省略・・・
proxy=http://プロクシーサーバ名:ポート番号/

wgetのproxy設定

$HOME/.wgetrcに記述する。

export http_proxy=http://プロクシーサーバ名:ポート番号/

pearのproxy設定

pearコマンドでproxyサーバ&ポートを指定する。

pear config-set http_proxy プロクシーサーバ名:ポート番号

うまく行かないときにチェックすること

環境変数がセットされているか…setコマンド
ネットワーク設定は正しいか。
DHCPならこんな感じ。

/etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
#NETMASK=255.255.255.0
#IPADDR=192.168.1.8
BOOTPROTO='dhcp'

coLinux:複数のOSイメージを同時に起動させる

すでに1個のOSイメージをcoLinuxで動かしている前提で、ネットワーク接続できる仮想マシンをもう1つ増やす場合のメモ。

TAPの追加

ネットワークを別々に使用するならTAPを追加しないといけない。
コントロールパネルから

ハードウェアの追加→はい、ハードウェアを接続しています。→新しいハードウェアデバイスの追加→一覧から選択したハードウェアをインストールする→ネットワークアダプタ→「TapWin32Project」の「TAP-Win32 Adapter」→次へ

書名が無いとか警告が出るけど「続行」

インストールが終わるとコントロールパネル→ネットワーク接続に「ローカル エリア接続 N」が追加されている。(Nは数字)
デバイス名がTAP-Win32になっていることを確認すること。
この接続の名前を変更する。仮に”tap2″にする。それで、前からあるTAP接続が”tap1″だと思ってください。
まず、tap1とtap2をブリッジ接続する。”ネットワークブリッジ N”(Nは数字)というブリッジが作成されます。

次にローカルエリア接続(ローカルPCが使用している接続)のプロパティを開き、「詳細設定」タブの「インターネット接続の共有」欄の「ネットワークのほかのユーザに、このコンピュータのインターネット接続をとおしての接続を許可する」にチェックを入れる。そして、「ホームネットワークの接続」プルダウンで先ほど作成した”ネットワークブリッジ N”を選択します。

coLinuxの設定ファイル(仮にcolinux1.txtとcolinux2.txt)にもこのtapの名前を記述する
colinux1.txt

eth0=tuntap,tap1 colinux2.txt eth0=tuntap,tap2

サービス登録

colinux-daemonコマンドでサービスに登録します。

cd C:Program FilescoLinux
colinux-daemon kernel="C:Program FilescoLinuxvmlinux" -t nt @"C:coLinux-installer-20080221coLinux-centos52cent5.colinux.txt" --install-service "coLinux 1"

引数は下記のとおり。
kernel=”C:Program FilescoLinuxvmlinux” …coLinuxのインストールパスに合わせる
-t nt @設定ファイルパス …設定ファイルのパス
–install-service “サービス名” …サービス名

サービス名を変えればいくつでもサービスに登録できる。
サービスから削除するときは

colinux-daemon --remove-service "coLinux 1"

coLinux:Windowsのファイルシステムをマウント

coLinuxの中にsambaを立ててもいいけど、ディスクサイズ小さめでイメージを作っているのでWindows側に共有スペースを作って、それをcoLinuxでマウントするほうが良さそう。

私の場合はこんな感じで起動引数にtxtファイルを指定しているのでcent5.colinux.txtに設定を追記します。

起動コマンド
“C:Program FilescoLinuxcolinux-daemon.exe” -t nt @”C:coLinux-installer-20080221cent5.colinux.txt”

cent5.colinux.txt
cobd0="C:coLinuxcentos5root.ext3"
cobd7="C:coLinuxcentos5swap_device"
cofs0="C:coLinuxcentos5share"  #共有するフォルダ
root=/dev/cobd0 fastboot
initrd=initrd.gz
kernel=vmlinux
mem=128
eth0=tuntap

この引数でcoLinuxを起動したらrootで好きなところにマウントする

mkdir /share
mount -t cofs cofs0 /share

次回の起動から自動でマウントするように/etc/fstabを編集する。
最後にこの1行を追加。

/etc/fstab
cofs    /share  cofs    defaults        0       0

linux:chkrootkitのインストール

インストール

# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
# tar zxfv chkrootkit.tar.gz
# cd chkrootkit-0.48/
# make sense

実行可能なテストの一覧を表示する

# ./chkrootkit -l

実行するときは下記のように。[テストする内容]を省くと全て実行される。結構時間はかかる。

# ./chkrootkit [テストする内容]

全体的にエコー多めで問題のあるところを探しにくい。-qをつけると疑わしい部分だけ表示される。INFECTEDだけを見る場合はこう。

# ./chkrootkit -q | grep INFECTED

決まった時間にchkrootkitを実行するシェル

#!/bin/sh
CHKROOTKIT=”/usr/local/src/chkrootkit-0.48/chkrootkit -q”
TMPFILE=”result.txt”
SUMFILE=”result.sum”
LASTFILE=”last.txt”
LASTSUMFILE=”last.sum”
NOWTIME=`date +”%Y/%m/%d %T”`
MAILTO=””

`$CHKROOTKIT` > $TMPFILE

if [ -f “$LASTSUMFILE” ]; then

md5sum $TMPFILE > $SUMFILE
TMPSUM=`cat $SUMFILE`
LOGSUM=`cat $LASTSUMFILE`
if [ $TMPSUM != $LOGSUM ]; then
#ファイルが変わっている。メール送信
#echo “chkrootkit result is changed.” | mail -s “[ALERT] chkrootkit ” “$MAILTO”
echo “chkrootkit result is changed.”

fi
#次回のチェックのため退避
cat $SUMFILE > $LASTSUMFILE
cat #TMPFILE > $LASTFILE
else
# chkrootkitの結果ファイルがない。メール送信
echo “chkrootkit result is not exsist.” | mail -s “[ALERT] chkrootkit ” “$MAILTO”
fi

ratproxy:インストールからレポート表示まで

1.ダウンロード

# cd /usr/local/src
# wget http://ratproxy.googlecode.com/files/ratproxy-1.51.tar.gz

2.解答してmake

# tar zxfv ratproxy-1.51.tar.gz
# cd ratproxy
# make

※makeするにはopenssl-develが必要

3.実行(出力フォルダ、出力ログ、ドメイン、ポートを指定する場合)

./ratproxy -v . -w out.log -d www.hoge.com -p 8000 -rlfscm &

4.ブラウザでプロクシー(ポート8000)を解して適当にサイトにアクセス

5.ログをレポートに出力
見栄えもあるのでタイトル画像を見えるところに移動

# cp ratproxy-back.png  /var/www/html/ratproxy

cronに設定する

crontab -e
*/5 * * * * /usr/local/src/ratproxy/ratproxy-report.sh /usr/local/src/ratproxy/out.log > /var/www/html/ratproxy/report.html
*/5 * * * * mv /usr/local/src/ratproxy/*.trace /var/www/html/ratproxy/

centOS:yum-cronの設定

パッケージ更新のダウンロードまでは自動でやっておいて欲しいのでyum-cronをインストールした。
そのメモ。

# yum install yum-cron

インストールされた内容は

# rpm -ql yum-cron
/etc/cron.daily/yum.cron
/etc/cron.weekly/yum.cron
/etc/rc.d/init.d/yum-cron
/etc/sysconfig/yum-cron
/etc/yum/yum-daily.yum
/usr/share/doc/yum-cron-0.6
/usr/share/doc/yum-cron-0.6/COPYING
/usr/share/doc/yum-cron-0.6/README

設定ファイルは/etc/sysconfig/yum-cron。
初期状態だとパッケージ更新まで自動で行うようになっているので、設定ファイルを変更する。httpdのように更新を反映するのにrestartが必要なパッケージが放置されないように、当分は更新チェック、ダウンロードまで自動。アップデートは手動で行うつもり。

/etc/sysconfig/yum-cron
# Don’t install, just check (valid: yes|no)
CHECK_ONLY=yes
# Don’t install, just check and download (valid: yes|no)
# Implies CHECK_ONLY=yes (gotta check first to see what to download)
DOWNLOAD_ONLY=yes

設定したらyum-cronの再起動する。

# /etc/init.d/yum-cron restart
# yum check-update

これでrootにメールが来るようになる。

最後にyum-updatesdを止める。

# /etc/init.d/yum-updatesd stop
# /sbin/chkconfig yum-updatesd off

postfix:インストールとmtaの切り替え

sendmailが入っているサーバにpostfixを入れるメモ。

まず、postfixのインストール

# yum install postfix

次に設定。/etc/postfix/main.cfに記述する。

# cp /etc/postfix/main.cf /etc/postfix/main.cf.org
# vi /etc/postfix/main.cf
/etc/postfix/main.cf
myhostname = 自ホスト名
mydomain = $mydomain
myorigin = $mydomain
#inet_interfaces = all
inet_interfaces = localhost
mynetworks_style = host
mynetworks = xxx.xxx.xxx.xxx
smtpd_banner = $myhostname ESMTP
home_mailbox = Maildir/
main.cfのパラメタ抜粋
パラメータ名 説明
myhostname 自ホスト名
DNSで引けるドメイン名であること。
mydomain 自ドメイン名
postfixの名前解決に使用する。ホスト名を省略したとき、このlocalhost.$mydomainに送信される。
mynetworks_style 信頼できるSMTPクライアントアドレス
host,subnet,classが指定できる。
mynetworks 信頼できるSMTPクライアントアドレス
mynetworks_styleよりも詳細に設定するときに使う。,(カンマ)またはスペースで区切ってsabunetをいくつも設定できる。ここを設定するとmynetworks_styleは無視される。
home_mailbox mailboxの形式

mtaの切り替え。

# /usr/sbin/alternatives --config mta

There are 2 programs which provide 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number:

ここでpostfix・・・2を選ぶ。

設定したらpostfixを起動&initスクリプトの登録。

# /etc/init.d/postfix start
# /sbin/chkconfig postfix on

sendmailは止める。

# /etc/init.d/sendmail stop
# /sbin/chkconfig sendmail off

必ず不正中継のテストをすること。 Mail relay testing