• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net网站安全从小做起与防范小结

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了用asp.net开发网站,iis配置asp.net网站,iis发布asp.net网站,用asp.net做的网站,iis部署asp.net网站等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
以下都以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日志分析视频教程

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET网站第一次访问慢的解决方法
  • .net 应对网站访问压力的方案总结
  • asp.net微信开发(自定义会话管理)
  • ASP.NET网站聊天室的设计与实现(第3节)
  • ASP.NET网站模板的实现(第2节)
  • 记录asp.net网站是什么原因导致停止运行的代码
  • asp.net网站底部的版权信息实现代码且可维护
  • ASP.Net开发常见的一些问题总结
  • Asp.net 网站性能优化二则分享
  • asp.net小谈网站性能优化

相关文章

  • 2017-05-11DiscuzNT 论坛与主站的同步登录与退出
  • 2017-05-11使用CustomValidator自定义验证控件检查是否有对ListBox控件选择
  • 2018-08-20把ASP.NET MVC项目部署到本地IIS上的完整步骤
  • 2017-05-11asp.net(c#)下Jmai去说明 使用与下载
  • 2017-05-11C#实现HTTP协议迷你服务器(两种方法)
  • 2017-05-11在Asp.net中为图像加入水印信息并保存为Jpg类型
  • 2017-05-11ASP.net判断上传文件类型的三种有效方法
  • 2017-05-11ASP.NET组件System.Web.Optimization原理及缓存问题详解
  • 2017-05-11C# 没有动态的数组,可以用arraylist或list取代
  • 2017-05-11ASP.NET系统关键字及保留字列表整理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET环境下为网站增加IP过滤功能第1/2页
    • .NET Core创建一个控制台(Console)程序
    • .net实现oracle数据库中获取新插入数据的id的方法
    • 实现DataGridView控件中CheckBox列的使用实例
    • C#获取当前页面的URL示例代码
    • IIS7 应用程序池的 托管管道模式与集成模式小结
    • ASP.NET母版页基础知识介绍
    • Asp.net在页面间传递大量数据(数据表)建议采用的方法
    • c# 读取Northwind数据库image字段
    • asp.net中利用ajax获取动态创建表中文本框的值

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有