カテゴリー : CentOS 5

Symantec AntiVirus for Linux の動作確認方法

Symantec AntiVirus for Linux の動作確認方法は以下の通り。

オートプロテクトの状態を確認

# /opt/Symantec/symantec_antivirus/sav info --autoprotect
enabled

eicarテストウイルスを使用(ファイルが作成されない)

# echo 'X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar
# ls eicar
ls: eicar: そのようなファイルやディレクトリはありません

/var/log/messages に次のメッセージが表示される。

sav rtvscand: Threat Found!Threat:
EICAR Test String in File: /root/eicar by: Auto-Protect scan. 
Action: Quarantine succeeded : Access allowed. 
Action Description: The file was quarantined successfully.

オートプロテクトを無効化

# /opt/Symantec/symantec_antivirus/sav autoprotect -d
# /opt/Symantec/symantec_antivirus/sav info --autoprotect
disabled

eicarテストウイルスを使用(ファイルが作成される)

# echo 'X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar
# ls eicar
eicar

マニュアルスキャンを実行するとファイルが削除される

# /opt/Symantec/symantec_antivirus/sav manualscan -s /root/
# ls eicar
ls: eicar: そのようなファイルやディレクトリはありません

/var/log/messages に次のメッセージが表示される。

sav rtvscand: Threat Found!Threat:
EICAR Test String in File: /root/eicar by: Manual scan. 
Action: Quarantine succeeded. 
Action Description: The file was quarantined successfully.

環境:
CentOS 5.7 ( i386)
Symantec AntiVirus for Linux 1.0.10-26 (i386)

Symantec AntiVirus for Linux の運用コマンド

Symantec AntiVirus for Linux の運用コマンドは以下の通り。

ライブアップデートの実行

# /opt/Symantec/symantec_antivirus/sav liveupdate --update

 

ライブアップデートのスケジュール(毎週土曜日 1:00)

# /opt/Symantec/symantec_antivirus/sav liveupdate --schedule 
   --frequency weekly -m 1 -t 1:00 -i Sat

 

ライブアップデートのスケジュール(毎日 1:00)

# /opt/Symantec/symantec_antivirus/sav liveupdate --schedule 
   --frequency daily -m 1 -i 1:00

 

ライブアップデートのスケジュール確認

# /opt/Symantec/symantec_antivirus/sav liveupdate --view

 

オートプロテクト有効

# /opt/Symantec/symantec_antivirus/sav autoprotect -e

 

オートプロテクト無効

# /opt/Symantec/symantec_antivirus/sav autoprotect -d

 

マニュアルスキャンを開始( /root/ ディレクトリをスキャン)

# /opt/Symantec/symantec_antivirus/sav manualscan -s /root/

 

マニュアルスキャンを停止

# /opt/Symantec/symantec_antivirus/sav manualscan -t

 

スケジュールスキャン(毎週土曜日2時に /root/ディレクトリをスキャン)

# /opt/Symantec/symantec_antivirus/sav scheduledscan --create WEEKLYSCAN 
   --frequency daily -t 2:00 -m 1 /root/

 

スケジュールスキャン(毎日2時に /root/ディレクトリをスキャン)

# /opt/Symantec/symantec_antivirus/sav scheduledscan --create DAILYSCAN 
   --frequency daily -i 2:00 -m 1 /root/

 

スケジュールスキャン(WEEKLYSCAN)有効

# /opt/Symantec/symantec_antivirus/sav scheduledscan --enable WEEKSCAN

 

スケジュールスキャン(WEEKLYSCAN)無効

# /opt/Symantec/symantec_antivirus/sav scheduledscan --enable WEEKSCAN

 

スケジュールスキャン(WEEKLYSCAN)停止

# /opt/Symantec/symantec_antivirus/sav scheduledscan --stop WEEKSCAN

 

スケジュールスキャン(WEEKLYSCAN)削除

# /opt/Symantec/symantec_antivirus/sav scheduledscan --delete WEEKSCAN

 

スキャンエンジンのバージョン確認

# /opt/Symantec/symantec_antivirus/sav info --engine

 

ウイルス定義パターンの確認

# /opt/Symantec/symantec_antivirus/sav info --defs

 

製品情報の確認

# /opt/Symantec/symantec_antivirus/sav info --product

 

オートプロテクトの状態確認

# /opt/Symantec/symantec_antivirus/sav info --autoprotect

 

定義された脅威の確認

# /opt/Symantec/symantec_antivirus/sav info --threats

環境:
CentOS 5.7 ( i386)
Symantec AntiVirus for Linux 1.0.10-26 (i386)

ライブアップデート(毎週土曜日 1:00)

CentOS 5 に Symantec AntiVirus for Linux をインストールする方法

CentOS 5 にSymantec AntiVirus for Linux をインストールする方法は以下の通り。

Symantec AntiVirus for Linux のreadme.txtを確認。

Red Hat Enterprise Linux 5.5            default         2.6.18-194.el5
※リアルタイムスキャンを動作させるには、カーネル 2.6.18-194.el5 が必要。

1. JAVAランタイムのインストール(インストールされていれば不要)

# wget "http://javadl.sun.com/webapps/download/AutoDL?BundleId=59620" 
   -O jre-6u31-linux-i586-rpm.bin
# sh jre-6u31-linux-i586-rpm.bin
# echo export JAVA_HOME=/usr/java/latest/ >> /etc/profile
# . /etc/profile

2. カーネルのバージョンを確認

# uname -r
2.6.18-274.18.1.el5

3. カーネルのダウングレード
(オートプロテクトの機能を使用しない場合や、既にカーネルのバージョンが2.6.18-194なら不要)

# wget http://vault.centos.org/5.5/os/i386/CentOS/kernel-2.6.18-194.el5.i686.rpm
# rpm -ivh --oldpackage kernel-2.6.18-194.el5.i686.rpm

4. 再起動(手順1, 3をスキップしている場合は不要)

# sync; sync; sync
# reboot

5. カーネルのバージョンを再確認

# uname -r
2.6.18-194.el5

6. Symantec AntiVirus for Linux のインストール

# rpm -Uvh sav-1.0.10-26.i386.rpm
# rpm -Uvh savap-1.0.10-26.i386.rpm
# rpm -Uvh savjlu-1.0.10-26.i386.rpm

7. 動作確認

# /etc/init.d/rtvscand status
rtvscand is running
# /etc/init.d/symcfgd status
symcfgd is running
# /etc/init.d/autoprotect status
/dev/symap: does not exist

8. AutoProtectの起動(失敗)

# /etc/init.d/autoprotect start
Starting AP: symev: unable to load kernel support module
(UNSUPPORTED-OS-rh-UNK-UNK-2.6.18-194.el5-i386)

9. /etc/init.d/autoprotect の変更

102行目に以下の一行を追加

*CentOS release 5*) osprod=ES osver=5 ;;

10. AutoProtectの起動(成功)

# /etc/init.d/autoprotect start
Starting AP: symev: loaded (symev-rh-ES-5-2.6.18-194.el5-i686.ko)
symap: loaded (symap-rh-ES-5-2.6.18-194.el5-i686.ko)
Setting major=253 from /proc/symap

11. 動作確認

# /etc/init.d/autoprotect status
OK

12. ライブアップデートの実行

# /opt/Symantec/symantec_antivirus/sav liveupdate --update

Proxy環境の場合は /etc/liveupdate.conf に以下の一行を追加する

proxy=<Proxyサーバアドレス>:<ポート番号>

環境:
CentOS 5.7 (i386)
Symantec AntiVirus for Linux 1.0.10-26 (i386)

2.6.18-194.el5

mutt を使用してメールを送信する方法

muttを使用してメールを送信する方法は以下の通り。

1. 環境設定用のファイルを用意

# vi settings.txt
set charset="utf-8"
set send_charset="us-ascii:iso-2022-jp"
set from=<送信者メールアドレス>
set realname=<送信者名>

【設定例】

set charset="utf-8"
set send_charset="us-ascii:iso-2022-jp"
set from='hoge@example.com'
set realname='hoge'

2. メールの本文を用意

# vi body.txt

【本文例】

テストメールです。

3. muttコマンドにてメールを送信

# mutt -n -F <設定用ファイル> -s <件名> <宛先メールアドレス> < <メール本文>

【コマンド例】

# mutt -n -F settings.txt -s "SUBJECT" hoge2@example.com < body.txt

※ファイルを添付

1. ダミーファイルを作成

# dd if=/dev/urandom of=file.dat bs=1MiB count=1

2. muttコマンドにてメールを送信

# mutt -n -F <設定用ファイル> -s <件名> <メールアドレス> -a <ファイル名> < <メール本文>

【コマンド例】

# mutt -n -F settings.txt -s "SUBJECT" hoge2@example.com -a file.dat < body.txt

CentOS 6では、設定用ファイルに以下を追加することで送信メールサーバを指定できる。

set smtp_url='smtp://<送信メールサーバ>:<ポート番号>'

環境:
CentOS 5
CentOS 6

CentOS のパスワードアルゴリズムを変更する方法

CentOS のパスワードアルゴリズムを変更する方法は以下の通り。

【例】 sha-512の場合

# LANG=en_US.UTF-8 authconfig --passalgo=sha512 --update

passalgoに指定できるアルゴリズム: descrypt, bigcrypt, md5, sha256, sha512

確認

# LANG=en_US.UTF-8 authconfig --test | grep algorithm
 password hashing algorithm is sha512

環境:
CentOS 5
CentOS 6

CentOS で mkhomedir を有効にする方法

CentOS で mkhomedir を有効にする方法は以下の通り。

# LANG=en_US.UTF-8 authconfig --enablemkhomedir --update

確認

# LANG=en_US.UTF-8 authconfig --test | grep mkhomedir

CentOS5の場合

pam_mkhomedir is enabled ()

CentOS6の場合

pam_mkhomedir or pam_oddjob_mkhomedir is enabled ()

GUIインストール時に有効にする場合は、「ネットワークログインを使用する」ボタンを押し
「利用者の最初のログイン時にホームディレクトリーを作成する」にチェックを入れる。

authconfig 実行時にLANGを指定しないと以下のエラーが発生した。

# authconfig
Traceback (most recent call last):
 File "/usr/sbin/authconfig", line 848, in ?
 module.run()
 File "/usr/sbin/authconfig", line 423, in run
 self.parseOptions()
 File "/usr/sbin/authconfig", line 285, in parseOptions
 parser.parse_args(["-h"])
 File "/usr/lib/python2.4/optparse.py", line 1275, in parse_args
 stop = self._process_args(largs, rargs, values)
 File "/usr/lib/python2.4/optparse.py", line 1319, in _process_args
 self._process_short_opts(rargs, values)
 File "/usr/lib/python2.4/optparse.py", line 1426, in _process_short_opts
 option.process(opt, value, values, self)
 File "/usr/lib/python2.4/optparse.py", line 707, in process
 return self.take_action(
 File "/usr/lib/python2.4/optparse.py", line 728, in take_action
 parser.print_help()
 File "/usr/sbin/authconfig", line 48, in print_help
 file.write(self.format_help().decode(srcencoding).encode(encoding, "replace"))
 File "/usr/lib/python2.4/encodings/utf_8.py", line 16, in decode
 return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 757-759: invalid data

環境:
CentOS 5
CentOS 6

CentOS 5 でカーネルをアップデートする方法

CentOS 5 でカーネルをアップデートする方法は以下の通り。

1. 必要なパッケージをインストール

# yum -y install kernel-devel gcc ncurses-devel

2. カーネルソースをダウンロード

# cd /usr/local/src
# wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.6.tar.bz2

3. 展開

# tar jxvf linux-3.1.6.tar.bz2

4. 現在のカーネル設定をコピー

# cd linux-3.1.6
# cp /usr/src/kernels/`uname -r`-`uname -m`/.config .

5. 新しいカーネルの設定

# make menuconfig

6. すぐにESCを2回押すと、以下のメッセージが表示されるので<YES>を選択

Do you wish to save your new configuration? <ESC><ESC>  x
to continue.

7. 新しいカーネルの設定 ( .config ) に以下の2行を追加

CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y

8. サンプル用のMakefile ( samples/Makefile ) を修正
(修正しないとコンパイルエラーになった)

# Makefile for Linux samples code
obj-$(CONFIG_SAMPLES)   += kobject/ kprobes/ tracepoints/ trace_events/ 
 hw_breakpoint/ kfifo/ kdb/ #hidraw/

9. カーネルコンパイル

# make bzImage && make modules && make modules_install && make install

10. rpmを作成する場合のみ実行( rpm-buildが必要)

# make rpm

11. 以下のファイルが作成されていることを確認

/boot/initrd-3.1.6.img
/boot/vmlinuz-3.1.6

initrdが存在しない場合は以下のコマンドを実行

# mkinitrd /boot/initrd-3.1.6.img 3.1.6

12. grub.conf に新しいカーネル用のエントリが存在していることを確認

【例】

default=1
title CentOS (3.1.6)
 root (hd0,0)
 kernel /vmlinuz-3.1.6 ro root=/dev/VolGroup00/LogVol00
 initrd /initrd-3.1.6.img

default は新しいカーネルでの起動が確認できるまでは古いカーネルを指定した方が安全

13. 再起動し、新しいカーネルで起動

# sync; sync; sync
# reboot

14. 起動が確認できたら grub.conf の default を新しいカーネルに変更

環境:
CentOS 5.7 (x86_64)

CentOS に DAG (RPMforge) リポジトリを追加する方法

CentOS に DAG(rpmforge)リポジトリを追加する方法は以下の通り。

CentOS 6.x (x86_64)

# rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

CentOS 6.x (i386)

# rpm -Uvh http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

CentOS 5.x (x86_64)

# rpm -Uvh http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

CentOS 5.x (i386)

# rpm -Uvh http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

環境:
CentOS 5.7
CentOS 6.1

CentOS 5 で ipv6 を無効にする方法

CentOS 5で ipv6 を無効にする方法は以下の通り。

/etc/modprobe.conf に以下の一行を追加。

install ipv6 /sbin/modprobe -n -i ipv6

参考:

以下の方法ではうまくいかなかった。

/etc/sysconfig/network

NETWORKING_IPV6=no

/etc/sysconfig/network-scripts/ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

/etc/modprobe.conf

alias ipv6 off
alias net-pf-10 off

環境:
CentOS 5.7 (x86)

uidNumber, gidNumber に比較演算子を使用する方法

ldap 検索時に、nidNumber をイコール(=) で検索していれば思う通りの結果が得られるが
小なりイコール( LE / ≦ / <=) や大なりイコール( GE / ≧ / >= )で検索すると思うように結果を
得られなかった。

# ldapsearch -LLL -x "uidNumber=10000" uid
dn: uid=Administrator,ou=Users,dc=example,dc=com
uid: Administrator
# ldapsearch -LLL -x "uidNumber=10001" uid
dn: uid=guest,ou=Users,dc=example,dc=com
uid: guest
# ldapsearch -LLL -x "uidNumber=10002" uid
dn: uid=user01,ou=Users,dc=example,dc=com
uid: user01
# ldapsearch -LLL -x "uidNumber=10003" uid
dn: uid=user02,ou=Users,dc=example,dc=com
uid: user02
# ldapsearch -LLL -x "uidNumber=10004" uid
dn: uid=user03,ou=Users,dc=example,dc=com
uid: user03
# ldapsearch -LLL -x "uidNumber>=10002" uid

以下の2つの方法で比較演算子を使用したldap検索が可能かを確認した。

1. nis.schema の builtin 属性の設定を変更
2. schema_prep.c を変更

1. nis.schema の builtin 属性の設定を変更
この方法はうまくいかなかったので参考として記述
/etc/openldap/schema/nis.schema の uidNumber と gidNumber に関する記述をコメントイン。
かつ、ORDERING を追加した。

# cd /etc/openldap/schema/
# cp -p nis.schema nis.schema.org
# vi nis.schema
attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
       DESC 'An integer uniquely identifying a user in an administrative domain'
       EQUALITY integerMatch
       ORDERING integerOrderingMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
       DESC 'An integer uniquely identifying a group in an administrative domain'
       EQUALITY integerMatch
       ORDERING integerOrderingMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
# slaptest
/etc/openldap/schema/nis.schema: line 42: Duplicate attributeType: "1.3.6.1.1.1.1.0"
slaptest: bad configuration file!

builtin の属性の変更方法が不明、あきらめて設定を戻す。

# mv nis.schema.org nis.schema

2. schema_prep.c を変更
次に、ソースから手がかりを入れるため、openldap のsrc.rpm を取得。

# wget http://vault.centos.org/5.7/os/SRPMS/openldap-2.3.43-12.el5_6.7.src.rpm

ディレクトリが存在しない場合は作成。

# mkdir /usr/src/redhat/

展開。

# rpm -i openldap-2.3.43-12.el5_6.7.src.rpm

ソースを変更する。

# cd /usr/src/redhat/SOURCES
# tar zxvf openldap-2.3.43.tgz
# vi openldap-2.3.43/servers/slapd/schema_prep.c
{ "uidNumber", /* for ldapi:// */
 "( 1.3.6.1.1.1.1.0 NAME 'uidNumber' "
 "DESC 'An integer uniquely identifying a user "
 "in an administrative domain' "
 "EQUALITY integerMatch "
 "ORDERING integerOrderingMatch "
 "SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )",
{ "gidNumber", /* for ldapi:// */
 "( 1.3.6.1.1.1.1.1 NAME 'gidNumber' "
 "DESC 'An integer uniquely identifying a group "
 "in an administrative domain' "
 "EQUALITY integerMatch "
 "ORDERING integerOrderingMatch "
 "SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )",
# mv openldap-2.3.43.tgz openldap-2.3.43.tgz.org
# tar zcvf openldap-2.3.43.tgz openldap-2.3.43/*
# rpmbuild -ba ../SPECS/openldap.spec
# (cd ../RPMS/x86_64/ ; 
 rpm -Uvh openldap-*rpm compat-openldap-2.3.43_2.2.29-12.7.x86_64.rpm)

比較演算子を使用して検索。

# ldapsearch -LLL -x "uidNumber>=10002" uid
dn: ou=Idmap,dc=example,dc=com

dn: uid=user01,ou=Users,dc=example,dc=com
uid: user01

dn: uid=user02,ou=Users,dc=example,dc=com
uid: user02

dn: uid=user03,ou=Users,dc=example,dc=com
uid: user03

これが正解かは不明だが、検索できるようになった。

環境:
CentOS 5.7 (x86_64)
OpenLDAP 2.3.43-12

TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。