SimonCropper wrote: [1] Things I found that will not work properly are - (a) ComfortUpdate will not work; (b) Emails will not work so administrators are harder to add; (c) you can't survey people outside your network.
Do you want to use these functions?
I personally don't like the concept, that comfortupdate is connecting to the external server when logging in as a user. That is causing issues very often. The connection parts are often laggy (same issues when you let emails sent when a survey is submitted and the mailserver connection has a issue. Than the submission of an interviews is not directly finished.
To separate database from webapplication and place them in different networkzones is unrelated to certain functions. For comfortupdate and emailtransport you wouldn't need to place LimeSurvey in a DMZ. The DMZ is recommend (not needed), when you want externals to access the LimeSurvey application from the internet. As long as a connection string is on webserver inside the DMZ, a hacker could reach the database via a hack of the LimeSurvey server inside the DMZ.
WAN <-Packetfilter-> DMZ <Packetfilter> LAN
WAN <-Packetfilter-> LAN
The attack vector is getting credentials. If the hacker is in the DMZ, grabbing credentials from users or database connections will be enough to create a full database dump easily. No matter where the database is placed.