参考URL:http://centossrv.com/clamav.shtml
この前にhttps://www.kinryokai.net/modules/news/article.php?storyid=208を参照し、EPELレポジトリーをインストールする事
# yum -y install clamd
# gedit /etc/clamd.conf
#User clam ← 行頭に#を追加(root権限で動作するようにする)
Clam AntiVirusの起動
# service clamd start
# chkconfig clamd on
ウィルス定義ファイル最新化
# freshclam
ClamAV update process started at Mon May 5 14:29:28 2014
main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo)
WARNING: getfile: daily-18354.cdiff not found on remote server (IP: 211.10.155.48)
WARNING: getpatch: Can't download daily-18354.cdiff from db.jp.clamav.net
Trying host db.jp.clamav.net (203.212.42.128)...
WARNING: getfile: daily-18354.cdiff not found on remote server (IP: 203.212.42.128)
WARNING: getpatch: Can't download daily-18354.cdiff from db.jp.clamav.net
Trying host db.jp.clamav.net (219.94.128.99)...
WARNING: getfile: daily-18354.cdiff not found on remote server (IP: 219.94.128.99)
WARNING: getpatch: Can't download daily-18354.cdiff from db.jp.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 18924, sigs: 929974, f-level: 63, builder: neo)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 236, sigs: 43, f-level: 63, builder: dgoddard)
Database updated (3354242 signatures) from db.jp.clamav.net (IP: 120.29.176.126)
毎日のアップデートは/etc/cron.dailyに自動的に出来た freshclam によりなされる。
ウィルススキャンテスト
# clamscan --infected --remove --recursive
全体をスキャンするので時間がかかる。スキャンが終わるとサマリーが表示され何行目かに "Infected files: 0" と表示がでていればOK。
テスト用のウィルスをダウンロード。(もちろん害はない) : は ; に変えてある(XOOPSの問題)
# wget http;//www.eicar.org/download/eicar.com
# wget http;//www.eicar.org/download/eicar.com.txt
# wget http;//www.eicar.org/download/eicar_com.zip
# wget http;//www.eicar.org/download/eicarcom2.zip
再度ウィルスチェック
# clamscan --infected --remove --recursive
/root/eicarcom2.zip: Eicar-Test-Signature FOUND ← ウィルス検知
/root/eicarcom2.zip: Removed ← ウィルス削除
/root/eicar.com.txt: Eicar-Test-Signature FOUND ← ウィルス検知
/root/eicar.com.txt: Removed ← ウィルス削除
/root/eicar_com.zip: Eicar-Test-Signature FOUND ← ウィルス検知
/root/eicar_com.zip: Removed ← ウィルス削除
/root/eicar.com: Eicar-Test-Signature FOUND ← ウィルス検知
/root/eicar.com: Removed ← ウィルス削除
以下省略
ウィルススキャン定期自動実行設定
# gedit virusscan
#!/bin/bash
PATH=/usr/bin:/bin
# clamd update yum -y update clamd > /dev/null 2>&1
# excludeopt setup
excludelist=/root/clamscan.exclude
if [ -s $excludelist ]; then
for i in `cat $excludelist`
do
if [ $(echo "$i"|grep \/$) ]; then
i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
excludeopt="${excludeopt} --exclude-dir=^$i"
else
excludeopt="${excludeopt} --exclude=^$i"
fi
done
fi
# virus scan
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
# report mail send
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP
# chmod +x virusscan
除外するファイル、ディレクトリーの設定、ディレクトリを除外する場合は末尾に「/」を付加すること
# echo "/proc/" >> clamscan.exclude
# echo "/sys/" >> clamscan.exclude
スクリプトをcron.dailyへ
# mv virusscan /etc/cron.daily/
参考URL:http://centossrv.com/chkrootkit.shtml
この前にhttps://www.kinryokai.net/modules/news/article.php?storyid=208を参照し、EPELレポジトリーをインストールする事
# yum -y install chkrootkit
# chkrootkit | grep INFECTED
grepは大文字と子文字を区別するので必ず大文字でINFECTEDとする事。
汚染されていない場合は not infected となるので、小文字でやると正常な分が表示される。
chkrootkit定期自動実行設定
# gedit 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
# upstartパッケージ更新時のSuckit誤検知対応
if [ ! -z "$(grep Suckit $TMPLOG)" ] && [ -z $(rpm -V `rpm -qf /sbin/init`) ]; then
sed -i '/Suckit/d' $TMPLOG
fi
# rootkit検知時のみroot宛メール送信
[ ! -z "$(grep INFECTED $TMPLOG)" ] && grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root
rm -f $TMPLOG
# chmod 700 chkrootkit
# mv chkrootkit /etc/cron.daily/
その後、http://centossrv.com/chkrootkit.shtmlを参考に”chkrootkitで使用する安全なコマンドの確保”をやっておく
参考URL:http://centossrv.com/epel.shtml
yumでは出来ないプログラムの為にEPELレポジトリの導入する
# rpm -ivh http;//ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm ← これは64bitの場合、32bitの場合は途中のx86_64をi386に変更。(例によってxoopsの問題で ; は : に変更してね。
今日やったらrikenのftpサーバーが落ちているみたい。たまたまかも知れないが、
# rpm -ivh http;//ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm ← ここからでも出来る
XOOPSが勝手にリンクを張るのを防ぐため : を ; に変更しています。
yum-prioritiesプラグイン導入
# yum -y install yum-plugin-priorities
# gedit /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 ← 追加
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 ← 追加
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 ← 追加
プライオリティーについて
優先度は "1〜99"、値が小さいほど優先度が高くなる。又未設定の場合は優先度が "99" 。つまりこの設定はBase,updates,extraを最優先にし、EPELを含むそれ以外は最低のプライオリティーという事。
前のサーバーの時はインストールDVDから行ったので、仮想環境を指定してインストールしたのだが、今回はlive DVDからインストールしたので仮想環境がなかったのでインストールする
# yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools"
オフラインゲスト編集ツールインストール
# yum -y install '*guestf*'
ここで再起動をしておく。
このまま仮想環境を作るとサブホストは 192.168.122.xx のレンジになり何かと不便なので、このホストと同じレンジにするためにブリッジを導入する。
(注)NetworkManagerはブリッジをサポートしてないそうな!(ここを参照)。もしNetworkManagerが走っていれば止めておく事。再起動後もスタートしないように。又、/etc/resolv.confの設定も忘れずに
# virsh iface-bridge eth0 br0
もしここで
エラー:An error occurred, 後略
/etc/sysconfig/network-scripts/ifcfg-br0の確認
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=192.168.xx.xx ←伏せ字にしています、自分の環境に合わせて設定してください
NETMASK=255.255.255.0
GATEWAY=192.168.xx.xx ←伏せ字にしています、自分の環境に合わせて設定してください
STP=on
DELAY=0
eth0に設定されていたIPアドレスがブリッジのアドレスになっている
/etc/sysconfig/network-scripts/ifcfg-eth0の確認
DEVICE=eth0
HWADDR=D0:50:99:25:73:1F
ONBOOT=yes
BRIDGE=br0
色々設定していたものがbr0に設定され非常にシンプルになっている。 BRIDGE=br0 になっていることが重要
ホスト停止時にサブホストの挙動を設定
# gedit /etc/sysconfig/libvirt-guests
ON_SHUTDOWN=suspend ← 先頭の#を取りコメントを外す
SHUTDOWN_TIMEOUT=120 ← 先頭の#を取りコメントを外し、右辺を120秒に
色々な資料を見ると180秒になっているのが多いのですが、私は経験上30秒くらいですんでいる、もっともSSDの恩恵もあると思うが。
再起動しネットが使えることを確認する
参考URL http://centossrv.com/centos6-init.shtml
前回の基本的なインストールで随分と苦労した。気を取り直してインストールを続ける。
rootになれるユーザーの制限。まず可能なユーザーを設定
# usermod -G wheel xxxxx (xxxxはユーザー名)
設定ファイルの修正
# gedit /etc/pam.d/su
#auth required pam_wheel.so use_uid ← 先頭の#を取りコメントを外す
その後、一般ユーザーからrootになれる事を確認しておく
SELinuxの無効化
本来は有効にしていた方がもちろん良いのだが、未熟な為何かとつまずく元凶なので、ここでは無効化にする。
# setenforce 0 ← SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
# gedit /etc/sysconfig/selinux
SELINUX=enforcing ←右辺を disabled に変更
OSのアップデートと(Ver6.5になる)yum関連のインストール
注:この前に ”2:OS(CentOS Ver6.5)のインストール” を参照し、ネットワークICのドライバーを変更しておく事
私の場合は6.5になった時点でネットワークが使えなくなった(ドライバーr8169の問題)
# yum -y update
# yum -y install yum-cron
# service yum-cron start
# chkconfig yum-cron on
root宛のメールを転送 /etc/aliasesに
root: 自分のメアド
# newaliases
でエイリアスを反映。
# echo test|mail root
で設定したメアドにメールが着ているか確認
その後、再起動
組み立てが終了し、さっそくOSをインストールしようとCentOSの6.5をUSBでアッタッチしたBD-Driveからやったが、言語設定の後にドライバーの選択を求められるが、どのハードのドライバーをインストールするのか特定できない。今時SSDやHDDのドライバーではないと思うし、ビデオドライバーかなー、それともLAN関連?結局わからないのであきらめる。手元にCentOS6.4のLIVE DVDがあったので、ダメもとでやってみるとOSが立ち上がったぞ!!
記:このDVDは英語だった。後のサブホストのインストールでも日本語が問題になったので、英語だからインストールが出来たみたい。
ではとディスクトップからinstall to Hard Driveをダブルクリックし、インストールを開始、無事インストールが終了し、BD-Driveを外し、再起動後、OSの初期設定を終わらせ、さらに再起動。
ログインでその他のユーザをクリックし、rootでログインをする。
いくつか問題、
1:IPがDHCPになっている。ホストは固定で運用したいので変更する。/etc/sysconfig/network-scripts/ifcfg-eth0がないぞー! NetworkManagerが走っているのでその関係?でもifconfigをするとIPアドレスが表示されているので、どこかに設定があるのだろー、だが何処にあるかは不明
2:言語がEnglishになっている?インストール時にJapaneseを指定(これはキーボードの設定だった。この時は言語の設定と勘違い)したが反映されていない。この時は英語判だったのに気がつかなかった。
3:ログイン画面に登録されているユーザーのリストが表示されている。私は好きでないし、セキュリティー上問題もあるので、ログイン時にユーザー名から入力するようにしたい。
まずは日本語化にする。関連パッケージのインストール
# yum groupinstall "Japanese Support"
次に /etc/sysconfig/i18nのLANGを
LANG="ja_JP.UTF-8"
に訂正し、保存後
# source /etc/sysconfig/i18n
次にログイン時のユーザーリストを表示しないようにするには、/etc/gconf/gconf.xml.defaults/%gconf-tree.xmlの22678行目くらいに下記があるので
<entry name="disable_user_list" mtime="1366723318" type="schema" stype="bool" owner="gdm-simple-greeter" gettext_domain="gdm">
<local_schema locale="C" short_desc="Do not show known users in the login window">
<default type="bool" value="false"/> ←ここを True に変更
<longdesc>Set to true to disable showing known users in the login window.</longdesc>
/local_schema>
</entry>
上に示したようにfalseをtureに変更し保存。
その後、再起動すると日本語になっているが、downloadやDesktopなどを日本語にするか聞いてくるので、好みで。変更前は入力が日本語にならなかったが、変更後は入力できるようになる。
もし、日本語のキーボード・マップになっていない場合は /lib/kbd/keymaps/i386/qwerty/jp106.map.gz があることを確認し、/etc/sysconfig/keyboard を
KEYTABLE="jp106"
KEYBOARDTYPE="pc"
次にIPアドレスをを固定にするので、/etc/sysconfig/network-scripts/ifcfg-eth0 に下記を設定
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.xx.xx
PREFIX=24
GATEWAY=192.168.xx.xx
NAME="System eth0"
IPアドレスはすぐにブリッジを作るのでいらなくなるが、その前に固定IPでネットワークのテストをしたいので設定しておく。
DHCPでなくなるので、DNSの設定をする。/etc/resolv.conf に(注:このファイル名が resolve.conf になっており間違いに気がつかず、申し訳ありません。)
search kinryokai.net
nameserver 192.168.xx.xx
nameserver 8.8.8.8
nameserver 202.224.32.2
3行目はgoogleのDNS、4行目はISPのDNSです。
インストール時にホスト名を設定したが、反映していないので、/etc/sysconfig/networkのホスト名を
HOSTNAME=xxx.kinryokai.net
に変更し、NetworkManagerを止める(後で仮想化をインストールし、ブリッジを作りますが、NetworkManagerはブリッジをサポートしていないそうな。なのでここで止めるのが正解)
# service NetworkManager stop
# chkconfig NetworkManager off
NetworkManagerを止めないと、resolve.confが書き換えられてしまうので注意。
そして、ネットワークドライバーを変更する。現在のドライバーはマザーボードのLANチップであるRealtekのRTL8111GR用のr8169が自動的にインストールされているが、r8169は何かと問題が多い。その前にソースからインストール出来るように環境を作る。
注:ここで順番が大事、順番を間違えるとドライバーがダウンロードできなくなる。全てをダウンロード後、再起動してから、LANドライバーをインストールする事。これは"Base" "Development tools"のインストールによりカーネルもアップデートされるが、再起動しないと有効になっていない為、順番を間違えるとネットワークが使えなくなる。
# yum -y groupinstall "Base" "Development tools"
でインストール。
ついでに日本語環境で有用なnkfをインストールしておく。
#yum -y install nkf
ドライバーはrealtekのRealtekのWEBからUnix (Linux)用の LINUX driver for kernel 3.x and 2.6.x and 2.4.x をダウンロードし、その保存した場所をカレントディレクトリーにし(CDをする)
# tar vjxf r8168-8.038.00.tar.bz2
# cd r8168-8.038.00
# ./autoru.sh
とすると、r8169を削除し、r8168を入れてくれる。この時
make: *** /lib/modules/2.6.32-358.el6.x86_64/build: そのようなファイルやディレクトリはありません. 中止.
追記:ある時再起動後、キーボードとマウスが動かないので、ログインすら出来ない。"Development tools" を入れたらカーネルのアップデートもあり、それでかなー。古いカーネルでは入力が出来る。色々調べたら、USBキーボードの取り付けをUSB3(青いUSB)にするとOKになった。
そして再起動。あれネットに繋がらない。入り色調べたらネットワークが走っていないみたい。なので
# service network start
# chkconfig network on
でやっと正常に繋がった。
まずは何を使うか(写真はここをクリック)
CPU:仮想化でホストを3つくらい作るので最低でも4コアがほしい。TDPはなるべく少ないもの。という訳でCPUはAMDのATHLON 5350にしました。これは4コア、2GHz、TDP:25Wです。
マザーボード:前回は19インチラックを考慮し制作したが、今回はなるべく小さく作りたいので、ITX規格のマザーボードにする。使用したのはASRockのAM1H−ITXにした。最大の理由は19V単一電源で動作すること。
RAM:マザーが決まったのでDDR3にしかできない。手持ちの4GBを2つで8GBにした。
SSD:KVMホスト、仮想化で作る各サブホストなどと、WEBコンテンツ用領域(これはアクセス速度がHDDより早くなるので)などと考えると200GB以上必要そう。やっぱりサムソンが安いので250GBを使用。
HDD:各ホストのスワップ領域(頻繁に書き込みがありSSDは使用したくないので)、ファイルサーバー用の領域(これはSSDを使った方が早くなるが、かなり大きなサイズなのでSSDだとまだ高い)、各ホストのバックアップ用の領域などを考え、2.5インチ、7200rpmの1TBのHDDにした。
日射時間も長くなり、そろそろ過充電防止回路を考える。回路図はここをクリック各電池の電圧が33.3VになったらOPアンプ(NJU7034)の出力をHIGHにし、充電する電池を切り替えます。又、この出力がLOWになるには25.5V(だったと思う)になった時です。この電圧をあまり高めに設定すると電池の放電があまり進まない内に電池が切り替わり、再び充電に入ってしまうので、この位がいいと思われます。放電になると33.3Vも一気に電圧が下がり、27Vにはすぐに到達してしまいます。又この出力がHIGHの時もう片方の電池も33.3Vに達するとさらに電池が切り替わりますが、この状態ではOPアンプが両方ともHIGHになっていますので、どちらか片方が25.5Vなるまで、電池は切り替わりませんので、この間に再び33.3V以上になり過充電になってしまいます。なので両方のOPアンプがHIGHになると、ショートリレーをONにして、両電池を並列にします。つまり充放電とも両電池になります。この状態で、放電電流と充電電流の関係で、両電池とも33.3V以上になる事も考えられますが、今の所は大丈夫です。最も効率の良い4〜5月に状況を調べ、報告します。
充電終了電圧の33.3Vは随分高いと思いますが(昔は15V強x2だったと思う)これ位までしないと比重が1.275になりませんでした。
37:リレーが触れないくらい熱いで触れたように、触れない位、熱を持つリレーを交換した。新しいものはAM3P−24Pという型番で24Vで80A/60AのON/OFFが出来る。入手はここを参照。ついでに電池との配線も太い物に交換した。これで20A位充電中でもリレーは十分触れる温度になった。写真右二つが交換したリレー。
今日は天気がいいので、ガッツリ充電をしているようだ。写真では分かりずらいが合計で20A位充電している。よしよしと思ったが、何気にリレー(右から2番目のリレー)触れるとものすごく(触っていれない位)熱くなっている。今は左の写真で緑のLEDが点灯しているので、下側の電池セットが放電し(上側に太陽電池から充電)ている。これは黒い2個のリレーが両方ともONになり、リレーのコイルに電流が流れているので少しくらい熱が出るが、熱すぎ、ためしに右側(放電側のリレー)はほんのりあったかい位、これが本来の熱だろう。結論:左側のリレー接点の熱ということはそれだけ接点に抵抗が存在しているという事になる。使用しているリレーはエーモンの1246で接点容量は30A/20Aとなっている。これはOFF時に20AまでOKという事。ぎりぎり規格内だが、触れないのは異常なので交換することにした。また使用しているリレーはオートバックスで購入した12Vのリレーなので、24Vで、接点容量の大きいものを探すと
ここにAM3P−24Pという24Vで80A/60Aというリレーがあったので、これを注文、さすがに大容量なのでファストン端子が、かなりでかいので、375ファストン端子 AWG-10-14と375インチファストン端子カバーを注文する。手に入ったら結果を報告します。