Crea un utente non root esegui la tua app con quell'utente.
Imposta il blocco ufw (non complicato) a prescindere da SSH, http e HTTPS. Questo è molto più semplice di iptables (imo).
Disabilita autenticazione password SSH. Imposta le chiavi, usale solo.
Inoltre configura Fail 2 Ban per monitorare i registri e intraprendere qualsiasi azione aggiuntiva che potresti desiderare (lista nera di IP ecc.)
Ci sono molte guide online per indurire Ubuntu, questi sarebbero i miei passi obbligati. Consiglierei le guide di Linode di solito sono di buona qualità ( link ).
Tieni anche presente che anche senza un nome di dominio, se la tua app era in esecuzione sulle probabilità remote, è già stata rilevata e verificata sulla base di IP: solo porta. Farei tutti questi passaggi non appena il provisioning del server.