○ Xinetdのインストール

・スーパ・サーバ (xinetd) によるアクセス制御
・xinetd-2.3.15をソースからインストールし、設定します
・既成のxinetd (rpmパッケージ) で問題ありません
・samba-swatを使う場合は既成のrpmパッケージを使います

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:xinetd-2.3.15.tar.gz  (http://www.xinetd.org/)
  (https://github.com/xinetd-org/xinetd/releases)

○参照ファイル

パッケージの追加
最初の設定 (Xen)

○インストール環境

:OS CentOS 6.8
:selinux disabled or permissive
:インストール先  /etc /usr/local
:作業 ~/src
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○xinetd-2.3.15

○既存の設定ファイル (存在する場合) の保存とアンインストール

・既存の設定ファイルを保存します
・既存パッケージをアンインストールします

# cd /etc
[root@venus:/etc]
# cp xinetd.conf xinetd.conf-ORG
# cp -a xinetd.d xinetd.d-ORG
# service xinetd stop
# rpm -e xinetd
# rm -rf xinetd.d

○ソースの展開・インストール

# cd ~/src
[root@venus:~/src]
# tar zxvf xinetd-2.3.15.tar.gz
# chown -R root:root xinetd-2.3.15
# cd xinetd-2.3.15
[root@venus:~/src/xinetd-2.3.15]
# make distclean

・CFLAGS="-O2 -march=i686 -mtune=atom" (CPU最適化オプション)
・該当しない場合は指定しない
・オプションは半角を入れて続けて記入した方が良い

# ./configure CFLAGS="-O2 -march=i686 -mtune=atom" \
--sysconfdir=/etc --with-libwrap --with-loadavg

・コンパイル

# make

・インストール

# make install

・自動起動スクリプトをコピーします

# cp contrib/xinetd /etc/rc.d/init.d
# chmod 755 /etc/rc.d/init.d/xinetd
# cp contrib/xinetd.conf /etc

# cd ~/src
[root@venus:~/src]
# tar jcvf xinetd-2.3.15-160529.tar.bz2 xinetd-2.3.15/

○設定ファイルを作ります

・"man xinetd.conf"で設定マニュアルを読みましょう
・既存ファイルがある場合は、それを使います

# cd /etc
[root@venus:/etc]
# cp -a xinetd.d-ORG xinetd.d

・全体制御の設定ファイルと個別の設定ファイルを作ります

:/etc/xinetd.conf (全体制御)

defaults
{
	log_type	= SYSLOG daemon info 
	log_on_failure	= HOST
	log_on_success	= PID HOST DURATION EXIT
	cps		= 50 10
	instances	= 50
	per_source	= 10
	v6only		= no
	groups		= yes
	umask		= 002
}

includedir /etc/xinetd.d

includedir /etc/xinetd.d

・同梱されているxinetd.confを使います
・cpsの第1引数 50 はコネクションのレート制限です
・cpsの第2引数 10 はサーヴィス利用不能からの復帰時間(秒)です
・includedirで個別設定用ファイルの位置を指定しています

:個別設定ファイル (例 identd制御ファイル)

service auth
{
    disable      = no
    flags        = NOLIBWRAP
    socket_type  = stream
    protocol     = tcp
    wait         = yes
    user         = root
    server       = /usr/sbin/in.identd
    server_args  = -e -o
    only_from    = localhost 192.168.0.0/24
}

・/etc/xinetd.dに保存します
・"flags = NOLIBWRAP"でlibwrapを使用しません
・"only_from = "でアクセス制限をしています

○自動起動ファイルの修正

:/etc/rc.d/init.d/xinetd

・省略

# Check that networking is up.
[ ${NETWORKING} = "yes" ] || exit 0

[ -f /usr/local/sbin/xinetd ] || exit 1
[ -f /etc/xinetd.conf ] || exit 1

PATH=$PATH:/usr/local/sbin
RETVAL=0

if [ "$NETWORKING_IPV6" = "yes" ] && [ -x /usr/local/sbin/xinetd6 ]; then
     prog="xinetd6"
else
     prog="xinetd"
fi

・省略


○selinuxヘの対応 (selinuxが有効の場合)

:新規インストールファイルのselinuxラベルを修正

# cd ~
[root@venus:~]
# restorecon -Rv /etc
# restorecon -Rv /usr/local

○xinetdの起動

[root@venus:~]
# chkconfig --add xinetd
# service xinetd start

○ Copyright(c) 528p.com All Rights Reserved.