NVIDIA Jetson Nanoのセキュリティ対策
Ubuntuの自動アップデートを設定します。
再起動が必要な際は、指定した時間で再起動するように設定します。
自動アップデートの結果をメール送信するように設定します。
「unattended-upgrades」をインストールと有効化
「unattended-upgrades」をインストールします。
sudo apt install -y unattended-upgrades
インストールした「unattended-upgrades」を有効化します。
以下のコマンドを実行し、表示される画面で<Yes>を選択します。
sudo dpkg-reconfigure -p low unattended-upgrades
<Yes>を選択します。
「unattended-upgrades」設定
利用する設定ファイルは、以下の2つのファイルとなります。
- /etc/apt/apt.conf.d/20auto-upgrades : 自動アップデートとアップグレードを設定。
- /etc/apt/apt.conf.d/50unattended-upgrades :詳細設定
「20auto-upgrades」設定
- APT::Periodic::Update-Package-Lists "1";
アップグレードの確認間隔
Daily=1 / Every two days = 2 / Weekly = 7 / Every two weeks = 14 / Never = 0 - APT::Periodic::Download-Upgradeable-Packages "1"
セキュリティーアップデートがある場合の動作
Download and install automatically = 1 / Download automatically = 1 / Display immediately = 0
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
「50unattended-upgrades」設定
以下の設定変更を加えました。
- Unattended-Upgrade::Mail "aaa@bbbl.com";
メール通知先の設定 - Unattended-Upgrade::MailOnlyOnError "true";
メール通知のタイミングをエラー発生時のみに変更 - Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
未使用となったカーネル関連パッケージの自動削除 - Unattended-Upgrade::Remove-Unused-Dependencies "true";
未使用となったパッケージの自動削除(apt-get autoremove) - Unattended-Upgrade::Automatic-Reboot "true";
自動再起動が実施されるように設定(自動再起動ON) - Unattended-Upgrade::Automatic-Reboot-Time "02:00";
再起動時の時間を指定
// Automatically upgrade packages from these (origin:archive) pairs // // Note that in Ubuntu security updates may pull in new dependencies // from non-security sources (e.g. chromium). By allowing the release // pocket these get automatically pulled in. Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; // Extended Security Maintenance; doesn't necessarily exist for // every release and this system may not have it installed, but if // available, the policy for updates is such that unattended-upgrades // should also install from here by default. "${distro_id}ESMApps:${distro_codename}-apps-security"; "${distro_id}ESM:${distro_codename}-infra-security"; // "${distro_id}:${distro_codename}-updates"; // "${distro_id}:${distro_codename}-proposed"; // "${distro_id}:${distro_codename}-backports"; }; // List of packages to not update (regexp are supported) Unattended-Upgrade::Package-Blacklist { // "vim"; // "libc6"; // "libc6-dev"; // "libc6-i686"; }; // This option will controls whether the development release of Ubuntu will be // upgraded automatically. Unattended-Upgrade::DevRelease "false"; // This option allows you to control if on a unclean dpkg exit // unattended-upgrades will automatically run // dpkg --force-confold --configure -a // The default is true, to ensure updates keep getting installed //Unattended-Upgrade::AutoFixInterruptedDpkg "false"; // Split the upgrade into the smallest possible chunks so that // they can be interrupted with SIGTERM. This makes the upgrade // a bit slower but it has the benefit that shutdown while a upgrade // is running is possible (with a small delay) //Unattended-Upgrade::MinimalSteps "false"; // Install all unattended-upgrades when the machine is shutting down // instead of doing it in the background while the machine is running // This will (obviously) make shutdown slower //Unattended-Upgrade::InstallOnShutdown "true"; // Send email to this address for problems or packages upgrades // If empty or unset then no email is sent, make sure that you // have a working mail setup on your system. A package that provides // 'mailx' must be installed. E.g. "user@example.com" //Unattended-Upgrade::Mail "root"; Unattended-Upgrade::Mail "aaa@bbb.com"; // Set this value to "true" to get emails only on errors. Default // is to always send a mail if Unattended-Upgrade::Mail is set //Unattended-Upgrade::MailOnlyOnError "true"; Unattended-Upgrade::MailOnlyOnError "true"; // Remove unused automatically installed kernel-related packages // (kernel images, kernel headers and kernel version locked tools). //Unattended-Upgrade::Remove-Unused-Kernel-Packages "false"; Unattended-Upgrade::Remove-Unused-Kernel-Packages "true"; // Do automatic removal of new unused dependencies after the upgrade // (equivalent to apt-get autoremove) //Unattended-Upgrade::Remove-Unused-Dependencies "false"; Unattended-Upgrade::Remove-Unused-Dependencies "true"; // Automatically reboot *WITHOUT CONFIRMATION* // if the file /var/run/reboot-required is found after the upgrade //Unattended-Upgrade::Automatic-Reboot "false"; Unattended-Upgrade::Automatic-Reboot "true"; // If automatic reboot is enabled and needed, reboot at the specific // time instead of immediately // Default: "now" //Unattended-Upgrade::Automatic-Reboot-Time "02:00"; Unattended-Upgrade::Automatic-Reboot-Time "02:00"; // Use apt bandwidth limit feature, this example limits the download // speed to 70kb/sec //Acquire::http::Dl-Limit "70"; // Enable logging to syslog. Default is False // Unattended-Upgrade::SyslogEnable "false"; // Specify syslog facility. Default is daemon // Unattended-Upgrade::SyslogFacility "daemon"; // Download and install upgrades only on AC power // (i.e. skip or gracefully stop updates on battery) // Unattended-Upgrade::OnlyOnACPower "true"; // Download and install upgrades only on non-metered connection // (i.e. skip or gracefully stop updates on a metered connection) // Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true";
動作確認
以下のコマンドで、動作確認を実施しておきます。
$ sudo unattended-upgrade --dry-run --debug