Tengo que crear una pequeña aplicación web para que una empresa mantenga sus datos comerciales ... Solo aquellos dentro de la empresa la usarán, pero estamos planeando alojarla en el dominio público, para que los empleados puedan conectarse a la aplicación desde varias ubicaciones. . (Hasta ahora he creado aplicaciones web que se alojan solo internamente)
Me pregunto si necesito usar una conexión segura (https) o solo la autenticación de formularios es suficiente.
Si dices https, tengo algunas preguntas:
- ¿Qué debo hacer para preparar mi sitio web para https. (¿Necesito modificar el código / configuración)
- Es SSL y https uno y lo mismo ...
- ¿Necesito presentar una solicitud con alguien para obtener una licencia o algo?
- ¿Necesito asegurar todas mis páginas o solo la página de inicio de sesión ...
Estaba buscando una respuesta en Internet, pero no pude obtener todos estos puntos ... Cualquier documento técnico u otras referencias también serían útiles ...
No dude en preguntar en caso de que necesite más información.
Gracias
- Raja
asp.net
ssl
https
asp.net-2.0
El rey
fuente
fuente
Respuestas:
Debe tener en cuenta las mejores prácticas para la codificación segura (aquí hay una buena introducción: http://www.owasp.org/index.php/Secure_Coding_Principles ), de lo contrario, todo lo que necesita es un certificado SSL configurado correctamente.
Prácticamente sí.
Puede comprar un certificado SSL de una autoridad certificadora o utilizar un certificado autofirmado. Los que puede comprar varían enormemente en precio, desde $ 10 hasta cientos de dólares al año. Necesitaría uno de esos si crea una tienda en línea, por ejemplo. Los certificados autofirmados son una opción viable para una aplicación interna. También puede utilizar uno de esos para el desarrollo. Aquí hay un buen tutorial sobre cómo configurar un certificado autofirmado para IIS: Habilitación de SSL en IIS 7.0 mediante certificados autofirmados
Use HTTPS para todo, no solo para el inicio de sesión inicial del usuario. No será una sobrecarga y significará que los datos que los usuarios envían / reciben de su aplicación alojada remotamente no pueden ser leídos por terceros si son interceptados. Incluso Gmail ahora activa HTTPS de forma predeterminada.
fuente
¿Qué tipo de datos comerciales ? ¿Secretos comerciales o simplemente cosas que no quieren que la gente vea, pero si saliera, no sería gran cosa? Si hablamos de secretos comerciales, información financiera, información del cliente y cosas que generalmente son confidenciales. Entonces ni siquiera sigas ese camino.
Utilice una conexión segura en todo momento.
Si. Bien puede que no lo sea. Es posible que desee que un experto lo haga por usted.
Mayormente sí. La gente suele referirse a esas cosas como lo mismo.
Probablemente desee que su certificado esté firmado por una autoridad certificadora. Le costará a usted oa su cliente un poco de dinero.
Utilice https en todas partes. El rendimiento no suele ser un problema si el sitio está destinado a usuarios internos.
Comience aquí para obtener algunos consejos: http://www.owasp.org/index.php/Category:OWASP_Guide_Project
Tenga en cuenta que SSL es una pieza minúscula para hacer que su sitio web sea seguro una vez que sea accesible desde Internet. No evita la mayoría de los tipos de piratería.
fuente
Creo que se está confundiendo con la autenticación de su sitio y SSL.
Si necesita convertir su sitio en SSL, deberá instalar un certificado SSL en su servidor web. Puede comprar un certificado para usted en uno de los lugares como Symantec, etc. El certificado contendría su par de claves pública / privada, junto con otras cosas.
No necesitará hacer nada en su código fuente y aún puede continuar usando su autenticación de formulario (o cualquier otro) en su sitio. Es solo eso, cualquier comunicación de datos que tenga lugar entre el servidor web y el cliente será encriptada y firmada usando su certificado. La gente usaría HTTP seguro (https: //) para acceder a su sitio.
Vea esto para obtener más información -> http://en.wikipedia.org/wiki/Transport_Layer_Security
fuente
Para los datos comerciales, si los datos son privados, usaría una conexión segura; de lo contrario, una autenticación de formularios es suficiente.
Si decide utilizar una conexión segura, tenga en cuenta que no tengo experiencia en la protección de sitios web, simplemente me estoy retractando de lo que encontré durante mi propia experiencia personal. Si me equivoco de alguna manera, no dude en corregirme.
Para habilitar SSL (Secure Sockets Layer) para su sitio web, debe configurar un certificado, el código o la configuración no se modifican.
He habilitado SSL para un servidor web interno, usando OpenSSL y ActivePerl de este tutorial en línea . Si esto se usa para una audiencia más grande (mi audiencia era menos de 10 personas) y es de dominio público, sugiero buscar alternativas profesionales.
No exactamente, ¡pero van de la mano! SSL garantiza que los datos se cifren y descifren de un lado a otro mientras visualiza el sitio web,
https
es el URI que se necesita para acceder al sitio web seguro. Notarás que cuando intentas acceder ahttp://secure.mydomain.com
él se muestra un mensaje de error.No necesitaría obtener una licencia, sino un certificado. Puede buscar empresas que ofrezcan servicios profesionales con sitios web seguros, como VeriSign como ejemplo.
Una vez que su certificado esté habilitado para
mydomain.com
cada página que caiga*.mydomain.com
, estará protegida.fuente
¿Necesito asegurar todas mis páginas o solo la página de inicio de sesión?
Simplemente mantenga la página de inicio de sesión en https
esto asegurará que no haya gastos generales al navegar por otras páginas. la condición es que debe proporcionar la configuración de autenticación correcta en la configuración web. Esto es para garantizar que los usuarios que no hayan iniciado sesión no puedan navegar por las páginas que necesitarían autenticación.
fuente
@balalakshmi mencionó la configuración de autenticación correcta. La autenticación es solo la mitad del problema, la otra mitad es la autorización.
Si está utilizando la autenticación de formularios y controles estándar,
<asp:Login>
hay un par de cosas que deberá hacer para asegurarse de que solo sus usuarios autenticados puedan acceder a páginas seguras.En
web.config
, en la<system.web>
sección, deberá deshabilitar el acceso anónimo de forma predeterminada:<authorization> <deny users="?" /> </authorization>
Cualquier página a la que se acceda de forma anónima (como la propia página Login.aspx) deberá tener una anulación que vuelva a permitir el acceso anónimo. Esto requiere un
<location>
elemento y debe estar ubicado en el<configuration>
nivel ( fuera de la<system.web>
sección), así:<!-- Anonymous files --> <location path="Login.aspx"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
Tenga en cuenta que también deberá permitir el acceso anónimo a cualquier hoja de estilo o script que utilicen las páginas anónimas:
<!-- Anonymous folders --> <location path="styles"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
Tenga en cuenta que el
path
atributo de la ubicación es relativo a laweb.config
carpeta y no puede tener un~/
prefijo, a diferencia de la mayoría de los demás atributos de configuración de tipo de ruta.fuente
Intente hacer un directorio de arranque en PHP, como en
<?PHP $ip = $_SERVER['REMOTE_ADDR']; $privacy = ['BOOTSTRAP_CONFIG']; $shell = ['BOOTSTRAP_OUTPUT']; enter code here if $ip == $privacy { function $privacy int $ip = "https://"; } endif { echo $shell } ?>
¡Eso es principalmente!
fuente