No puedo evitar, pero siento que esto es un poco demasiado amplio, ya que haces 3 preguntas bastante abiertas, pero intentaré responder cada una de ellas:
-
El uso de una URL común para un área de administración no debería ser un problema. Sí, los scripts comunes de "piratería" intentarán explotaciones comunes contra las comunes, pero eso no debería inducirle a error a pensar que debería ocultar la dirección o que tiene una ganancia realmente apreciable en la seguridad de hacerlo. Este es un caso en el que se aplica el principio de Kerckhoffs: usted debe asumir que el atacante sabe dónde está la URL del administrador.
-
La encriptación (o, más específicamente, el hashing criptográfico) de la contraseña usando algo como bcrypt debería ser un paso estándar, ya que señala que ssl protegerá la contraseña en tránsito entre el cliente y el servidor, pero la hashing la contraseña la protege en reposo . El uso de SSL en el proceso de inicio de sesión no hace nada para protegerlo del atacante que compromete la base de datos y obtiene todas sus contraseñas de texto sin formato.
-
Realmente no puedo contestar esto sin conocer el caso de uso del sistema. Si solo se requiere una conexión desde una conexión, entonces la VPN con una IP fija puede agregar una capa adicional, con el riesgo de que señale que si pierde el acceso a esa conexión y no tiene otra manera de acceder al sistema lo suficiente como para cambiar eso. Restricción de IP entonces estás un poco jodido. Hay muchas formas de implementar fallos en este tipo de escenario, pero sin información mucho más detallada sobre los aspectos específicos del sistema y su propósito previsto, es un tema demasiado amplio para tratar aquí.