asp.net网站安全从小做起与防范小结


以下都以ASP.NET开发网站为例。

1、sql注入漏洞。

解决办法:使用存储过程,参数不要用字符串拼接。简单改进办法:使用SqlHelper和OledbHelper

2、跨站脚本漏洞

解决办法:“默认禁止,显式允许”的策略。具体参考:从客户端检测到有潜在危险的Request.Form值,禁止提交html标记(<>等被转义成<)

3、上传漏洞

解决办法:禁止上传目录的运行权限。只给读取权限。另外要禁止上传非法类型文件。不仅仅是aspx类型,包括很多,甚至htm、html类型文件也不应该直接上传保存。

4、数据库连接帐号,尽量使用最低权限的帐号。一定不要给管理员权限。

假如被黑客得知了数据库的密码。
那我们就可以执行任意系统命令了。
例如:xp_cmdshell 'dir c:\'
另外还有
tasklist
taskkill
pslist
pskill
net user
net user guest /active:yes
net user hack hack /add
net user hack /del
net localgruop administrators hack /add
query user
logoff 1
这些命令是不是很恐怖?呵呵。所以一定不要给web数据库连接帐号管理权限。

5、用户登录。这里不要把用户标识明文存储在cookie里,以用来标识用户是否登录。因为cookie是可以被修改的。请看这里的修改cookie,冒充其他用户。nc httpwatch使用视频教程,用微软的Forms窗体身份验证和角色一般情况都够用了。

6、如果网站程序中用到读写文件,一定要慎重,因为读取的操作很可能被黑客利用,例如用一个查看图片的aspx文件读取web.config,用一个生产模板的功能生成木马。

7、充分利用验证码。用户登录、评论等等可能会被提交垃圾信息的地方,都要使用验证码,而且要有一个安全的验证码。才能防止被暴力破解,防止网站充满垃圾数据。

8、代码要严谨,修改用户资料、修改用户数据都要跟用户关联起来,比如update news set title='新的标题' where id=新闻编号,这里还要加一个限制:userid=用户编号,这样可以防止一个人修改别人的新闻。

9、关闭web.config中的错误显示。<customErrors mode="RemoteOnly" defaultRedirect="404.aspx"></customErrors>

以上是程序方面的安全问题,想到哪里就写到哪里。没有系统的整理。

另外顺便提提服务器安全问题。

1、开启windows防火墙,关闭不用的端口。这点是最重要的。就是说你提供的服务越少,你的服务器就越安全。

2、设置安全的密码。复杂度要达到一定强度。定期修改密码。密码不要泄露给别人,包括机房管理员。如果必要告诉机房人员,待机房人员用完密码以后立刻改掉。

3、安装ARP防火墙。机房里ARP病毒非常多,如果中了ARP病毒,轻者浏览网站不正常,可能有木马跟随。严重的就整个网站、机房都断网了。

4、适当的安装杀毒软件。(诺顿、麦咖啡等)

5、IIS关闭不用的服务,例如asp支持,关闭不用的服务:ftp,smtp,pop3等等,修改网站根目录。设置目录权限。

6、针对各种攻击,有不同的对策,例如cc攻击。曾经遇到一次,深圳那边有5台连续IP的机器对我的一个视频站发动CC攻击,导致网站打开非常的慢,开始我们还不知道是被攻击,以为程序有漏洞,不停的找程序的问题。后来通过服务器安全管理软件,查出是这些IP在作怪,通过站长屏蔽IP访问的几种方法中提到的“本地安全策略”方法屏蔽掉这5个IP以后服务器恢复正常,网站恢复了往日的速度。

常用命令:iisapp -a,netstat -nao,tasklist,telnet xxx.xxx.xxx.xxx 端口

7、远程管理软件不要用默认端口,虽然密码被暴力破解和猜到的可能很小,但是总是有无聊的人尝试。造成日志里一堆垃圾信息。修改端口以后就没有人尝试破解密码了。因为他跟不知道这个端口是做什么的。谈到这里,我想起,不用的服务要关闭,那么用的服务器就要开启吗?那肯定是要启动的,不启动谁都用不了了,这里可以做一个限制,比如我的smtp服务只提供本机使用,那么我从防火墙里把25端口关闭,如果我的SQL SERVER只是供本机使用的。那么我也从防火墙里吧1433端口关闭。这样外部无法连接,自然也不存在暴力破解数据库密码了。windows防火墙还可以针对某一个IP开放某个端口。还是比较强大的。

以上乱七八糟的谈了一堆,希望对站长和程序员们有所帮助,大家可以加我QQ:4111852交流。我非常的欢迎。

最后说一下那个网友被挂马的解决建议:

1、备份好数据库、其他数据。

2、把所有程序、包括目录全部删除,以确保没有文件被留后门。

3、如果有可能,检查服务器安全,确保服务器没有被建立后门,例如超级帐号、安装了后门木马。这样的话,你怎么修改你的程序都没用,人家随时可以修改你的程序。

4、另一个网友提到的办法,上传一个静态文件test.html,访问一下看看,是不是也有木马以排除网络问题。

5、如果4中,确认不是网络问题,那就是文件被挂马了,全部程序删除,上传自己的安全的备份,恢复数据,检查数据库,确保木马不在数据库中。

6、查看IIS日志,看谁登录过后台,参考:iis日志分析视频教程

思路特别乱,大家将就看一下吧



相关阅读:
解决3.01版的jquery.form.js中文乱码问题的解决方法
Asp.net 基于Cookie简易的权限判断
jquery.boxy插件的iframe扩展代码
为JavaScript的String增加Trim函数
CSS制作网页的一些经验分享
Ajax技术概述与现状应用
PHP 的未来:了解 PHP6 的变化及其对脚本的影响
web 页面分页打印的实现
JSP和JSF双剑合并 打造完美Web应用
jQuery AnythingSlider滑动效果插件
自制基于jQuery的智能提示插件一枚
Linux系统中添加自己的库文件路径
GNU/Linux安装vmware
rpm安装以及rpm升级命令
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 我们曾经有过的甜蜜 给我们一点空间吧 父亲在儿子婚礼上致词 作风建设永远在路上观后感1000字 生活中的变化 一(5)班教室作文350字 永远永远不够好的我们 春节给下属的祝福语 小学六年级作文600字:那个冬天的秘密 2015县贸易服务局实施市场拓展举措情况汇报 毛笔小酌 100年后的生活环境作文 可以让你幸福一生的十个问题 一幅美丽的风景画 信用联社2016年党建工作总结 炫技 你像抹月光 落雪寂寂,念依依 小学五年级作文450字:制 造 彩 虹 解析求职信写作方法 国外励志电影推荐10部 初中初一作文550字:雨中的回忆 师德师风演讲稿(精选) 品味的近义词_品味的近义词是什么 开心的一天作文300字 环保作文:环境,让心灵更美好600字 2016离婚协议书范文 软件工程师毕业生求职信 与感觉恋爱,与现实妥协 一个人走。 人生的思索作文400字 幻城读后感600字 初中初一作文2150字:母爱 平安夜个性签名,平安夜说说个性短语 吹箫玉人(娥皇自序一) 零钱风波作文600字 大野狼和七只小羊教案-第2个 2015学习心得格式 人生总有些无奈 五一游记 演讲大王作文400字 一句名言的启示作文250字 假若给我三天光明 数学日记——“早餐”200字 送商季皋 迎新演讲稿 感受母爱的瞬间作文500字 春暖待花开 10年同学聚会大联欢简短主持词 7 《傅雷家书两则》教学设计

Copyright © 2016 phpStudy |