Eu não responderei a sua pergunta porque acho que você pode ver mais problemas com ntpd do que realmente existem:
I can't use ntp as I've read it requires an input port to be opened in the firewall but I don't have control on the external firewall.
Você parece acreditar que precisa fazer algo com seu firewall para que o ntpd funcione corretamente. Isso não é verdade: ntpd abrirá a porta UDP 123 não importando o que você fizer, mesmo que você use iptables para bloqueá-la explicitamente, desde que você permita o tráfego estabelecido como de costume. A razão é óbvia: ntpd começa a comunicação com os servidores, suas respostas são então vistas como conexões ESTABLISHED , que todo firewall que se preze permitir.
Assim, não há razão para temer, você pode simplesmente instalar o ntpd no seu sistema / conta. Se você precisar de mais informações sobre como proteger seu computador com mais segurança, o sempre útil Wiki do Arch tem esta resposta eloquente ataraxia .
EDITAR:
Sob a hipótese de que o firewall atrás do qual você se encontra está realmente bloqueando todas as portas de saída, exceto a porta TCP 80 (isso soa mais como um bloqueio do que um firewall, mas não importa), há outra solução, tlsdate , que usa a porta TCP 443 (normalmente não bloqueada, se a porta TCP 80 for permitida). Sua página man diz:
tlsdate is a tool for setting the system clock by hand or by communication with the network. It does not set the Real Time Clock. It is designed to be as secure as TLS (RFC 2246) but of course the security of TLS is often reduced to which‐ ever CA racket you believe is trustworthy. By default, tlsdate trusts your local CA root store - so any of these compa‐ nies could assist in a MITM attack against you and you'd be screwed.
This tool is designed to be run by hand or as a system daemon. It must be run as root or otherwise have the proper caps; it will not be able to set the system time without running as root or another privileged user.