Ao executar rc0.d e rc6.d , init chama stop operation para scripts. Dessa forma, o script sabe se deve começar ou parar.
Pelo menos no meu Debian existe /etc/rcS.d/S14ufw , que começa ao mesmo tempo com interfaces ( S14networking ). Se isso for problema (pode haver muito pouco tempo com as interfaces up e firewall down), você pode movê-lo para S13ufw , por exemplo, em rcS.d .
Você pode querer ver também man update-rc.d .