変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

Linux

chkrootkitインストール

元ネタはココ
# yum -y install chkrootkit
No package chkrootkit available.
Error: Nothing to do
なので


EPELリポジトリ導入(EPEL)
(1)yumのプライオリティのパッケージをインスト
# yum -y install yum-plugin-priorities
ちょっと訂正を入れる。

 /etc/yum.repos.d/CentOS-Base.repo

 priority=1を[base][updates][extras]の各ブロックに追加。

(2)EPELリポジトリインストール

# rpm -ivh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm

(3)epel-releaseアップデートして最新にしておく

 # yum -y update epel-release


再び、
(1)chkrootkitをインスト

# yum -y install chkrootkit
(2)実行してみて失敗がないか確認する。
# chkrootkit | grep INFECTED
(3)chkrootkit実行スクリプト作成する。

/root/chkrootkit

#!/bin/bash

PATH=/usr/bin:/bin

TMPLOG=`mktemp`

# chkrootkit実行

chkrootkit > $TMPLOG

# ログ出力

cat $TMPLOG | logger -t chkrootkit

# SMTPSのbindshell誤検知対応

if [ ! -z “$(grep 465 $TMPLOG)” ] && \

[ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then

sed -i ‘/465/d’ $TMPLOG

fi

# rootkit検知時のみroot宛メール送信

[ ! -z “$(grep INFECTED $TMPLOG)” ] && \

grep INFECTED $TMPLOG | mail -s “chkrootkit report in `hostname`” root

rm -f $TMPLOG

(4)chkrootkit実行スクリプトへ実行権限付加

# chmod 700 chkrootkit

(5)chkrootkit実行スクリプトを毎日自動実行されるディレクトリへ移動

# mv chkrootkit /etc/cron.daily/

 (6)クラッシュした時のためにコマンドをメールで送る

作業フォルダを作り

# mkdir chkrootkitcmd

対象コマンドをコピし

# cp `which –skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/

一応改ざんチェックもしておく

# chkrootkit -p /root/chkrootkitcmd|grep INFECTED

圧縮し

# zip -r chkrootkitcmd.zip chkrootkitcmd/

作業フォルダは削除、

# rm -rf chkrootkitcmd

メールで送信する。

# yum -y install sharutils

# uuencode chkrootkitcmd.zip chkrootkitcmd.zip|mail root

元ファイルは消しておく

# rm -f chkrootkitcmd.zip



Tripwire

まずはTripwireか
1.ソースをダウンロード。
大元をみると
Looking for the latest version? Download tripwire-2.4.2.2-src.tar.bz2 (716.6 kB)
と書いてあったので、2.4.2.2をダウンロードしてWinSCPを使ってCentOS6.2の/rootにコピーする。
2.インスト

実際にインストするならココを見たほうがいい。

どうやらWordPress3.3.1の編集機能には問題があり改行が勝手に削除されるので、

ソースコード部分は手作業で修正したから信頼性はかなり低い。

(1)tar解凍し、インストール開始。

# tar jxvf tripwire-2.4.2.2-src.tar.bz2
# cd tripwire-2.4.2.2-src

# ./configure --prefix=/usr/local/tripwire sysconfdir=/etc/tripwire && make && make install

 Press ENTER to view the License Agreement.
【Enter】
ライセンス表示は【Space】で次頁へ移動できる。何度も【Space】
license agreement. [do not accept] accept
Continue with installation? [y/n] y
Enter the site keyfile passphrase: ++++++++++ ← サイトパスフレーズ(パスワード1みたいなもの)
Verify the site keyfile passphrase: ++++++++++
Enter the local keyfile passphrase: ********** ← ローカルパスフレーズ(パスワード2みたいなもの)
Verify the local keyfile passphrase: **********
Please enter your site passphrase: ++++++++++
Please enter your site passphrase: ++++++++++

———————————————-
The installation succeeded.

Please refer to
for release information and to the printed user documentation
for further instructions on using Tripwire 2.4 Open Source.

make[3]: ディレクトリ `/root/tripwire-2.4.2.2-src’ から出ます
make[2]: ディレクトリ `/root/tripwire-2.4.2.2-src’ から出ます
make[1]: ディレクトリ `/root/tripwire-2.4.2.2-src’ から出ます

(2)不要なファイルを削除

# cd
# rm  -rf  tripwire-2.4.2.2-src
# rm  tripwire-2.4.2.2-src.tar.bz2
rm: remove 通常ファイル `tripwire-2.4.2.2-src.tar.bz2′?  y

(3)tripwireが実行できる様にPATH環境変数を変更 .bashrcの構成に注意

# echo PATH=$PATH:/usr/local/tripwire/sbin >> .bashrc ; source .bashrc

 
3.設定。
(1)Tripwire設定ファイルの変更

WinSCPで/etc/tripwire の twcfg.txt をエディタで開く。

LOOSEDIRECTORYCHECKING =false  true に変更

REPORTLEVEL   =3 を 4 に変更して保存。

(2)Tripwire設定ファイル(暗号署名版)作成

# twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
Please enter your site passphrase: ++++++++++
Wrote configuration file: /etc/tripwire/tw.cfg

<不要なテキストを削除>

# rm -f /etc/tripwire/twcfg.txt

(3)ポリシーファイルを最適化するPerlスクリプトを作成

/etc/tripwire/twpolmake.pl

#!/usr/bin/perl

# Tripwire Policy File customize tool

# —————————————————————-

# Copyright (C) 2003 Hiroaki Izumi

# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License

# as published by the Free Software Foundation; either version 2

# of the License, or (at your option) any later version.

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.

# —————————————————————-

# Usage:

# perl twpolmake.pl {Pol file}

# —————————————————————-

#

$POLFILE=$ARGV[0];

open(POL,”$POLFILE”) or die “open error: $POLFILE” ;

my($myhost,$thost) ;

my($sharp,$tpath,$cond) ;

my($INRULE) = 0 ;

while (<POL>) {

chomp;

if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) {

$myhost = `hostname` ; chomp($myhost) ;

if ($thost ne $myhost) {

$_=”HOSTNAME=\”$myhost\”;” ;

}

}

elsif ( /^{/ ) {

$INRULE=1 ;

}

elsif ( /^}/ ) {

$INRULE=0 ;

}

elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) {

$ret = ($sharp =~ s/\#//g) ;

if ($tpath eq ‘/sbin/e2fsadm’ ) {

$cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ;

}

if (! -s $tpath) {

$_ = “$sharp#$tpath$cond” if ($ret == 0) ;

}

else {

$_ = “$sharp$tpath$cond” ;

}

}

print “$_\n” ;

}

close(POL) ;

(4)ポリシーファイルの最適化

# perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.new

(5)最適化済ポリシーファイルを元にポリシーファイル(暗号署名版)作成

# twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt.new

Please enter your site passphrase: ++++++++++

Wrote policy file: /etc/tripwire/tw.pol

(6)ポリシーファイル(テキスト版)削除

# rm -f /etc/tripwire/twpol.txt*

(7)データベース作成

# tripwire -m i -s -c /etc/tripwire/tw.cfg
Please enter your local passphrase: ++++++++++

<結構長いAMD E350で2分ぐらい>

(8)実行してみる

# tripwire -m c -s -c /etc/tripwire/tw.cfg

<結構長いAMD E350で2分ぐらい>

 ===============================================================================
Error Report:
===============================================================================

No Errors

——————————————————————————-
*** End of report ***

Open Source Tripwire 2.4 Portions copyright 2000 Tripwire, Inc. Tripwire is a registered
trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY;
for details use –version. This is free software which may be redistributed
or modified only under certain conditions; see COPYING for details.
All rights reserved.

(9)定期自動実行の設定

 /root/tripwire.sh

#!/bin/bash

PATH=/usr/sbin:/usr/bin:/bin:/usr/local/tripwire/sbin

# パスフレーズ設定

LOCALPASS=”**********” # ローカルパスフレーズ

SITEPASS=”++++++++++” # サイトパスフレーズ

cd /etc/tripwire

# Tripwireチェック実行

tripwire -m c -s -c tw.cfg|mail -s “Tripwire(R) Integrity Check Report in `hostname`” root

# ポリシーファイル最新化

twadmin -m p -c tw.cfg -p tw.pol -S site.key > twpol.txt

perl twpolmake.pl twpol.txt > twpol.txt.new

twadmin -m P -c tw.cfg -p tw.pol -S site.key -Q $SITEPASS twpol.txt.new > /dev/null

rm -f twpol.txt* *.bak

# データベース最新化

rm -f /usr/local/tripwire/lib/tripwire/*.twd*

tripwire -m i -s -c tw.cfg -P $LOCALPASS

<実行モード設定>

#chmod 700 tripwire.sh

<cron設定>

#echo “0 3 * * * root /root/tripwire.sh” > /etc/cron.d/tripwire

(10)とりあえず実行してみよう。

その前に内容確認。

# vi  tripwire.sh

LOCALPASS=”**********” # ローカルパスフレーズ

SITEPASS=”++++++++++” # サイトパスフレーズ

のままだったら、**********と++++++++++を正しい内容に書き換えよう。

# ./tripwire.sh

### Error: File could not be opened.
### Filename: /usr/local/tripwire/lib/tripwire/****************.twd

と出るかもしれない、その場合はもう一回やってみよう。



VMX修正

shutdownが重いので、
VMXファイルに
mainMem.useNamedFile = “FALSE”
MemTrimRate = “0″
logging = “FALSE”
を追記。
古いVMPlayerでは
C:\ProgramData\VMware\<VMware-Product>\config.ini にも
host.cpukHz = “1600000″
host.noTSC = “TRUE”
ptsc.noTSC = “TRUE”
って追記していたがVer4にはconfig.iniは存在しない。
 



CentOS6.2インスト【2】

<とりあえず更新>
# yum -y update

Loaded plugins: fastestmirror
base                                       | 3.7 kB 00:00
base/primary_db                            | 3.5 MB 00:02
extras                                     | 3.5 kB 00:00
extras/primary_db                          | 5.4 kB 00:00
updates                                    | 3.5 kB 00:00
updates/primary_db                         | 652 kB 00:00
Setting up Update Process
Resolving Dependencies

・・・
Complete!
<自動更新パッケージをインスト>
# yum -y install yum-cron
・・・
Complete!
<自動更新を起動>
# /etc/rc.d/init.d/yum-cron start
夜間 yum 更新の有効化中:                                   [  OK  ]
<自動更新を再起動後も有効にする>
# chkconfig yum-cron on
<使いそうなパッケージをインスト>
# yum -y groupinstall “Base” “Development tools”
 
CentOS6初期設定のまま、やってみた。



CentOS6.2インスト【1】

もう珍しくも何でもないがメモとして残しておく。
ネットワークインストールをするので、インスト用のISOイメージは、ここからダウンロードする。
32ビット版: http://ftp.iij.ad.jp/pub/linux/centos/6.2/isos/i386/CentOS-6.2-i386-netinstall.iso
64ビット版: http://ftp.iij.ad.jp/pub/linux/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-netinstall.iso
 
VMWare4でインストする場合、
まず「新規作成」

メジャーだと思うんだが、ブート時の認識がおかしくなるので
「後でOSをインストールする」を選択する。

OSはLinuxのRedHat ENterprise 6を選ぶ。

名前を付ける。フィニュでもOK。

VMDKファイルの構成を決める。

ここでハードウェアのカスタマイズをしておく。

1.メモリは512MB 1GBに減らす。
※512MBではインストーラがテキストモードになり、LVMのグループがVolGroupがなってしまう場合があるようです。

2.フロッピーディスクとか訳の判らないものは要らない。

3.スワップ用のディスクを追加する。【追加】ボタンを押す。

ハードディスクを選択し【次へ】ボタンを押す。

新規を選んで【次へ】ボタンを押す。

【次へ】ボタンを押す。

4GBに変更し、【次へ】ボタンを押す。

ファイル名を付ける。【完了】ボタンを押す。

内容を確認する。

4.CDはNetINstall用ISOイメージを設定。

5.LANはブリッジ接続に変更。

出来上がったものを再生。

「I」を選択して【ENTER】キー。

ディスクチェックはスキップする。

 

 

 

 

 
 

上からインストするLinuxに割り当てるIPアドレスとネットマスク。
ゲートウエイとネームサーバーはルータを向いていればいい。

インストに使用するURLは、
32ビット版: http://ftp.iij.ad.jp/pub/linux/centos/6.2/os/i386
64ビット版: http://ftp.iij.ad.jp/pub/linux/centos/6.2/os/x86_64
で【OK】ボタンを押す。

ダウンロード開始。

無事ダウンロードが終わるとやっとGUIモードに移る。
【次】ボタンを押す。

【次】ボタンを押す。

はいの方を選択する。

マシン名を設定し、【次】ボタンを押す。
※ここで手抜きするとLVMのグループ名がいつも「VolGroup」になって苦しくなる。ちゃんとマシン名を入れるとLVMのグループ名が「vg_(マシン名)」になるハズ。

【次】ボタンを押す。

rootのパスワードを設定し、【次】ボタンを押す。

LVMのグループ名を変えるなら、Create Custom Layout を選択し、【次】ボタンを押す。
そうでなければへCreate Custom Layoutの部分は飛ばす。

【戻る】ボタンを押す。

全部使ってよしを選択し、【次】ボタンを押す。

VMDKは20Gバイトの方だけ右に移動し【次】ボタンを押す。

デバイスの設定画面が出てきた場合には、LVMのグループ名を確認する。
グループ名を選択して【編集】ボタンを押す。

グループ名を変えて、【OK】ボタンを押す。

LVMボリュームの中のスワップ領域を削除し、

/ にマウントした領域を増やす。

2つめのディスクにswap領域を作る。
 

【次】ボタンを押す。

確認画面が出たら【フォーマット】ボタンを押す。

書き込み確認画面が出たら【Write changes to disk】ボタンを押す。

ブートローダーの設定はそのまま、【次】ボタンを押す。

mininalのまま、【次】ボタンを押す。

パッケージのインスト開始。

完了。【再起動】ボタンを押す。

全てうまくいけば、

※DVDのISOイメージを使用するとなぜかeth0の設定が無効になっているので、

/etc/sysconfig/network-scripts/ifcfg-eth0 を書き換える必要がある。
<参考例>
DEVICE="eth0" HWADDR="xx:xx:xx:xx:xx:xx" NM_CONTROLLED="yes" ONBOOT="yes" IPADDR=192.168.NNN.MMM NETMASK=255.255.255.0 GATEWAY=192.168.NNN.1 DNS1=192.168.NNN.1 

しかしDVDでインストすると時々Tera TermやWinSCPが落ち不安定。



CentOS6 lm_sensors

VMPlayerの上なんであんまし意味無いけど。
> yum -y  install   bison
> yum -y  install flex
> wget http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-3.3.1.tar.bz2
tar jxvf lm*
> cd lm_sensors-3.3.1
コンパイル。
make user
セットアップ。
make user_install
初期設定。※応答は全てENTERのみ
sensors-detect
自動起動設定。
cp prog/init/lm_sensors.init /etc/init.d/lm_sensors
service lm_sensors start
chkconfig lm_sensors on
では測ってみましょう。
sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:           N/A  (crit = +90.0°C)
やっぱりね。 > <



CentOS6.0 SSL

もうCentOS6も情報が集まって、新鮮味が無くなって参りました。
だったらいいのになぁ・・・。
昨日失敗したSSL証明書は設定済み。
但し、IE専用。
FireFoxだと、CommonNameが違うって表示される。
やっぱり2つSSL証明書を入れるのは難しいなぁ・・・。

※ドメインも違うし・・・。

ps. ssl.confの設定がおかしく、アクセスの仕方で不安定になることが判明。
設定直したら、両方ダメになった。
yum update しても、変わらず。
どうやらパッチ当てて、ソースからapacheとopen_sslをビルドしなおさないとダメっぽい。
面倒なのでssl中止。



CentOS6 少し巻き戻ったけど速くなったハズ

2時間くらい巻き戻りました。
SSL証明書を作り直し、
試しにhttpsで繋ぐと
The domain name of URL is wrong.
リブ-トしたら、画面下のバーが伸びきった後、それっきりになりました。

※apache 起動時にパスワード仕込んだのが失敗だったかな?

その間の書き込みはパァ~っと消えました。
まぁ、失敗した設定の内容だから、いいか。
尚、VMPlayerのvmxファイル

mainMem.useNamedFile = “FALSE”
MemTrimRate = “0”
logging = “FALSE”

と追記してみました。
気分的に速くなりましたが、何日持つか実験です。(大笑
また、ココを参考に
C:\ProgramData\VMware\<VMware-Product>\config.ini にも

host.cpukHz = “1600000”
host.noTSC = “TRUE”
ptsc.noTSC = “TRUE”

って追記してみました。

※Atom330なんで、1.6GHzっす。
 上記の設定はWindows用です。
 Linux系WmPlayerでは、結果が芳しくない様です。
 

あれ、yum のリポジトリが使えるようになってますね。
気のせいですかね。
DVDイメージをマウントしなくて済むのはとても助かりますね。 ^ ^ /



CentOS6 WordPress・・・

1.WordPress関連のファイルを全部圧縮して移行。
2.phpMyAdminを使ってDBごとSQLでバックアップ。
3.新しいVMに前と同じDBを作成してSQLのリストアを実行。
概ね良好だったが、
プラグインのインストールなどで使う自動アップデートが出来なくなっていた。
WordPressのバージョンはそのままなので、PHPが変わったせいかな・・・。



VM移行

さて快適なゲームPC上のVMPlayerともお別れです。
5GBにまで膨れ上がったVmdkファイルをAtomPCにコピー。
起動。

※『ネットに繋がりません』っと一気にカキコしたら3回連続でFireFox5がクラッシュ!!!したので分割して入力しました。

 ネットに繋がりません。
VMPlayerでネットワークアダプタを作り直してもダメです。

※てか、 /sbin/ifconfig -a で状態を見てみると eth2に変わって余計なお世話だったらしい。

> vi /etc/sysconfig/network-scripts/ifcfg-eth0 で
/sbin/ifconfig -a で見えていたとおりに
DEVICEとHWADDRを変更。
> ifup eth0
で繋がったのでやっとここにカキコできたわけです。
From  Linux CentOS6.0 image  on VMPlayer(3.1.4)
 




top