我们刚刚使用.NET MVC框架为我的公司开发了一个新网站。支持我们应用程序的sql服务器保存了一些关键数据,例如其他web用户的个人资料,我们希望确保这些数据永远不会因为公司的声誉风险而泄露。
我们有一些想法来做一些事情来保护我们的网站,但我想让stackoverflow对他们采取。我们将为登录屏幕使用SSL,并防止基本的附加方法,如sql注入,跨站点脚本攻击。
然而,我们担心物理机会被利用某些漏洞接管。我们将在DMZ中运行We服务器(带有IIS7的Windows Server2008 SP2 ),只有80和443端口对互联网开放。目前,sql服务器位于we服务器机器上,但我们正在考虑这是否存在安全风险。在第二个DMZ中的机器上托管sql服务器是否有助于安全性?
我们还考虑在一个DMZ中使用运行Apache和mod_proxy的Ubuntu机器,它将把80或443个请求“重定向”到另一个DMZ中的独立windows机器,该机器将进行web服务和sql server托管。
我们得到的其他一些建议是使用WatchGuard之类的产品,该产品显然可以过滤http数据包以符合标准,从而阻止不可靠的数据包到达we服务器。
我们还应该保护哪些其他东西呢?
谢谢
发布于 2010-03-03 00:17:18
只允许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是一个很好的选择,你可以使用反向代理来使mod_security与IIS一起工作。Aqtronix是为IIS构建的开源网站管家,但我还没有使用过它。
发布于 2010-03-02 17:46:25
1-表中的关键数据必须加密。
2-注意所有类型的SQL注入。
3-加密web.config文件中的连接字符串
https://stackoverflow.com/questions/2362137
复制相似问题