我们刚刚使用.NET MVC框架为我公司开发了一个新网站。支持我们应用程序的sql server拥有一些关键数据,例如其他Web用户的配置文件,我们希望确保这些数据不会因为公司的声誉风险而泄露。
我们有很多想法可以保护我们的网站,但我希望得到stackoverflow。我们将使用SSL进行登录屏幕,并防止出现基本的附加方法,例如sql注入,跨站点脚本攻击。
然而,我们担心使用某些漏洞利用物理机器被接管。我们将在DMZ中运行Web服务器(带有IIS7的Windows Server 2008 SP2),只有端口80和443在Internet上打开。目前sql server位于webserver机器上,但我们正在考虑这是否存在安全风险。将sql server托管在第二个DMZ中的机器中是否有助于安全性?
我们还考虑在一个DMZ中使用运行带有mod_proxy的Apache的Ubuntu框,它将80或443个请求“重定向”到第二个DMZ中的单独的Windows机器,它将执行Web服务和sql服务器托管。
我们得到的其他一些建议是使用WatchGuard等产品,它可以显然过滤http数据包以符合标准,从而阻止狡猾的数据包到达网络服务器。
我们还应该寻求其他什么?
由于
答案 0 :(得分:3)
仅允许80和443是一个非常好的主意。 DMZ代表非军事区,这是为了在所有流量都可以访问的NAT上定义一台机器,应该避免这种情况。允许SQL Server和端口445会让你被黑客攻击,毕竟你正在运行Windows并且只是时间问题才会出现另一个RPC漏洞。
您必须做的最重要的事情是测试您的安全。它不足以说你正在阻止xss和sql注入。必须证明所有安全系统都可以阻止攻击。
您如何测试您的系统?我喜欢Acunetix,但价格过高,但有一个free xss tester。对于SQL注入和其他漏洞,我建议使用免费的Wapiti。我建议使用OpenVAS,它是Nessus的新开源版本,现在是商业产品。 OpenVAS会告诉您服务器配置是否错误或是否运行旧软件。您应该对系统执行完整端口扫描以测试防火墙,此命令将起作用nmap -sT -p 1-65535 domain.com
,这也可以通过OpenVas完成。
测试完系统后。然后安装Web应用程序防火墙,mod _ secuirty是Apache的不错选择,您可以使用反向代理来使mod_security与IIS一起使用。 Aqtronix是为IIS构建的开源WAF,但我还没有使用它。
答案 1 :(得分:0)
1-必须在表格中加密关键数据。
2-注意所有类型的SQL注入。
3-加密web.config文件中的连接字符串