FortiGate 7.2.6から自動ファームウェア更新機能が有効になっている

はい。
もう1月末ですが新年あけましておめでとうございます。
年末から年始にかけて、今も続いていますが資格更新ラッシュで全然記事が書けませんでした。
色々ネタは思いついているのですが検証する間もなく更新試験の勉強を進めています。
更新試験の勉強は実りも多いのでそちらを記事にしても良いのですが、あまり時間もないためとりあえず日々の業務で気になったことを記事にします。

# FortiGate 7.2.1から自動ファームウェア更新機能が実装された
12月25日に色々あってそれまで放置していたFortiGateのライセンスを更新しました。
元々バージョンが7.0.6だったのですが、順繰りにバージョンアップを行い現在は7.4.7になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/a5cdbb5b-1bb9-e4c6-8599-14e1be647cd3.png)

ファームウェアバージョン7.0シリーズからこの7.4シリーズにアップグレードする前に、7.2シリーズへまずはアップグレードをする手順なのですが、この7.2.1で以下のように本記事の主題である自動ファームウェア更新機能が実装されています。
公式URLは以下の通りです。
https://docs.fortinet.com/document/fortigate/7.2.0/new-features/369092/enable-automatic-firmware-updates-7-2-1
はい。
これはこれで喜ばしいですね。
便利そうな機能です。

# FortiGate 7.2.6から自動ファームウェア更新機能が有効になっている
ファームアップを行ったきっかけとは全く関係なのですが、偶然他の案件でも話題になった自動ファームウェア更新機能が勝手に有効になっていました。

https://docs.fortinet.com/document/fortigate/7.2.6/fortios-release-notes/230510/changes-in-default-behavior
こちらの公式URLに詳細が載っていますが、
```
auto-firmware-upgrade
```
というコマンドが
```
enable
```
だった場合、自動でファームウェアを更新してくれます。
実際の設定値でいうと以下の図の<font color="red">赤枠内</font>ですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/0cacf8b8-a9e1-af53-87ad-ee3d6892b174.png)
デフォルト値だと毎日ファームウェアの更新をチェックし、新しいファームウェアが見つかったら3日後(Delay 3)にファームアップしてくれるみたいですね。
自動更新、便利ですが<font color="red">**勝手に再起動がかかります。**</font>

HA組んでればネットワーク切断は避けられるかもしれませんが、シングル構成だと夜間バッチやなんかでネットワーク切断してはいけないタイミングで切断されたら困りますね。


# 自動更新を無効化するにはどうしたら良いの？
手元の60FではGUIでこのパラメーターを変更する画面は見つかりませんでした。
なのでコマンドでしか無理なようですね。
先ほどの公式URLにもありますが、
```
enable
```
を
```
diable
```
に変更するだけです。
まずはコンソール画面をGUIから開いて現在の設定値を確認します。
```
config system fortiguard
show full-configuration
```
と実行すると
```
FortiGate-60F # config system fortiguard 

FortiGate-60F (fortiguard) # show full-configuration 
config system fortiguard
    set fortiguard-anycast enable
    set fortiguard-anycast-source fortinet
    set protocol https
    set port 443
    set load-balance-servers 1
    set auto-join-forticloud enable
    set update-server-location automatic
    set sandbox-region "Japan"
    set sandbox-inline-scan disable
    set update-ffdb enable
    set update-uwdb enable
    set update-dldb enable
    set update-extdb enable
    set update-build-proxy enable
    set vdom ''
    set auto-firmware-upgrade enable
    unset auto-firmware-upgrade-day
    set auto-firmware-upgrade-delay 3
    set auto-firmware-upgrade-start-hour 1
    set auto-firmware-upgrade-end-hour 4
    set FDS-license-expiring-days 15
    set antispam-force-off disable
    set antispam-cache enable
    set antispam-cache-ttl 1800
    set antispam-cache-mpermille 1
    set antispam-timeout 7
    set outbreak-prevention-force-off disable
    set outbreak-prevention-cache enable
    set outbreak-prevention-cache-ttl 300
    set outbreak-prevention-cache-mpermille 1
    set outbreak-prevention-timeout 7
    set webfilter-force-off disable
    set webfilter-cache enable
--More-- 
```
こんな感じで出てきます。
先ほどの画像では最初の行は見切れていますが、内容は同じですね。

で、
```
set auto-firmware-upgrade disable
```
と叩き再度
```
show full-configuration 
```
で確認すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/044e0450-5163-88eb-2d98-c2fddd551c47.png)
画像の通りちゃんと無効化されていますね。
このあと
```
end
```
でこのconfig system fortiguardから抜けて設定完了です。
私の環境ではしばらく有効にして勝手にファームが上がるか確認してみます。

# 追記
ついでに新しいファームウェアを見つけてすぐにアップグレードにする設定、コマンドで言うと
```
set auto-firmware-upgrade-delay 0
```
にしたら以下の注意書きが出てきました。

```auto-firmware-upgrade-delay is turned off, setting auto-firmware-upgrade-day to "saturday sunday" for automatic patch-level firmware upgrade from FortiGuard.```

翻訳
```auto-firmware-upgra-delay がオフになり、FortiGuard からのパッチレベルのファームウェアの自動アップグレードのために auto-firmware-upgrade-day を「saturday sunday」に設定します。```
他の部分もコマンド変わったっぽいですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/60017f20-6aac-eb3f-0c3b-9f4af7d05035.png)
<font color="red">赤枠部分</font>ですが。
```
set auto-firmware-upgrade-day sunday saturday
```
が追記された部分ですね。
実際に設定変更したのはその下の行なんですが、その反射効としてこの行が変更かかる仕様ですね。
意味的には、ファームのアップグレードを日曜日と土曜日に行う、という挙動になるようです。
<font color="red">**平日避けてるやん！
素敵やん！**</font>
ということなのですが、とりあえず管理者の知らないところで自動アップデートされると困ることもあるかと思うので、お客様とも相談しながらケースバイケースで自動ファームウェア更新機能の有効化/無効化は判断しましょう。

本日はここまで。