Crea un usuario no root y ejecuta tu aplicación bajo ese usuario.
Configura el bloque ufw (cortafuegos no complicado), todos aparte de SSH, http y HTTPS. Esto es mucho más fácil que iptables (imo).
Deshabilita la contraseña de SSH. Configurar claves, usarlas solo.
Además, configure Fail 2 Ban para monitorear los registros y tomar las acciones adicionales que desee (listas negras de IP, etc.).
Hay muchas guías en línea para fortalecer Ubuntu, estos serían mis pasos "obligatorios". Recomendaría las guías de Linode ya que generalmente son de buena calidad ( enlace ).
También tenga en cuenta que incluso sin un nombre de dominio, si su aplicación se estaba ejecutando en el control remoto, es probable que ya se haya encontrado y comprobado en función de IP: solo el puerto. Haría todos estos pasos tan pronto como el servidor se aprovisione.