Updated 2023-05-16. Since the project is security-critical, a detailed writeup on how to verify images is provided. A quick summary of the chain of trust is replicated below:
.img.bz2 --(SHA2)--> .sha256 -----+
^ |
| +-- [OPNsense private key]
.pub ----+ |
| |
.img.bz2.sig <--(base64)-- [signature] <--+
The only critical files are the (bzip-compressed) image, the (base64) signature, and the public key associated with the major release.
# Generate SHA2 checksum
openssl dgst -sha256 OPNsense-<filename>.img.bz2
# Decode base64-encoded signature
openssl base64 -d -in OPNsense-<filename>.img.bz2.sig -out tmp.sig
# Verify SHA2 checksum using signature signed by public key
openssl dgst -sha256 \
-verify OPNsense-<filename>.pub \
-signature tmp.sig \
OPNsense-<filename>.img.bz2
Be careful not to overlap DHCP pool with static addresses. The ISC DHCP router does not check if a static IP address has been assigned.
OPNsense by default deploys an NTP service:
iburst (which is a burst of 8), triggering kiss of death. Either disable this rate limit, or disable iburst from downstream (then restart "chrony").Consider installing CrowdSec plugin as well, a guide by ZenArmor.