当サイトはプロモーションが含まれています。

IDCFクラウドで稼働させたサーバーの初期設定 その3

サーバールーム

前回の記事(IDCFクラウドで稼働させたサーバーの初期設定 その2)の続き。

hosts.allowファイルとhosts.denyファイルの設定

この項目は、TCPWrapperというアプリケーションレベルでのフィルタリングになりますので、個人的にはファイアウォールでしっかり管理できている場合には、必要ないかな?と思います。

ただ、設定する癖が付いているので設定しておきます。

▼ 拒否設定
[root@server ~]# vi /etc/hosts.deny
ALL: ALL

▼ 許可設定
[root@server ~]# vi /etc/hosts.allow
ALL: 127.0.0.1
sshd: ALL

基本的には、hosts.denyファイルで全拒否して、hosts.allowファイルで個別に許可するという流れになります。(両方のファイルに該当しない場合、許可となってしまうため)

※Apacheなど対応していないソフトも多く、OpenSSH(sshd)も新しいバージョンでは非対応になっていますので、ファイアウォールを優先して設定したほうがBestです。

不要なサービスの自動起動を停止

Minimalでインストールした場合などを除き、大抵必要ないサービスが存在していますので、不要なサービスの自動起動を停止しておきます。

よくわからないサービスなどは、とりあえず起動しておきます。

[root@server ~]# systemctl list-unit-files --type service |grep enabled
auditd.service					enabled
chrony-wait.service				enabled
chronyd.service					enabled
cloud-set-guest-password.service		enabled
cloud-set-guest-sshkey.service			enabled
crond.service					enabled
dbus-org.freedesktop.NetworkManager.service	enabled
dbus-org.freedesktop.nm-dispatcher.service	enabled
getty@.service					enabled
irqbalance.service				enabled
NetworkManager-dispatcher.service		enabled
NetworkManager-wait-online.service		enabled
NetworkManager.service				enabled
postfix.service 				enabled
rhel-dmesg.service				enabled
rngd.service					enabled
rsyslog.service					enabled
sshd.service					enabled
sysstat.service					enabled
tuned.service					enabled
vmtoolsd.service				enabled

上記、IDCFクラウドのおすすめテンプレート(CentOS 7.2)でインストールした際のものですが、以外とすっきりシンプルな状態です。

Service Description Enable or Disable ?
auditd システム監査のログ保存などを行う
SELinuxなどで活用
Disable
chrony-wait 詳しくは不明だけどchronyd関係
ntp-wait的なものか?
(とりあえず)
Enable
chronyd CentOS 7でntpdに変わり標準となった
新しいNTPクライアント&サーバ
Enable
cloud-set-guest-password 仮想マシンのパスワードリセット機能 Disable
cloud-set-guest-sshkey 仮想マシンのSSHKeyリセット機能 Disable
crond 毎度お馴染みスケジュールサービス Enable
dbus-org.freedesktop.NetworkManager NetworkManager関係だと思いますが
詳細は不明
(とりあえず)
Enable
dbus-org.freedesktop.nm-dispatcher これもNetworkManager関係だと思いますが
詳細は不明
(とりあえず)
Enable
getty@.service 詳しくは不明
コンソール関係?
(とりあえず)
Enable
irqbalance マルチCPUの場合に効率よく処理を分散させる
シングルCPUの場合は必要無いけどVPSなどの仮想CPUの場合は?
(とりあえず)
Enable
NetworkManager-dispatcher NetworkManagerの設定を自動保存する Enable
NetworkManager-wait-online ネットワークデバイスがIPアドレスを取得するまで
各種処理を待たせるサービス
Enable
NetworkManager 動的ネットワーク制御及び設定サービス
CentOS 6までは無効化していたけれどCentOS 7では推奨
Enable
postfix メール転送エージェント(MTA) Enable
rhel-dmesg カーネルログ出力関係 Enable
rngd ハードウェアを利用した乱数ジェネレーター
エントロピープール枯渇対策にもなる?
Enable
rsyslog ログ管理サービス Enable
sshd SSHアクセスに必要 Enable
sysstat サーバーリソース監視 (とりあえず)
Disable
tuned チューニングサービス (とりあえず)
Enable
vmtoolsd VMware関連サービス (とりあえず)
Enable

まとめると結構理解できていないサービスが多い・・・勉強しないと・・・。
とりあえず、無効化するものは以下のコマンドで無効化します。

[root@server ~]# systemctl disable auditd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/auditd.service.

[root@server ~]# systemctl disable cloud-set-guest-password.service
Removed symlink /etc/systemd/system/multi-user.target.wants/cloud-set-guest-password.service.

[root@server ~]# systemctl disable cloud-set-guest-sshkey.service
Removed symlink /etc/systemd/system/multi-user.target.wants/cloud-set-guest-sshkey.service.

[root@server ~]# systemctl disable sysstat.service
Removed symlink /etc/systemd/system/multi-user.target.wants/sysstat.service.

あとは、無効化したサービスを停止するなり、サーバーを再起動すればOK。

root宛のメールを転送する

[root@server ~]# vi /etc/aliases

# Person who should get root's mail
#root:          marc
root:           thetaro
thetaro:        example@example.jp

[root@server ~]# newaliases

yum updateの実行

必要最低限の初期設定を行いました。これから、Apache(もしくはNginx)やMySQLなどをインストールしますが、その前にyumで全体をアップデートしておきます。
※アップデートしたくないソフトウェアがある場合には、事前に対象外にしておきましょう。

[root@server ~]# yum update
...(略)
Is this ok [y/d/N]: y
...(略)
完了しました!

今日はここまで。
続きの記事は、CentOS 7構築手順まとめ