2010-02-05 106 views
84

我必须为公司构建小型web应用程序以维护其业务数据......只有公司内部的人员才会使用它,但我们计划将其托管在公共领域,以便员工可以从各个位置连接到应用程序。 (直到现在我已经构建了仅在内部托管的Web应用程序)如何使用https保护网站

我想知道我是否需要使用安全连接(https)或只是表单身份验证就足够了。

如果你说HTTPS,我有一些问题:

  1. 我应该做的准备我的网站HTTPS。 (我是否需要更改代码/配置)
  2. 是SSL和https之一并且相同...
  3. 我是否需要向某人申请才能获得某些许可或其他内容。
  4. 我需要做担保我的所有页面或仅在登录页面...

我正在寻找的答案互联网,但我没能得到所有这些问题...任何白皮书或其他参考也将有所帮助...

随意问你incase你需要更多的信息。

感谢

  • 拉贾
+0

大家好......谢谢大家......所有的答案都非常有帮助......在这里选择一个答案是不公平的(因此必须为这样的场合提供一个规定)。因此,我选择了一个答案,并提出了其他答案......所选答案与其他答案同等重要... – 2010-02-05 10:48:32

+3

根据信息的机密性(例如,个人信息可能受到联邦法律)以及你与公司有什么关系和合同,你可能会想到如果有人攻击该网站,你是否会承担责任。 – huynhjl 2010-02-05 14:23:26

+0

在您的服务器上安装了证书之后,要将https添加到IIS中的网站中,您只需转到该网站并选择“编辑绑定”,选择https,然后选择证书即可。 – bgmCoder 2018-02-24 15:01:49

回答

48

我应该做的准备我的HTTPS网站 。 (我需要改变 代码/配置)

你应该保持最佳实践记(这里是一个很好的介绍:http://www.owasp.org/index.php/Secure_Coding_Principles)的安全编码,否则,所有你需要的是一个正确设置SSL证书。

是SSL和HTTPS同一个..

好看多了,是的。

我需要向某人申请获得 某些许可或其他东西。

您可以从证书颁发机构购买SSL证书或使用自签名证书。你可以购买的价格差异很大 - 每年从10美元到数百美元不等。例如,如果您设置了在线商店,则需要其中的一个。自签名证书是内部应用程序的可行选项。你也可以使用其中的一种进行开发。下面是关于如何设置的IIS自签名证书一个很好的教程:Enabling SSL on IIS 7.0 Using Self-Signed Certificates

我需要让我的所有网页安全 或仅在登录页面..

使用HTTPS一切,不仅仅是最初的用户登录。这不会造成太大的开销,它将意味着用户从远程托管的应用程序发送/接收的数据如果被拦截,则外部各方无法读取这些数据。即使Gmail默认开启了HTTPS。

+1

您还可以获得免费的TLS证书,即从[让我们加密](https:/ /letsencrypt.org/) – 1615903 2017-07-11 04:33:17

3

对于业务数据,如果数据是私有的,我会用一个安全连接,否则窗体身份验证就足够了。

如果您决定使用安全连接,请注意我没有保护网站的经验,我只是回避了我在自己的个人经历中遇到的情况。如果我错了,请随时纠正我。

我应该怎么做才能为我的网站准备https。 (我是否需要更改代码/配置)

为了使SSL (Secure Sockets Layer)为您的网站,您将需要建立一个证书,代码或配置没有改变。

我已使用来自this online tutorialOpenSSLActivePerl为内部Web服务器启用了SSL。如果这是为更多的观众(我的观众少于10人),并在公共领域,我建议寻求专业的选择。

是SSL和HTTPS同一个...

不完全是,但他们结伴而行! SSL确保数据在查看网站时被加密和解密,https是需要访问安全网站的URI。当您尝试访问http://secure.mydomain.com时,您会注意到它会显示一条错误消息。

我需要申请与某人获得一些许可或什么。

您不需要获得许可证,而是获得证书。您可以查看公司提供的专业服务与安全网站,例如VeriSign作为示例。

我需要做担保我的所有页面或仅在登录页面...

您的证书为mydomain.com使每一个*.mydomain.com下属于将被固定页面。

1

4.Do我需要保护我的所有页面或仅在登录页面...

只要保持在登录页面下HTTPS

这将确保没有开销浏览其他网页时。条件是您需要在Web配置中提供正确的身份验证设置。这是为了确保没有登录的用户无法浏览需要认证的页面。

+2

仅在TLS下为您的网站提供服务是不安全的。主动攻击者可以使用SSLStrip并访问所谓的受保护页面。 – Tobu 2015-01-20 16:16:27

8

什么样的业务数据?商业机密或者只是他们不希望人们看到的东西,但如果它出来了,这不会是什么大不了的事情?如果我们谈论商业秘密,财务信息,客户信息和通常是保密的东西。那么甚至不要走这条路。

我不知道我是否需要使用 安全连接(HTTPS)或仅 窗体身份验证就足够了。

一路使用安全连接。

我是否需要更改代码/配置

是。好的可能不是。你可能想让一位专家为你做这件事。

是SSL和HTTPS同一个...

大多是。人们通常将这些事情称为同一事物。

我需要申请与某人获得一些许可或什么。

您可能希望让您的证书由证书颁发机构签名。这会花费你或你的客户一点钱。

我需要做担保我的所有页面或仅在登录页面...

使用HTTPS贯穿始终。如果网站面向内部用户,性能通常不是问题。

我正在寻找互联网上的答案, 但我没能获得所有这些 点...任何白皮书或其他 引用也将是有益的......

开始这里一些指针:http://www.owasp.org/index.php/Category:OWASP_Guide_Project

请注意,SSL是一个很小的部分,使您的网站一旦可以从互联网上获得安全。它并不能阻止大多数黑客行为。

+0

+1有关通过询问信息是否非常机密以及建议不将其在线的方式提供有关保护所有方式和防止灾难的声音建议 – BlueTrin 2010-02-05 09:27:42

7

我认为你对你的网站身份验证和SSL感到困惑。

如果您需要将您的网站转换为SSL,那么您需要在您的Web服务器上安装SSL证书。您可以从赛门铁克等其中一个地方为自己购买证书。证书将包含您的公钥/私钥对以及其他内容。

您不需要在源代码中执行任何操作,而且您仍然可以继续在您的站点中使用表单验证(或任何其他)。只是,Web服务器和客户端之间发生的任何数据通信都将使用您的证书进行加密和签名。人们会使用secure-HTTP(https://)访问您的网站。

查看本作的详细信息 - >http://en.wikipedia.org/wiki/Transport_Layer_Security

1

@balalakshmi提到了正确的认证设置。身份验证只是问题的一半,另一半是授权。

如果您使用表单身份验证和标准控件(如<asp:Login>),则需要执行几项操作才能确保只有经过身份验证的用户才能访问受保护的页面。

web.config,下<system.web>部分,你需要在默认情况下禁用匿名访问:

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

将被匿名访问的任何页面(如页面的Login.aspx本身)将需要有重新允许匿名访问的覆盖。这需要<location>元素,并且必须位于<configuration>水平(<system.web>部分),像这样:

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

请注意,您还需要允许任何样式表或脚本匿名访问该正在使用的匿名页面:

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

注意位置的path属性是相对于web.config文件夹,不能有~/前缀,不像大多数另一个是对ath型配置属性。

-2

尝试在

<?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 
} 
?> 

那主要是制作引导目录在PHP中,如!

+3

这其实并不真正回答这个问题 – Andreas 2013-11-14 23:04:58