¿Consideraciones de seguridad al abrir el puerto para un servicio?

0

Me gustaría alojar un servicio (escrito en C# ) en mi servidor y permitir que se acceda desde fuera de la red.

Sé que necesito abrir un puerto en el firewall para que esto funcione, y logré hacerlo, pero no tengo idea de qué tan seguro es esto.

¿Alguien puede aconsejar sobre las precauciones básicas que deben tomarse o indicarme un recurso que pueda ayudar?

Algunos detalles básicos:

  • Windows Server 2012
  • Servicio C # WCF
  • Alojado en IIS
  • Base de datos de MS Access
  • Sin SSL: no he logrado que esto funcione, pero los datos que se envían no son confidenciales, así que creo que esto debería estar bien.

He tomado algunas precauciones en el servicio en sí mismo, por ejemplo, he parametrizado las consultas / inserciones de la base de datos y debería poder pedirle al usuario que incluya algún tipo de nombre de usuario / contraseña en su mensaje.

También noté que en el firewall de Windows hay una opción Only allow connections from these computers bajo Remote Computers al crear una regla. ¿Qué tan confiable es esto?

Aprecio mucho cualquier ayuda, ¡ya que no tengo idea de por dónde empezar con esto!

    
pregunta Bassie 08.06.2017 - 14:54
fuente

1 respuesta

1
  

He tomado algunas precauciones en el servicio mismo, por ejemplo I   He parametrizado las consultas / inserciones de la base de datos y debería poder   pedir al usuario que incluya algún tipo de nombre de usuario / contraseña en su   mensaje.

Si les está pidiendo que pasen un nombre de usuario y / o una contraseña de orden al servicio, lo ideal es que se ejecute a través de HTTPS.

  

También noté que en el cortafuegos de Windows hay un permiso Solo   conexiones desde la opción de estos equipos en Equipos remotos cuando   creando una regla. ¿Qué tan confiable es esto?

Personalmente me atendría a las restricciones de IP si fuera un servicio público. Puede hacer una lista blanca o una lista negra de direcciones IP. La lista blanca es obviamente más segura.

  

Aprecio mucho cualquier ayuda, ya que no tengo idea de por dónde empezar.   esto!

Me aseguraría de que compruebe su servicio (aplicación) antes de publicarlo. Menciona que ha hecho algo de protección contra las opiniones de los usuarios, pero me gustaría dedicar un tiempo a probarlos lo más detalladamente posible; idealmente, pedirle ayuda a un tercero, ya que pueden detectar las cosas que perdió. Por ejemplo, asegúrese de que la autenticación que está utilizando sea sólida y de que su aplicación no tenga errores que puedan permitir que un atacante evite su control de acceso. p.ej. Compruebe que todas las rutas de servicio requieren la autenticación correcta y registre los intentos exitosos y fallidos para que pueda ver qué tipo de ataques se están probando.

Con respecto a la seguridad del servidor, se deben utilizar los mecanismos de protección habituales:

  • Cambiar cualquier contraseña predeterminada para el servidor / servicios
  • Elegir contraseñas seguras
  • Pruebe que solo los puertos abiertos están expuestos, cierre los puertos y los servicios que no son necesarios
  • Instale un buen AV
  • Parchea regularmente el sistema operativo y cualquier aplicación
  • Vuelva a probar regularmente lo anterior para asegurarse de que nada haya cambiado y haya expuesto accidentalmente su servidor y / o aplicación.
respondido por el ISMSDEV 08.06.2017 - 15:10
fuente

Lea otras preguntas en las etiquetas