RHEL/CentOSでセキュリティアップデートを自動適用する方法(yum-cron/dnf-automatic活用ガイド)
RHEL/CentOSにおけるセキュリティアップデートの自動化とは
CentOS、Red Hat Enterprise Linux(RHEL)、Fedoraでは、リポジトリにセキュリティアップデートが公開された時点で自動的にインストールするよう設定できます。本記事では、yum-cronおよびdnf-automaticを使用して、CentOS/RHEL環境でセキュリティアップデートを定期的にチェックし、自動インストールする方法を詳しく解説します。
CentOS 7/RHEL 7でのyum-cronによる自動アップデート設定
CentOS 7やRHEL 7で自動アップデートを実現するには、yum-cronツールを使用します。まず、yumパッケージマネージャでインストールしましょう。
# yum install -y yum-cron
インストールが完了したら、設定ファイルを編集します。
# nano /etc/yum/yum-cron.conf
以下のように各項目を変更してください。
update_cmd = security update_messages = yes download_updates = yes apply_updates = yes
この設定により、セキュリティ関連のアップデートのみが自動的にダウンロード・インストールされます。それ以外のアップデートは適用されないため、必要に応じて手動でインストールできます。
update_cmdで指定できるその他のオプション
- security-severity:Critical — 重要度が「Critical(重大)」のセキュリティアップデートのみをインストール
- minimal-security — バグ修正およびセキュリティアップデートをインストール
- minimal-security-severity:Critical — バグ修正と重要度「Critical」のアップデートのみをインストール
メール通知の設定
サーバーでMTA(Mail Transfer Agent)が構成されている場合は、指定したメールアドレスへ自動通知を送信できます。
emit_via = email email_from = server32@localhost email_to = update_alerts@example.com email_host = smtpgw.example.com
特定パッケージを自動更新の対象から除外する
一部のパッケージを自動更新の対象外にしたい場合は、[base]セクションのexcludeフィールドにパッケージ名を追加します。たとえば以下のように記述します。
exclude= mysql* kernel* php*
yum-cronサービスの起動と有効化
設定ファイルを保存したら、yum-cronサービスを起動し、システム起動時に自動実行されるよう登録します。
# systemctl start yum-cron
# systemctl enable yum-cron
セキュリティアップデートの適用状況は、メール通知またはログファイル/var/log/yum.logで確認できます。ログ上の時刻表示を正しく保つため、サーバーの時刻が信頼できるNTPサーバーと同期していることも併せて確認しておきましょう。
yum-securityパッケージが存在しない場合の対処法
環境によってはyum-securityツールがインストールされていないことがあります。その場合、以下のコマンド実行時にエラーが発生します。
# yum upgrade --security
Command line error: no such option: --security
この問題は、該当パッケージをインストールすることで解決します。
# yum install -y yum-security
CentOS 8/RHEL 8でのdnf-automaticによるセキュリティアップデート自動化
CentOS 8およびRHEL 8では、yumパッケージマネージャがdnfに置き換えられました(yumコマンド自体はdnfへのシンボリックリンクとして引き続き利用可能です)。セキュリティアップデートの自動インストールを設定するには、dnf-automaticをインストールします。
# dnf install -y dnf-automatic
このコマンドを実行すると、dnf-automaticがインストールされ、あわせていくつかのパッケージも更新されます。
dnf-automaticの設定ファイルは/etc/dnf/automatic.confです。
# nano /etc/dnf/automatic.conf
設定ファイル内の以下の項目を編集します。
upgrade_type = security download_updates = yes apply_updates = yes emit_via = email email_from = server2@localhost
メール通知を受け取りたい場合は、ご自身のSMTPサーバーアドレスを指定してください。
dnf-automaticタイマーの起動と確認
続いて、dnf-automaticのタイマーサービスを起動し、自動実行を有効にします。
# systemctl start dnf-automatic.timer
# systemctl enable dnf-automatic.timer
登録済みの自動更新タスクは、以下のコマンドで確認できます。
# systemctl list-timers *dnf*
アップデートの履歴はメール通知、またはローカルのログファイル/var/log/dnf.rpm.logで確認できます。
まとめ:自動アップデート運用の注意点
セキュリティアップデートやバグ修正を可能な限り早く適用できる自動更新は、インターネットに公開されているLinuxサーバーのセキュリティ強化に大きく貢献します。ただし、本番サーバーにおいて管理者の確認なしに自動更新を行うことは、多くの場合おすすめできません。一方で、セキュリティリスクが一時的なサービス停止のリスクを上回ると判断されるケースでは、自動アップデートの導入が極めて有効な選択となります。
-
Windows 10の自動更新を無効にする4つの方法を徹底解説
以前のバージョンのWindowsでは、ユーザーが自分の判断でアップデートをインストールするかどうかを選択できました。しかしWindows 10ではその選択肢が廃止され、すべての更新プログラムが自動的にダウンロードされ、インストールされる仕様になっています。作業中なのに強制的にPCを再起動させられてしまうと、大きなストレスになりますよね。本記事では、Windows 10の自動更新を設定・無効化するための具体的な方法をご紹介します。 Windows 10の更新プログラムを無効にすべきか? Windowsの自動更新は、OSを最新の状態に保ち、セキュリティ脆弱性による被害を防ぐために重要な機能です。多
-
Windows 10で自動更新を停止・無効化する5つの方法
Windows Updateに対して、愛憎相半ばする気持ちを抱いているユーザーは多いのではないでしょうか。多くの場合、更新プログラムは自動的にインストールされ、再起動を求めて作業の流れを中断させてしまいます。しかも、再起動中の青い画面をどれくらい見つめ続けることになるのか、更新のインストールが完了するまでにPCが何回再起動するのかも予測できません。 さらに厄介なのは、更新を何度も延期していると、通常通りのシャットダウンや再起動ができなくなり、いずれかの操作に合わせて強制的に更新をインストールさせられる点です。また、ドライバーやアプリケーションの更新は、問題を修正する以上に新たな不具合を引き起こ