【VPS初期構築ガイド③】OS更新と時刻同期(chronyd)・ログ管理(rsyslog)の基礎
(AlmaLinux 10/X-SERVER VPS対応)
VPSを安全に運用していくためには、まず「サーバーの基礎部分」を整えておくことが重要です。
本章では、初期段階で必ず整備しておきたいOS更新・基本ツール導入・常駐サービスの設定を分かりやすく解説します
⚙️ 前提条件
このシリーズは、初心者向けに必要最小限の内容でまとめています。
- 対応環境:AWS・さくらのVPS・X-SERVER VPSなど主要環境で再現可能
- 前提知識:Linuxの基本コマンドとvi操作を理解していること
- 想定ユーザー:Windowsユーザー(Macの場合はクライアント側の用語や実行コマンドが一部異なりますが、サーバー操作は同じ手順で実施可能)
扱う内容は「必須の初期設定」に限定し、本格的なセキュリティ強化(SSH公開鍵、fail2ban、SELinuxなど)は次章以降で扱います。
💡 参考記事
基礎操作が不安な方は、こちらを先にチェックしておくと理解がスムーズです👇
👉 難しくない、慣れれるだけ!VPSで始めるLinuxサーバーの構築前に覚える基本コマンドとviの使い方
👉 前章:第2章:【VPS初期構築ガイド②】GPG署名エラーの仕組みと安全なパッケージ更新(dnf/rpmの信頼モデル)
2. OS とパッケージを最新の状態にする
最初に行うべき作業は、サーバー内のパッケージを最新化することです。
脆弱性が修正されていない状態のまま作業を進めるのは避けましょう。
dnf update -y
dnf upgrade -y
カーネルの更新が含まれる場合は再起動が必要です。(更新される確率が高い)
reboot
3. 初期段階で導入する必須パッケージ
ここでは、操作ツール(インストールすればすぐ使えるコマンド) と**常駐サービス(systemctl による起動・管理が必要なもの)**に分けて紹介します。
3-1. 操作ツール(すぐ使える基本コマンド)
これらは インストールだけで利用できる CLI ツール です。日常運用・デバッグで頻繁に使います。
| パッケージ | 役割 | 用途 |
|---|---|---|
| wget | ファイル取得 | バックアップ / スクリプトダウンロード |
| curl | 通信確認 | API・SSL検証、HTTPデバッグ |
| tar | アーカイブ操作 | tar.gz の展開・パッケージ配布物の解凍 |
| unzip | ZIP解凍 | WordPress や Windows 系 ZIP ファイルの展開 |
| iproute2(ss/ip) | 状態確認 | ポート / ネットワーク状態確認(現代標準) |
インストール
sudo dnf install -y wget curl tar unzip
ss / ip コマンドは iproute2 に含まれており、RHEL 系では標準でインストールされています。
追加インストールが必要になるケースはほとんどありません。
例外的に iproute2 が入っていない場合
コンテナベースの極小イメージなど、まれにパッケージが削られている環境では次のコマンドでインストールできます
sudo dnf install iproute
3-2. 常駐サービス(systemctl 管理が必要)
これらはサーバー運用の基盤となる バックグラウンドサービス です。
インストール後に起動 (start) と自動起動 (enable)を設定する必要があります。
| パッケージ | 役割 | 説明 |
|---|---|---|
| rsyslog | ログ基盤 | システム全体のログ管理 |
| chronyd | 時刻同期 | SSL / ログ時刻ズレ対策 |
| firewalld | ファイアウォール管理 | 公開サーバーの基本防御 |
| auditd | 監査ログ | 権限 / SELinux の記録(環境により未導入の場合あり) |
インストール
sudo dnf install -y rsyslog chronyd firewalld audit
4. dnf install -y の扱いについて
-y はすべての確認に自動でYesを返すため便利ですが、外部リポジトリ利用時は依存関係の変化に注意が必要です。標準リポジトリのみ使用している場合はほぼ問題ありません。
確認したい場合は以下を使用します。
sudo dnf install wget curl --assumeno
5. 常駐サービスの状態確認
サービスの動作を確認をなぜするのか?(体験談)
私が管理していたWebサイトで問題が発生し、アクセスログの調査を依頼された際、私はそのログを提出しました。しかし、後日、「提出されたログの時間と、他の通信記録の時間が合わない」という再調査の依頼を受けてしまいました。
その時、chronydを導入し忘れていた(動いているものと思い込んでいた)という、運用者としてあるまじき初歩的なミスが判明したのです。
rsyslogとauditdが動いていたので不正アクセスがない、Webサイト(httpd)のログだけでよいとなったのが不幸中の幸いでした。
サービスが動作しているか確認します。(この確認は、上記の教訓から導かれた最低限の行動です)
systemctl status rsyslog
systemctl status chronyd
systemctl status firewalld
systemctl status auditd
systemctl status の出力はページャで表示されるため、画面を閉じるには q キーを押します。
補足:Ctrl + D で抜けられる場合もありますが、環境によっては
シェル自体を終了してしまう場合がある ため、基本的には q キーで戻る方法を推奨します。
6. 常駐サービスの起動・自動起動設定
停止しているサービスは起動し、自動起動を設定します。
sudo systemctl enable --now rsyslog
sudo systemctl enable --now chronyd
sudo systemctl enable --now firewalld
sudo systemctl enable --now auditd
7. firewalld と SSH について
RHEL 系 OS の初期設定では、SSH (22番) は firewalld
の許可対象に含まれているため、通常、firewalld を有効化しても SSH が遮断されることはありません。
ただし SSHポートを変更している場合は、ファイアウォールに明示的に登録が必要です。
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
ポート変更している場合:
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
8. よくあるつまずきポイント
■ reboot 後に SSH 接続できない
- firewall 設定の反映漏れ
- ポート変更とファイアウォール設定の不一致
→ VPS が「コンソール」機能を提供している場合は、そちらから復旧できます
復旧コマンド
ポート変更なし(SSH 22番を使用している場合)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
ポート変更あり(例:2222番)
sshd_config で設定したポート番号を指定します。
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
※ --permanent の設定を反映するには --reload が必須です。
反映前に SSH を切断すると接続できなくなるため、コンソール上で実行してください。
■ chronyd が inactive
VPS側の時刻同期サービスと競合することがあります。
■ auditd が存在しない
VPS の OS イメージによっては未導入の場合があります
9. まとめ(チェックリスト)
- OS 更新を行った
- 基本ツール(wget / curl / tar / unzip)を導入した
- 常駐サービス(rsyslog / chronyd / firewalld / auditd)を導入した
- 各サービスの起動を確認した
- 自動起動(enable)を設定した
- SSH ポートを firewalld に登録した(ポート変更していない場合は不要)
- 再起動して動作確認した
Webサイトを運用するサーバーとして、chronyd、rsyslog、そしてauditdの3つは、単なる推奨設定ではなく、「法的責任、セキュリティ、および運用者としての信頼」を担保するための『最低限の生存戦略』です。この基礎工事を怠らず、次のステップである本格的なセキュリティ強化に進みましょう。
次章では、より安全な運用のための SSH 公開鍵認証の導入 を解説します。