2010-02-05 17 views
84

Tengo que crear una pequeña aplicación web para que una empresa mantenga sus datos comerciales ... Solo los que están dentro de la empresa la usarán, pero estamos planeando alojarla en dominio público, para que los empleados puedan conectarse a la aplicación desde varios lugares. (Hasta ahora he creado aplicaciones web alojadas internamente únicamente)Cómo hacer que un sitio web esté protegido con https

Me pregunto si necesito usar una conexión segura (https) o simplemente la autenticación de formularios es suficiente.

Si dice https, tengo algunas preguntas:

  1. ¿Qué debo hacer para preparar mi sitio web para https. (¿Tengo que modificar el código/Config)
  2. SSL y https son los mismos ...
  3. ¿Debo solicitarlo a alguien para obtener una licencia o algo así?
  4. ¿Es necesario hacer todos mis páginas seguras o sólo la página de inicio de sesión ...

yo estaba buscando en Internet para la respuesta, pero no fue capaz de obtener todos estos puntos ... Cualquier documento técnico u otro las referencias también serían útiles ...

No dude en preguntar en caso de que necesite más información.

Gracias

  • Raja
+0

Hola a todos ... Gracias a todos ... Todas sus respuestas fueron de gran ayuda ... Sería injusto seleccionar una respuesta aquí ... (SO debe tener una disposición para tales comentarios). por lo tanto, seleccioné una respuesta y valoré las otras ... La respuesta seleccionada es tan importante como otras respuestas ... –

+3

Trabajo adicional de precaución, dependiendo de cuán confidencial sea la información (por ejemplo, la información personal puede estar sujeta al estado de ley federal) y qué relación y contrato tienes con la compañía, es posible que quieras pensar si serías responsable si alguien piratea el sitio. – huynhjl

+0

Una vez que tenga el certificado instalado en su servidor, para agregar https a su sitio web en IIS, todo lo que tiene que hacer es ir al sitio y "Editar enlaces", elegir https y elegir el certificado. – bgmCoder

Respuesta

48

¿Qué debo hacer para preparar a mi página web para https. (¿Es necesario modificar la código/Config)

usted debe tener las mejores prácticas de codificación segura en cuenta (en este caso es 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.

es SSL y HTTPS uno y el mismo ..

Más o menos, sí.

¿Debo solicitarlo con alguien para obtener alguna licencia o algo así.

Puede comprar un certificado SSL de una autoridad de certificación o utilizar un certificado autofirmado. Los que puede comprar varían enormemente en precio: de $ 10 a cientos de dólares al año. Necesitaría uno de esos si configura una tienda en línea, por ejemplo. Los certificados autofirmados son una opción viable para una aplicación interna. También puede usar uno de esos para el desarrollo. Aquí hay un buen tutorial sobre cómo configurar un certificado autofirmado para IIS: Enabling SSL on IIS 7.0 Using Self-Signed Certificates

¿Es necesario hacer todos mis páginas aseguradas o sólo la página de inicio de sesión ..

uso de HTTPS para todo, no solo el inicio de sesión del usuario. No va a ser una sobrecarga y significará que los datos que los usuarios envían/​​reciben de su aplicación remotamente alojada no pueden ser leídos por terceros si se interceptan. Incluso Gmail ahora activa HTTPS de forma predeterminada.

+1

También puede obtener certificados TLS gratuitos, es decir, desde [Encriptar] (https://letsencrypt.org/) – 1615903

3

Para los datos de negocio, si los datos son privados me gustaría utilizar 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, solo estoy retractando lo que encontré durante mi experiencia personal. Si me equivoco de todos modos, siéntete libre de corregirme.

¿Qué debo hacer para preparar mi sitio web para https. (¿Es necesario modificar el código/Config)

A fin de que SSL (Secure Sockets Layer) para su sitio web, usted tendría que configurar un certificado, código o configuración no se altera.

He habilitado SSL para un servidor web interno, usando OpenSSL y ActivePerl desde this online tutorial. Si esto se usa para un público más amplio (mi audiencia era de menos de 10 personas) y es de dominio público, sugiero buscar alternativas profesionales.

es SSL y HTTPS uno y el mismo ...

No exactamente, pero que van de la mano! SSL garantiza que los datos se cifran y descifran mientras usted visita el sitio web, https es el URI que se necesita para acceder al sitio web seguro. Cuando intente acceder al http://secure.mydomain.com, verá un mensaje de error.

¿Debo aplicar con alguien para obtener una licencia o algo así.

No necesita obtener una licencia, sino un certificado. Puede buscar en empresas que ofrecen servicios profesionales con sitios web seguros, como VeriSign como ejemplo.

¿Es necesario hacer todos mis páginas seguras o sólo la página de inicio de sesión ...

Una vez que el certificado está habilitado para mydomain.com cada página que se encuentra bajo *.mydomain.com será asegurado.

1

4.Do necesito para hacer todas mis páginas seguras o sólo la página de inicio de sesión ...

Hemos de tener la página de inicio de sesión bajo https

esto asegurará no hay ninguna sobrecarga cuando se navega 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 están conectados no puedan buscar páginas que necesiten autenticación.

+2

Servir solo parte de su sitio bajo TLS es inseguro. Un atacante activo puede usar SSLStrip y tener acceso a páginas supuestamente protegidas. – Tobu

8

¿Qué tipo de datos de negocio ? Secretos comerciales o simplemente cosas que no quieren que la gente vea, pero si salieran, ¿no sería un gran problema? Si hablamos de secretos comerciales, información financiera, información del cliente y cosas que generalmente son confidenciales. Entonces ni siquiera vayas por esa ruta.

Me pregunto si necesito utilizar un conexión segura (https) o sólo la autenticación de formularios es suficiente.

Use una conexión segura hasta el final.

¿Es necesario modificar el código/Config

Sí. Bueno, puede ser que no. Es posible que desee que un experto haga esto por usted.

es SSL y HTTPS uno y el mismo ...

mayormente sí. La gente generalmente se refiere a esas cosas como la misma cosa.

¿Debo aplicar con alguien para obtener una licencia o algo así.

Es probable que desee que su certificado esté firmado por una autoridad de certificación. Le costará a usted o a su cliente un poco de dinero.

¿Es necesario hacer todos mis páginas seguras o sólo la página de inicio de sesión ...

utilizar HTTPS en todas partes. El rendimiento no suele ser un problema si el sitio está destinado a usuarios internos.

yo estaba buscando en Internet para la respuesta, pero no era capaz de conseguir todos estos puntos ... Cualquier documento técnico u otras referencias también serían útiles ...

de inicio aquí para algunos punteros: 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 es accesible desde Internet. No evita la mayoría del tipo de piratería.

+0

+1 para obtener consejos sobre cómo proteger todo el camino y evitar un desastre al preguntar si la información es muy confidencial y recomendar no ponerlo en línea – BlueTrin

7

Creo que se está confundiendo con su sitio Autenticación y SSL.

Si necesita instalar su sitio en SSL, entonces deberá instalar un certificado SSL en su servidor web. Puede comprar un certificado para usted desde uno de los lugares como Symantec, etc. El certificado contendrá su par de claves pública/privada, junto con otras cosas.

No necesitará hacer nada en su código fuente, y aún puede seguir utilizando la autenticación de su 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.

Ver esto para más información ->http://en.wikipedia.org/wiki/Transport_Layer_Security

1

@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 Autenticación de formularios y controles estándar como <asp:Login>, deberá hacer algunas cosas para asegurarse de que solo los usuarios autenticados puedan acceder a las páginas seguras.

En web.config, en la sección <system.web> tendrá que deshabilitar el acceso anónimo por defecto:

<authorization> 
<deny users="?" /> 
</authorization> 

Las páginas que se accederá de forma anónima (como la página en sí Login.aspx) tendrá que tener una anulación que permite nuevamente el acceso anónimo. Esto requiere un elemento <location> y debe estar ubicado en el nivel <configuration> ( fuera de la sección <system.web>), así:

<!-- Anonymous files --> 
<location path="Login.aspx"> 
<system.web> 
    <authorization> 
    <allow users="*" /> 
    </authorization> 
</system.web> 
</location> 

Tenga en cuenta que también tendrá que permitir el acceso anónimo a cualquier hoja de estilo o scripts que son utilizados por las páginas anónimas:

<!-- Anonymous folders --> 
<location path="styles"> 
<system.web> 
    <authorization> 
    <allow users="*" /> 
    </authorization> 
</system.web> 
</location> 

tenga en cuenta que el atributo de la ubicación path es relativa a la carpeta web.config y no puede tener un prefijo ~/, a diferencia de la mayoría de otros p atributos de configuración tipo ath.

-2

intentar 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 todo él!

+3

Eso realmente no responde realmente la pregunta – Andreas

Cuestiones relacionadas