My suggestion (which I've made more than once on this site) is a 12-hour time limit for shields.
This allows for potentially up to 3x attacks on every opponent city per 36-hour war.
18 hours is a bit too stingy.
But having no limit is not working. It is frustrating individuals and teams.
I know why EA allows it. Strangling growth by denying fighting means we all "earn" less free reward chests. So it means we have to reach into our wallets and purchase disaster cards if we want to upgrade our disasters more quickly.
I get it. But what EA fails to grasp, is that there is a very fine balance between monetizing the game, and killing the fun. They've been killing the fun since the introduction of wars in October 2017 because of the unlimited shield. Please put in a timer, which has been heavily demanded by your clients. And please make it 12 hours, not 18.
Thanks,
Modern Thinker (IGN: The Urban Playground/Warlord/Legend/...)