热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

黑客教你这样配置服务器才安全

黑客教你这样配置服务器才安全--Linux企业应用-Linux服务器应用信息,下面是详情阅读。
  既然是我们的防范是从入侵者角度来进行考虑,那么我们就首先需要知道入侵者的入侵方式。目前较为流行web入侵方式都是通过寻找程序的漏洞先得到网站的webshell然后再根据服务器的配置来找到相应的可以利用的方法进行提权,进而拿下服务器权限的。所以配合服务器来设置防止webshell是有效的方法。

  防止数据库被非法下载

  应当说,有一点网络安全的管理员,都会把从网上下载的网站程序的默认数据库路径进行更改。当然也有一部分管理员非常粗心,拿到程序直接在自己的服务器上进行安装,甚至连说明文件都不进行删除,更不要说更改数据库路径了。这样黑客就可以通过直接从源码站点下载网站源程序,然后在本地测试找到默认的数据库,再通过下载数据库读取里面的用户信息和资料(一般是经过MD5加密的)找到管理入口进行登陆获得webshell。还有一种情况是由于程序出错暴出了网站数据库的路径,那么怎么防止这种情况的发生呢?我们可以添加mdb的扩展映射。如下图所示:

  打开IIS添加一个MDB的映射,让mdb解析成其他下载不了的文件:“IIS属性”—“主目录”—“配置”—“映射”—“应用程序扩展”里面添加。mdb文件应用解析,至于用于解析它的文件大家可以自己进行选择,只要访问数据库文件出现无法访问就可以了。

  这样做的好处是:1只是要是mdb后缀格式的数据库文件就肯定下载不了;2对服务器上所有的mdb文件都起作用,对于虚拟主机管理员很有用处。

  防止上传

  针对以上的配置如果使用的是MSSQL的数据库,只要存在注入点,依然可以通过使用注入工具进行数据库的猜解。倘若上传文件根本没有身份验证的话,我们可以直接上传一个asp的木马就得到了服务器的webshell。

  对付上传,我们可以总结为:可以上传的目录不给执行权限,可以执行的目录不给上传权限。Web程序是通过IIS用户运行的,我们只要给IIS 用户一个特定的上传目录有写入权限,然后又把这个目录的脚本执行权限去掉,就可以防止入侵者通过上传获得webshell了。配置方法:首先在IIS的 web目录中,打开权限选项卡、只给IIS用户读取和列出目录权限,然后进入上传文件保存和存放数据库的目录,给IIS用户加上写入权限,最后在这两个目录的“属性”—“执行权限”选项把“纯脚本”改为“无”即可。见下图

  最后提醒一点,在你设置以上权限的时候,一定要注意到设置好父目录的继承。避免所做的设置白费。
  
MSSQL注入

  对于MSSQL数据库的防御,我们说,首先要从数据库连接帐户开始。数据库不要用SA帐户。使用SA帐户连接数据库对服务器来说就是一场灾难。一般来说可以使用DB_OWNER权限帐户连接数据库,如果可以正常运行,使用public用户最安全的。设置成dbo权限连接数据库之后,入侵者基本就只能通过猜解用户名和密码或者是差异备份来获得webshell了,对于前者,我们可以通过加密和修改管理后台的默认登陆地址来防御。对于差异备份,我们知道它的条件是有备份的权限,并且要知道web的目录。寻找web目录我们说通常是通过遍历目录进行寻找或者直接读取注册表来实现。无路这两个方法的哪一种,都用到了xp_regread和xp_dirtree两个扩展存储过程,我们只需要删除这两个扩展存储就可以了,当然也可以把对应的dll文件也一起删除。

  但是如果是由于程序出错自己暴出了web目录,就没有办法了。所以我们还要让帐户的权限更低,无法完成备份操作。具体操作如下:在这个帐户的属性—数据库访问选项里只需要对选中对应的数据库并赋予其DBO权限,对于其他数据库不要操作。接着还要到该数据库—属性—权限把该用户的备份和备份日志的权限去掉,这样入侵者就不能通过差异备份获得webshell了。

):o:s
推荐阅读
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 解决MongoDB Compass远程连接问题
    本文记录了在使用阿里云服务器部署MongoDB后,通过MongoDB Compass进行远程连接时遇到的问题及解决方案。详细介绍了从防火墙配置到安全组设置的各个步骤,帮助读者顺利解决问题。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
author-avatar
琴瑟_0203
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有