CentOS7の設定、その他

こんにちは、童爺です。
今回は、インストール後のCentOS7の設定について記述しようと思います。

キーボードの設定

最初は、半角全角キーを押下で、アルファベット⇔日本語入力の切り替えに関して、記述しようと思います。
まず、アプリケーション→システムツール→設定を起動して以下の画面を表示します。

「Region & Language」をダブルクリックします。
下図の赤丸の部分です。

そうすると下図の画面に遷移します。

赤丸で囲ってある、「日本語(かな漢字)」を選択し、「上矢印」をクリックして先頭に持ってきます。

上記の様になったら、「<」をクリックして、元の画面へ遷移します。

赤丸で囲った、Keyboardをダブルクリックします。
そうすると以下の画面へ遷移します。

下へスクロールしてください。
以下の設定に行きます。

上記赤丸で囲った「前の入力ソースへ切り替える」をクリックします。
以下の画面へ遷移します。

ここで、半角全角キーを押下します。
そうすると、以下の画面へ遷移します。

Zenkaku_Hankakuになっているのを確認したら、Setをクリックします。
以下の画面へ遷移します。

これで、半角全角キーで、日本語入力の切り替えが出来るようになりました。
「<」をクリックして、前の画面へ遷移します。

右上の「×」をクリックして終了します。
以上です。

CentOS7起動時に、ネットワーク接続する様に変更する。

私の環境では、起動時にネットワークに接続されず、ブラウザでネットサーフィンが出来ない状態でした。
そこで、起動時に自動的にネットワーク接続できるよう変更したいと思います。
アプリケーション→お気に入り→端末を選択して、端末を起動します。
以下の画面のように入力していってください。

私の環境では、赤丸で囲ったファイルにネットワークの接続設定が記述されているので、ファイルを開きます。

赤丸で囲った、「ONBOOT=no」になっている部分をyesに変更します。
viコマンドで開きます。

:wqで保存し、編集を終了します。

rebootして、ブラウザでネットサーフィンが出来るかチェックします。

無事、Yahoo!Japanを見る事ができました。

セキュリティソフトClamAVのインストール

このままでは、「ウィルスに感染し放題ですよ」状態なので、セキュリティソフトをインストールしたいと思います。
ソフトはClamAVです。
ですが、このままではClamAVはインストールできません。
それはサードパーティ製のソフトだからです。
そこで、サードパーティ製のソフトをインストールできるよう、EPELリポジトリをインストールします。
コマンドは、端末を開いて以下のコマンドを入力します。
ClamAVをインストールするにあたって試行錯誤した結果、画像をキャプチャーできませんでした。
申し訳ありません。

$ sudo yum -y install epel-release
続けて、リポジトリの内部を編集します。
理由は、誰でも彼でもサードパーティ製のソフトをインストールできるようになっている為です。

「yum install –enablerepo=epel」という風に、yumコマンドに–enablerepo=epelをオプションを付けないと、インストールできなくします。
以下のコマンドを入力します。
$ sudo vi /etc/yum.repos.d/rpmforge.repo
[rpmforge]
name = RHEL $releasever – RPMforge.net – dag
baseurl = http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1←を0に変更します。
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

変更後↓

[rpmforge]
name = RHEL $releasever – RPMforge.net – dag
baseurl = http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
それでは、ClamAVをインストールしていきます。
$ sudo yum install –enablerepo=epel clamav-server \
clamav-data clamav-update clamav-filesystem \
clamav clamav-scanner clamav-scanner-systemd \
clamav-devel clamav-lib clamav-server-systemd

設定ファイルを編集する。
$ cd /etc/clamd.d/
$ sudo cp -p scan.conf scan.conf_20180220←年月日です。
$ sudo vi scan.conf

設定項目

設定項目

変更前

変更後

Exampleのコメント化

Example

#Example

ログファイル設定

#LogFile /var/log/clamd.scan

LogFile /var/log/clamd.scan

ログファイルサイズ設定

#LogFileMaxSize 2M

LogFileMaxSize 2M

ログに時間を表示

#LogTime yes

LogTime yes

ログローテーション設定

#LogRotate yes

LogRotate yes

ローカルソケット使用設定(1行での設定となります)

#LocalSocket /var/run/clamd.scan/clamd.sock

LocalSocket /var/run/clamd.scan/clamd.sock

異常終了時にソケットを削除

#FixStaleSocket yes

FixStaleSocket yes

スキャン除外ディレクトリ設定

#ExcludePath ^/proc/
#ExcludePath ^/sys/

ExcludePath ^/proc/
ExcludePath ^/sys/
ExcludePath ^/dev/

実行ユーザ設定

User clamscan

User root

clamd@scanを起動します。
$ sudo systemctl start clamd@scan

自動起動設定を行います。
$ sudo systemctl enable clamd@scan.service

freshclamの設定である/etc/freshclam.confを編集します。
$ sudo cp -p /etc/freshclam.conf /etc/freshclam.conf_20180220←年月日です
$ sudo vi /etc/freshclam.conf

設定項目

設定項目

変更前

変更後

Exampleのコメント化

Example

#Example

ログファイル設定

#UpdateLogFile /var/log/freshclam.log

UpdateLogFile /var/log/freshclam.log

ログファイルサイズ設定

#LogFileMaxSize 2M

LogFileMaxSize 2M

ログに時間を表示

#LogTime yes

LogTime yes

ログローテーション設定

#LogRotate yes

LogRotate yes

データベースオーナー設定(2017.04.20追記)

#DatabaseOwner clamupdate

DatabaseOwner root

ミラーデータベース設定

#DatabaseMirror db.XY.clamav.net

DatabaseMirror db.jp.clamav.net

clamd@scanへの更新通知

#NotifyClamd /path/to/clamd.conf

NotifyClamd /etc/clamd.d/scan.conf

手動でfreshclamを実行し、ウイルスデータベースが更新できることを確認します。
$ sudo freshclam -u root

テスト用ファイルをダウンロードして、ウィルスチェックが正常に動作するか確認する。
ダウンロードURLhttp://www.eicar.org/download/eicar.com
$ su –
# wget http://www.eicar.org/download/eicar.com
clamdscanが設定ファイルの場所を「/etc/clamd.conf」であると認識しているので、リンクを貼ります。
# ln -s /etc/clamd.d/scan.conf /etc/clamd.conf
ウイルススキャンを実行します。
# clamdscan /root

スキャン結果のメール通知が出来るようなスクリプトを作成して、それをcronから呼び出して定期スキャンを実行できるようにしていきます。
# vi virus_scan.sh
#!/bin/bash

SCANDIR=/
VIRUS_MVDIR=/root/virus
MAILADDR=”通知先のメールアドレス”

CLAMDSCAN=/bin/clamdscan
HOSTNAME=`hostname`
RUNDATE=`date +%Y%m%d-%H%M%S`
SCANTMP=/tmp/clamdscan_$RUNDATE

CLAMUPDATE=”clamav-server \
clamav-data \
clamav-update \
clamav-filesystem \
clamav \
clamav-scanner \
clamav-scanner-systemd \
clamav-devel \
clamav-lib \
clamav-server-systemd”

# ClamAV update

yum -y update –enablerepo=epel $CLAMUPDATE

# Virus scan

$CLAMDSCAN $SCANDIR > $SCANTMP 2>&1
#$CLAMDSCAN $SCANDIR –move=$VIRUS_MVDIR > $SCANTMP 2>&1
#$CLAMDSCAN $SCANDIR –remove > $SCANTMP 2>&1

# Mail notification

[ ! -z “$(grep FOUND$ $SCANTMP)” ] && \
cat $SCANTMP | mail -s “[Virus Found] $HOSTNAME $RUNDATE” $MAILADDR

[ -z “$(grep FOUND$ $SCANTMP)” ] && \
cat $SCANTMP | mail -s “[Virus Not Found] $HOSTNAME $RUNDATE” $MAILADDR

rm -f $SCANTMP
保存して終了します。
実行ファイルに変更します。
# chmod 744 /root/virus_scan.sh
# sh -x virus_scan.sh

ウイルススキャンの定期実行
# vi /etc/cron.d/virus-scan
以下の内容を貼り付ける。
#毎日AM3:15にスキャンを実行する。
MAILTO=root
15 3 * * * root /root/virus_scan.sh
保存して終了

rootアカウントから抜ける。
#exit

メールソフトをインストールする。
$sudo yum install mailx

<<—————-ここからが、迷走の始まりです。—————->>
ClamAVを再度インストールしてみる。
$ sudo yum install -y –-enablerepo=epel clamav

除外ディレクトリの追記(環境に応じて書き換える事)
$ sudo vi /etc/clamd.conf
#ExcludePath ^/proc/
#ExcludePath ^/sys/
↓↓
ExcludePath ^/proc/
ExcludePath ^/sys/
ExcludePath ^/dev/
保存して、終了します。

実行ユーザの変更(rootにする)
$ sudo sed -i ‘/^User clamav/s/^/# /g’ /etc/clamd.conf

壊れたファイルの除外設定
$ sudo sed -i ‘/^DetectBrokenExecutables yes/s/^/# /g’ /etc/clamd.conf

一旦SELinuxを有効にしてみる。
$ setsebool -P antivirus_can_scan_system 1

ソケットファイルの生成場所が再起動すると消えてしまうので、消えないようにする。
$ sudo echo “d /var/run/clamav 0755 root root -” > /etc/tmpfiles.d/clamd.conf
$ sudo systemd-tmpfiles –create clamd.conf
$ sudo systemctl daemon-reload

epelを導入している為、yum update時に競合して正常にアップデートされないので、以下のコマンドを実行しておく。
$ sudo sed -i ‘/gpgkey/a/exclude=clam*/g’ /etc/yum.repos.d/epel.repo

clamdを起動させる
$ sudo systemctl start clamd
$ sudo systemctl enable clamd

実際にスキャンしてみる。
$ sudo clamdscan

ウィルス定義ファイルの最新化と自動更新を行うように設定をする。
$ sudo sed -i ‘s/^Example/#Example/g’ /etc/freshclam.conf
$ sudo freshclam

スクリプトを作成してClamAVを定期的に実行させる。
$ sudo vi /etc/cron.daily/clamdvirusscan
#!/bin/bash
# PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# MAIL
MAIL_ADDR=”通知先のメールアドレス”
# clamd update
yum -y update clamd > /dev/null 2>&1
# virus scan
CLAMSCANTMP=`mktemp`
clamdscan –recursive –remove / > $CLAMSCANTMP 2>&1
[ ! -z “$(grep FOUND$ $CLAMSCANTMP)” ] && \
grep FOUND$ $CLAMSCANTMP | mail -s “$(hostname) Virus Found” $MAIL_ADDR
[ -z “$(grep FOUND$ $CLAMSCANTMP)” ] && \
echo “$(hostname) Virus Not Found” | mail -s “Virus Not Found” $MAIL_ADDR
rm -f $CLAMSCANTMP
保存して終了する。
$ sudo chmod +x /etc/cron.daily/clamdvirusscan

<<—————-さらに迷走が始まります—————->>
ClamAVを再再度インストールしてみる。
$ sudo yum install -y –-enablerepo=epel clamav

clamscanでウィルススキャンを実行します。
$ mkdir ~/virus
$ clamscan -r -i –move=$HOME/virus .

手動でウィルスデータベースを更新する
$ sudo yum install -y –-enablerepo=epel clamav-update
$ sudo freshclam

自動的にウィルスデータベースを更新する
$ sudo yum install -y –-enablerepo=epel clamav-update
$ sudo sed -e ‘s/^FRESHCLAM_DELAY/#FRESHCLAM_DELAY/g’ \
-i /etc/sysconfig/freshclam

ウィルスデータベースの更新間隔を変更するには以下のファイルを編集します。
/etc/cron.d/clamav-update

clamdでウィルススキャンを実行する
$ sudo yum install -y –-enablerepo=epel clamav-server \
clamav-server-systemd clamav-scanner

clamd.scan.serviceが読み込む/etc/clamd.d/scan.confを編集します。
$ sudo sed -e ‘s/^Example/#Example/g’ \
-e ‘s/^User.*/User root/g’ \
-e ‘s/^#LocalSocket /LocalSocket /g’ \
-e ‘s/^#LocalSocketGroup.*/LocalSocketGroup clamscan/g’ \
-e ‘s/^#LocalSocketMode /LocalSocketMode /g’ \
-e ‘s/^#FixStaleSocket /FixStaleSocket /g’ \
-e ‘s/^#ExcludePath /ExcludePath /g’ \
-i /etc/clamd.d/scan.conf

clamd.scan.serviceを有効にする。
$ sudo systemctl enable clamd.scan

clamdscanコマンドが利用する/etc/clamd.confを/etc/clamd.d/scan.confのシンボリックリンクにする。
$ sudo ln -s /etc/clamd.d/scan.conf /etc/clamd.conf

clamdの動作に必要なSELinuxの設定を許可します。
$ sudo setsebool -P antivirus_can_scan_system 1
$ sudo setsebool -P clamd_use_jit 1

clamdscanを実行するユーザをclamscanグループに所属させます。
$ sudo gpasswd -a “${USER}” clamscan

上記の設定を有効にする為、一旦、再起動します。
$ sudo reboot

https://dave-theunsub.github.io/clamtk/から、CentOS 7 rpm,のrpmの部分をクリックし、clamtkをダウンロードします。
ダウンロード先へ移動し、以下のコマンドを入力します。
自分の環境では、/home/mkawasaki/ダウンロード/配下にありました。

ClamTKをローカルインストールしてみる。
$ sudo yum localinstall -y –enablerepo=epel clamtk-5.25-1.el7.noarch.rpm
出来た!!
clamtk-5.25-1.el7.noarch.rpmは、2018年2月20日現在の最新です。
ダウンロードした最新のrpmパッケージで実行してください。
起動したところ。

まとめ

駆け足でしたが、どうでしょうか?
間違っている箇所や不具合があれば、コメントに記述していただけるとありがたいです。
特に、後半のClamAVのインストールに関しては、何度もやり直ししているのでぐちゃぐちゃです。
ClamTKをインストールできなくって、かなり悩みました。
迷走は、このClamTKをインストールするところから始まりました。
何故、何度も試した、「$ sudo yum localinstall -y –enablerepo=epel clamtk-5.25-1.el7.noarch.rpm」が、最後の最後で上手くいったのか解りません。
時間があれば、もう一度チャレンジしてみたいと思います。


それではまた。
でわでわ。

<<参考文献>>
server-memo.netさん
俺的備忘録 ~なんかいろいろ~さん
Narrow Escapeさん

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

童爺 童爺のプロフィール
童爺は「どうじ」と読んでください。 由来は友人に、ハンドルネームを「酒呑童子」にしようかと相談したら、「酒呑童爺」にしたらどうかと言われたのが由来です。(爺むさい所や、子供っぽいところがあるからです。)