Linux
 Computer >> コンピューター >  >> システム >> Linux

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サーバーのセキュリティ強化に大きく貢献します。ただし、本番サーバーにおいて管理者の確認なしに自動更新を行うことは、多くの場合おすすめできません。一方で、セキュリティリスクが一時的なサービス停止のリスクを上回ると判断されるケースでは、自動アップデートの導入が極めて有効な選択となります。

  1. Windows 10の自動更新を無効にする4つの方法を徹底解説

    以前のバージョンのWindowsでは、ユーザーが自分の判断でアップデートをインストールするかどうかを選択できました。しかしWindows 10ではその選択肢が廃止され、すべての更新プログラムが自動的にダウンロードされ、インストールされる仕様になっています。作業中なのに強制的にPCを再起動させられてしまうと、大きなストレスになりますよね。本記事では、Windows 10の自動更新を設定・無効化するための具体的な方法をご紹介します。 Windows 10の更新プログラムを無効にすべきか? Windowsの自動更新は、OSを最新の状態に保ち、セキュリティ脆弱性による被害を防ぐために重要な機能です。多

  2. Windows 10で自動更新を停止・無効化する5つの方法

    Windows Updateに対して、愛憎相半ばする気持ちを抱いているユーザーは多いのではないでしょうか。多くの場合、更新プログラムは自動的にインストールされ、再起動を求めて作業の流れを中断させてしまいます。しかも、再起動中の青い画面をどれくらい見つめ続けることになるのか、更新のインストールが完了するまでにPCが何回再起動するのかも予測できません。 さらに厄介なのは、更新を何度も延期していると、通常通りのシャットダウンや再起動ができなくなり、いずれかの操作に合わせて強制的に更新をインストールさせられる点です。また、ドライバーやアプリケーションの更新は、問題を修正する以上に新たな不具合を引き起こ