- CentOS7ネットワークインストールする方法でクライアントを作成する
- qcow2形式のイメージファイルを使いファイルサイズを使った分だけにする
- ゲストOS作成シェルファイルを作る
- # vi create_kvm_centos7_guest.sh
- # CentOS7のネットワークインストールのURL
- REPOS=http:/
/ ftp.riken.jp/ Linux/ centos/ 7/ os/ x86_64/ - # KVM上での名前
- IMAGE_NAME=CentOS7.0
- #virt-installでインストールする
-
virt-install \
--name ${IMAGE_NAME} \
--ram 1024 \
--disk path=/var/lib/libvirt/images/${IMAGE_NAME}.qcow2,size=20,format=qcow2 \
--vcpus=1 \
--os-type linux \
--os-variant=rhel7 \
--nographics \
--location="$REPOS" \
--bridge=br0 \ ※追記 virbr0を削除しbr0で接続している場合
--extra-args='console=tty0 console=ttyS0,115200n8 serial'
- ※ディスク容量を20GBに指定するオプション(size=20, )が抜けていた。
- # vi create_kvm_centos7_guest.sh
- ゲストOS作成
- # sh ./create_kvm_centos7_guest.sh
- — nographicsでは都合が悪いらしく、
途中で1:vncか2:テキスモードとか聞いてくるので1:vncを選択。
パスワードは空。 - vncクライアントを起動し、
- VNC Server:に
画面に表示されていたIP:画面番号(192.168.*.*:*)を入力して【Connect】ボタンを押す。
普通にインストール再起動。ここでvnc終わり - 再びコンソールモード
- ホストrootでログイン
# ip addr- 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
…
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether *:*:*:*:*:* brd ff:ff:ff:ff:ff:ff
inet 192.168.*.*/24 brd 192.168.*.255 scope global dynamic eth0
…
- 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
- クライアント側をシャットダウン
# shutdown -h now - ホスト側からゲストを起動
# virsh start CentOS7.0
- クライアント側に変わり
- 全般的な更新+α
# yum -y update
# yum -y install yum-cron
# systemctl start yum-cron
# systemctl enable yum-cron - selinuxをオフ
# setenforce 0
# getenforce- Permitive
- # cd /etc/selinux
# mv config config.org : cp config.org config
# sudo sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
# reboot
# getenforce- Disabled ※うまくいかない場合はココ参照。
- とりあえずツールの類一式
- # yum -y groupinstall base “開発ツール”
- nkfをインスト
- # wget “http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fnkf%2F59912%2Fnkf-2.1.3.tar.gz” -O nkf-2.1.3.tar.gz
- # tar zxvf nkf-2.1.3.tar.gz
- # cd nkf-2.1.3
- # make && make install
- # cd
- # rm -rf nkf-2.1.3*
- # ln -s /usr/local/bin/nkf /usr/bin/nkf
- chkrootkitインストール
- ※元ネタ: http://centossrv.com/chkrootkit.shtml
- #chkrootkitダウンロード
- # wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
- # tar zxvf chkrootkit.tar.gz
- chkrootkitを移動
- # mkdir -p ~/bin && mv chkrootkit-0.50/chkrootkit ~/bin
- # rm -rf chkrootkit*
- # chkrootkit | grep INFECTED
- Searching for Suckit rootkit… Warning: /sbin/init INFECTED
- chkrootkit実行スクリプトを毎日自動実行されるディレクトリへ作成
- # vi /etc/cron.daily/chkrootkit
- #!/bin/bash
- PATH=/usr/bin:/bin:/root/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 /etc/cron.daily/chkrootkit
- chkrootkitで使用する安全なコマンドの確保
- chkrootkit使用コマンド退避先ディレクトリ作成
- # mkdir chkrootkitcmd
- chkrootkit使用コマンドを退避先ディレクトリへコピー
- # cp `which –skip-alias awk cut echo egrep find head id ls netstat ps strings sed ssh uname` chkrootkitcmd/
- 試してみる
- # chkrootkit -p /root/chkrootkitcmd|grep INFECTED
- Searching for Suckit rootkit… Warning: /sbin/init INFECTED
- # chkrootkit -p /root/chkrootkitcmd|grep INFECTED
- 使ったコマンド圧縮して保存
- # zip -r chkrootkitcmd.zip chkrootkitcmd/
- # rm -rf chkrootkitcmd
- FTPでchkrootkitcmd.zipをバックアップし消す
- # rm -f chkrootkitcmd.zip
- chkrootkit使用コマンド退避先ディレクトリ作成
- yum-prioritiesプラグイン導入
- # yum -y install yum-plugin-priorities
- # vi /
etc/ yum.repos.d/ CentOS-Base.repo - enabled=1
- を追記
RPMforgeリポジトリ導入← 2016年7月20日頃から使用不可# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm# rpm -ivh rpmforge-release-*.rpm# rm -f rpmforge-release-*.rpm# yum -y update rpmforge-release
- EPELリポジトリ導入
- # yum install epel-release
- # cd /etc/yum.repos.d
- # ls
- # vi epel.repo
- enabled=1 -> enabled=0
- # yum –enablerepo=epel list
- Clam AntiVirusインストール
- # yum -y install clamd
- # chkconfig clamd on
- # sed -i ‘s/^Example/#Example/g’ /etc/freshclam.conf
- # freshclam
- # clamscan –infected –remove –recursive
- NTPサーバーインストール
- # yum -y install chrony ※不要
- # vi /etc/chrony.conf
- server 0.centos.pool.ntp.org iburst
- ・・・
- server 3.centos.pool.ntp.org iburst
- ↓ 時刻同期先NTPサーバーを変更
- # 日本標準時を提供しているNTPサーバー
- server ntp.nict.jp iburst
- # 上記サーバーと直接同期しているNTPサーバー
- server ntp.jst.mfeed.ad.jp iburst
- # プロバイダのNTPサーバー※無ければ設定不要
- server プロバイダのNTPサーバー名 iburst
- 手動で時刻を補正(2回)
- # ntpdate ntp.nict.jp
- # ntpdate ntp.nict.jp
- サービスを登録
- # systemctl start chronyd
- # systemctl enable chronyd