手当たり次第に書くんだ

飽きっぽいのは本能

イントロダクション

概要

  • 全ホスト共通の設定を実施する

対象OS

  • CentOS 6.9

対象ホスト

  • 全ホスト

前提条件

  • なし

目次

Yum

システム更新と必要パッケージのインストール

  • システム全体を最新の状態に更新し、共通設定で必要となる全てのパッケージを追加する(一時的に仮のネットワーク設定で実施する)
  • etckeeperはEPELリポジトリに含まれるため、epel-releaseインストール後にインストールしている
[root@centos ~]# yum update
[root@centos ~]# yum install epel-release yum-cron logwatch git net-snmp net-snmp-utils nfs-utils
[root@centos ~]# yum install etckeeper

自動更新有効化

  • yum-cronによる日次自動更新を有効化する
[root@centos ~]# service yum-cron start [1]
[root@centos ~]# chkconfig yum-cron on [2]
[root@centos ~]# chkconfig yum-cron --list [3]
[root@centos ~]# sn=yum-cron && service $sn start && chkconfig $sn on && chkconfig $sn --list [1],[2],[3] One-Liner

管理ユーザー作成

  • 管理ユーザーをwheelグループに追加することでrootに昇格できるユーザーを制限する

ユーザー作成

[root@centos ~]# groupadd centos -g 500 [1]
[root@centos ~]# useradd centos -u 500 -g 500 [2]
[root@centos ~]# usermod -G wheel centos [3]
[root@centos ~]# groupadd centos -g 500 && useradd centos -u 500 -g 500 && usermod -G wheel centos [1],[2],[3] One-Liner
[root@centos ~]# passwd centos

/etc/pam.d/su

[root@centos ~]# cp --parents --preserve /etc/pam.d/su /root/initfiles First time only
[root@centos ~]# vim /etc/pam.d/su

#auth required pam_wheel.so use_uid
auth required pam_wheel.so use_uid

共通ディレクトリ作成

  • /root/binはスクリプト等のプログラムの配置、/root/initfilesは変更前のデフォルトの設定ファイルを保存(初回のみ)する
[root@centos ~]# mkdir /root/bin /root/initfiles

Vim設定変更

  • Vimのデフォルト設定は、コメント行を改行する際、次の行にも自動的に#が付与されてコメント行となるが、不要な機能であるため無効化する
  • 下記の設定はrootユーザーのみ対象としているが、必要に応じて他のユーザーも実施する
[root@centos ~]# mkdir -p /root/.vim/after/plugin
[root@centos ~]# echo "au FileType * setlocal formatoptions-=ro" > /root/.vim/after/plugin/common-settings.vim

etckeeper設定

初期化と初回コミット

[root@centos ~]# etckeeper init

Initialized empty Git repository in /etc/.git/

[root@centos ~]# etckeeper commit "first commit"

[master (root-commit) 5cb933e] first commit
 1462 files changed, 137286 insertions(+), 0 deletions(-)
 create mode 100755 .etckeeper
 create mode 100644 .gitignore
 create mode 100644 ConsoleKit/seats.d/00-primary.seat

 - Omission -

 create mode 100644 yum/pluginconf.d/security.conf
 create mode 100644 yum/vars/infra
 create mode 100644 yum/version-groups.conf
 create mode 100644 yum/yum-daily.yum
 create mode 100644 yum/yum-weekly.yum

/root/binを追加

[root@centos ~]# etckeeper init -d /root/bin

Initialized empty Git repository in /root/bin/.git/

[root@centos ~]# etckeeper commit -d /root/bin "first commit"

[master (root-commit) d1894ac] first commit
 2 files changed, 57 insertions(+), 0 deletions(-)
 create mode 100755 .etckeeper
 create mode 100644 .gitignore

/root/binを自動コミット対象に含める

[root@centos ~]# cp --parents --preserve /etc/etckeeper/daily /root/initfiles
[root@centos ~]# vim /etc/etckeeper/daily

#!/bin/sh
# Script that can be run daily to autocommit /etc changes.
set -e
if [ -x /usr/bin/etckeeper ] && [ -e /etc/etckeeper/etckeeper.conf ]; then
	# avoid autocommit if an install run is in progress
	lockfile=/var/cache/etckeeper/packagelist.pre-install
	if [ -e "$lockfile" ] && [ -n "$(find "$lockfile" -mtime +1)" ]; then
		rm -f "$lockfile" # stale
	fi
	if [ ! -e "$lockfile" ]; then
		AVOID_SPECIAL_FILE_WARNING=1
		export AVOID_SPECIAL_FILE_WARNING
		if etckeeper unclean; then
			etckeeper commit "daily autocommit" >/dev/null
		fi

		# Additional settings
		if etckeeper unclean -d /root/bin; then
			etckeeper commit -d /root/bin "daily autocommit" >/dev/null
		fi
	fi
fi

SSH設定

SELinux無効化

[root@centos ~]# cp --parents --preserve /etc/selinux/config /root/initfiles  First time only
[root@centos ~]# vim /etc/selinux/config

#SELINUX=enforcing
SELINUX=disabled

IPv6無効化

[root@centos ~]# echo "options ipv6 disable=1" > /etc/modprobe.d/disable-ipv6.conf

ネットワーク設定

ip6tablesサービス停止

[root@centos ~]# service ip6tables stop [1]
[root@centos ~]# chkconfig ip6tables off [2]
[root@centos ~]# chkconfig ip6tables --list [3]
[root@centos ~]# sn=ip6tables && service $sn stop && chkconfig $sn off && chkconfig $sn --list [1],[2],[3] One-Liner

iptables設定

iptablesサービス停止

対象ホスト:iptablesを使用しないホスト

[root@centos ~]# service iptables stop [1]
[root@centos ~]# chkconfig iptables off [2]
[root@centos ~]# chkconfig iptables --list [3]
[root@centos ~]# sn=iptables && service $sn stop && chkconfig $sn off && chkconfig $sn --list [1],[2],[3] One-Liner

/etc/sysconfig/iptables-config

対象ホスト:iptablesを使用するホスト

  • FTPモジュールを有効化する
[root@centos ~]# cp --parents --preserve /etc/sysconfig/iptables-config /root/initfiles First time only
[root@centos ~]# vim /etc/sysconfig/iptables-config

#IPTABLES_MODULES=""
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"

iptstate

対象ホスト:iptablesを使用するホスト

[root@centos ~]# yum install iptstate

iptablesスクリプト

対象ホスト:iptablesを使用するホスト

IP転送有効化

対象ホスト:ルーティングを実行するホスト

/etc/sysctl.conf

[root@centos ~]# cp --parents --preserve /etc/sysctl.conf /root/initfiles First time only
[root@centos ~]# vim /etc/sysctl.conf

#net.ipv4.ip_forward = 0
net.ipv4.ip_forward = 1

TCP Wrapper

/etc/hosts.deny

[root@centos ~]# cp --parents --preserve /etc/hosts.deny /root/initfiles First time only
[root@centos ~]# rm -f /etc/hosts.deny
[root@centos ~]# vim /etc/hosts.deny

ALL:	ALL

/etc/hosts.allow

[root@centos ~]# cp --parents --preserve /etc/hosts.allow /root/initfiles First time only
[root@centos ~]# rm -f /etc/hosts.allow
[root@centos ~]# vim /etc/hosts.allow

対象ホスト:インターネットからSSHを許可するホスト

ALL:	127.0.0.1
ALL:	xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx
ALL:	yyy.yyy.yyy.yyy/yyy.yyy.yyy.yyy
sshd:	ALL

対象ホスト:内部からのみアクセスを許可するホスト

ALL:	127.0.0.1
ALL:	xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx
ALL:	yyy.yyy.yyy.yyy/yyy.yyy.yyy.yyy

Postfix設定

SNMP設定

NTP設定

syslog設定

バックアップ設定

CentOS 6 共通設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る