热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

如何分级抵御对Linux服务器的攻击

文章标题:如何分级抵御对Linux服务器的攻击。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统。Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务器受到攻击的深度以级别形式列出,并提出不同的解决方案。

对Linux服务器攻击的定义是:攻击是一种旨在妨碍、损害、削弱、破坏Linux服务器安全的未授权行为。攻击的范围可以从服务拒绝直至完全危害和破坏Linux服务器。对Linux服务器攻击有许多种类,本文从攻击深度的角度说明,我们把攻击分为四级。

攻击级别一:服务拒绝攻击(DoS)

由于DoS攻击工具的泛滥,及所针对的协议层的缺陷短时无法改变的事实,DoS也就成为了流传最广、最难防范的攻击方式。

服务拒绝攻击包括分布式拒绝服务攻击、反射式分布拒绝服务攻击、DNS分布拒绝服务攻击、FTP攻击等。大多数服务拒绝攻击导致相对低级的危险,即便是那些可能导致系统重启的攻击也仅仅是暂时性的问题。这类攻击在很大程度上不同于那些想获取网络控制的攻击,一般不会对数据安全有影响,但是服务拒绝攻击会持续很长一段时间,非常难缠。

到目前为止,没有一个绝对的方法可以制止这类攻击。但这并不表明我们就应束手就擒,除了强调个人主机加强保护不被利用的重要性外,加强对服务器的管理是非常重要的一环。一定要安装验证软件和过滤功能,检验该报文的源地址的真实地址。另外对于几种服务拒绝可以采用以下措施:关闭不必要的服务、限制同时打开的Syn半连接数目、缩短Syn半连接的time out 时间、及时更新系统补丁。

攻击级别二:本地用户获取了他们非授权的文件的读写权限

本地用户是指在本地网络的任一台机器上有口令、因而在某一驱动器上有一个目录的用户。本地用户获取到了他们非授权的文件的读写权限的问题是否构成危险很大程度上要看被访问文件的关键性。任何本地用户随意访问临时文件目录(/tmp)都具有危险性,它能够潜在地铺设一条通向下一级别攻击的路径。

级别二的主要攻击方法是:黑客诱骗合法用户告知其机密信息或执行任务,有时黑客会假装网络管理人员向用户发送邮件,要求用户给他系统升级的密码。

由本地用户启动的攻击几乎都是从远程登录开始。对于Linux服务器,最好的办法是将所有shell账号放置于一个单独的机器上,也就是说,只在一台或多台分配有shell访问的服务器上接受注册。这可以使日志管理、访问控制管理、释放协议和其他潜在的安全问题管理更容易些。还应该将存放用户CGI的系统区分出来。这些机器应该隔离在特定的网络区段,也就是说,根据网络的配置情况,它们应该被路由器或网络交换机包围。其拓扑结构应该确保硬件地址欺骗也不能超出这个区段。

攻击级别三:远程用户获得特权文件的读写权限

第三级别的攻击能做到的不只是核实特定文件是否存在,而且还能读写这些文件。造成这种情况的原因是:Linux服务器配置中出现这样一些弱点:即远程用户无需有效账号就可以在服务器上执行有限数量的命令。

密码攻击法是第三级别中的主要攻击法,损坏密码是最常见的攻击方法。密码破解是用以描述在使用或不使用工具的情况下渗透网络、系统或资源以解锁用密码保护的资源的一个术语。用户常常忽略他们的密码,密码政策很难得到实施。黑客有多种工具可以击败技术和社会所保护的密码。主要包括:字典攻击(Dictionary attack)、混合攻击(Hybrid attack)、蛮力攻击(Brute force attack)。一旦黑客拥有了用户的密码,他就有很多用户的特权。密码猜想是指手工进入普通密码或通过编好程序的正本取得密码。一些用户选择简单的密码—如生日、纪念日和配偶名字,却并不遵循应使用字母、数字混合使用的规则。对黑客来说要猜出一串8个字生日数据不用花多长时间。

防范第三级别的攻击的最好的防卫方法便是严格控制进入特权,即使用有效的密码。

◆ 主要包括密码应当遵循字母、数字、大小写(因为Linux对大小写是有区分)混合使用的规则。

◆ 使用象“#”或“%”或“$”这样的特殊字符也会添加复杂性。例如采用"countbak"一词,在它后面添加“#$”(countbak#$),这样您就拥有了一个相当有效的密码。

计算机系统中,用户在一般情况并不直接与内核打交道,中间还有一层应用层作为接口在用户与内核之间相互作用着,但这种设计能够保护内核不会被用户肆意修改窥测,但也随之带来了安全问题,由于应用层并不是能完全信任之的,因此在操作系统安全功能中,往往会提供可信路径这一功能[这也是橘皮书 B2 级的安全要求]。

可信路径[trusted path]是怎么样的概念?顾名思义,它就是这么一种功能的实现:避过应用层,在用户与内核之间开辟一条直接的可信任的交互通道。真的有必要那么麻烦,不得不在进行高风险操作时使用可信路径与内核互动吗?遗憾地告诉你:确实是!有经验的系统管理员普遍都很清楚来自网络的威胁有多么严重。黑帽子们能使用特洛伊木马[Trojan horse],记录你在登陆及其它敏感操作时的行动,从而窃取你的宝贵口令。

你一定对"ctrl + alt + del"三键序列极有印象,在DOS年代,我们用它快速重启机器,并称之为"热启动",而在WINDOWS 9X时代,我们则用它查看进程,不过也许你没有注意到,在WINDOWS9X 向WINNT过渡后,我们的PC也运行着NT内核的WIN2000/XP时,事实上"ctrl + alt + del"三键的职能已经有了些微改变,微软在它的官方文档中,称"ctrl + alt + del"为SAS[Secure Attention Sequence],并且将之列为安全功能-可信路径的构成部分,而在linux下,也有着类似的按键序列可用。

Linux 环境下的安全留意键—— SAK[Secure Attention Key],这个SAK是一组键, 在我们常见的X86平台下,它是"alt+sysrq+k",而在SPARC下,SAK则是"alt+STOP+k", SAK默认不打开,需要用 echo "1" > /proc/sys/kernel/sysrq 这条命令激活,当然,你也可以将它写进登录脚本中,这样就不必每次麻烦了。对SAK实现有兴趣的朋友,可以参考参考 linux/drivers/char/sysrq.c和 linux/drivers/char/tty_io.c::do_SAK

SAK序列键其实是被称做"magic sysrq key" 中的一组,"magic sysrq key" 还有一些特殊键,与SAK一样,它们都是使用"alt + sysrq + ..."格式,其中的...可换为某些特殊的字母比如"i",在《MAGIC SYSRQ KEY DOCUMENTATION v1.32》手册上,"alt + sysrq +i" 所代表的行为是"Send a SIGKILL to all processes, except for init." 意思就是向除了 init 外的所有进程发送一条kill 信号;现在我们看看在

[1] [2] 下一页


推荐阅读
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 树状笔记软件for linux,Ubuntu 14.04安装开源树状笔记管理软件 WikidPad 2.2
    WikidPad是一款开源免费的wiki风格的树状笔记管理软件,类似于Notepad。基于Python,支持Windows、Mac、Linux等平台。W ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
author-avatar
Three-Kobe
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有