前回の記事(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構築手順まとめ