Stick to general principles:- do not host services on your firewall. DNS, DHCP, Proxy, etc. can all run on external serversWould this mean that I would need 2 boxes one runninng opnserve and the other running all the other services like DHCP, proxy, antivirus etc.How would the 2 boxes be wired up then, will the internet cable directly be connected to the firewall box, and then the lan cable of the firewall box be connected to the other server where the services are running? - minimise the number of inbound firewall rules. Use a VPN for external access where possibleFor this do you mean that I should only keep port 80 open and block other ports? Is Opnsense configured like so by default? VPN is one of the features that can be enbaled in OPNSense, so I guess you are saying that I could enable and use that on the same box as the firewall.- split your network into segments that don't interact outside the firewall. E.g. clients, IoT, guests, servers and managementok, got it- patch all network clients and servers with security updates. Try them on test servers for important servicesWould I need to manually check for security updates or does OPNsense do that periodically.OPNsense already has a hardened base OS, so you have a head start.Good to know that,Bart...
The OPNsense box needs interfaces to all the segments of your network. You can do this in several ways:- Have separate NIC's connect to separate switches (expensive)- Use VLAN separation on the managed switch(es) and possibly OPNsense- Virtualise the firewall and present different virtual switch interfacesIt is up to you which services you want to run on the firewall. You will need other devices if you want to self host. Raspberry Pi servers are fine for small networks. Your servers are best protected in their own segment but you could have them on the LAN as well if there you trust your LAN based clients.Do not run anything on port 80 if you can help it, other than to redirect clients to 443. There's a whole raft of HTTP exploits that are fixed by HTTPS. Letsencrypt reduced the certificate cost to just effort.The default port for VPN depends on the choice of software. OpenVPN is a good compromise between available documentation and client OS support. It can also share a port with an HTTPS connection to overcome restrictive client-side firewalls.A very long time ago I wrote a script that emails you when there are OPNsense updates but it is much more fun to follow this forum ;-) The OPNsense twitter feed also notifies of patches.Bart...