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

Linux安全吗?

文章标题:Linux安全吗?。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  计算机系统及信息安全问题是进入信息社会所必须解决的问题,大量Internet应用的出现使这一问题更加突出。近来,随着PIII的序列号和微软操作系统中后门密钥等事件的发生,使我们认识到信息安全“事关重大,刻不容缓”。从事计算机安全领域研究的沈昌祥院士指出:“信息安全保障能力是21世纪综合国力、经济竞争实力和生存能力的重要组成部分,是世纪之交世界各国在奋力攀登的制高点。”
  
    众所周知,我们的计算机系统和网络系统从硬件到软件大多是国外的产品,包括一些相关的安全产品。许多产品在设计时都会留有一些后门供产品测试,也可能存在一些设计缺陷,同时存在有意埋伏安全陷阱的可能,所有这些犹如千里之堤中的蚁穴,甚至更甚于此。记得有这样一个故事,A国在B国使用当地建筑材料修建使馆,结果发现在建筑物中有大量的窃听装置,最后只得不惜代价使用本国工人和建筑材料重新修建。因此“信息安全要打中国牌”,在安全系统中必须采用我们自己的产品。
  
    计算机系统及信息安全可分为安全技术和密码技术两方面,两者缺一不可。具体来说安全技术中关键是操作系统、CPU等,然而我们不具备自己的操作系统和CPU,短期内也不会有,但最终应该有,笔者认为这一事情应该从战略意义上考虑。幸运的是,Linux的出现为建立我国安全、自主的操作系统提供了机遇和挑战,发展自主版权的操作系统具有很大的经济效益和社会效益,笔者认为同时一定要把安全放在首位。
  
    源代码公开就不安全吗?
  
    Linux是一个自由、开放的操作系统软件,其最初设计目标并不是一种安全操作系统,因此Linux在安全方面存在一些不足、漏洞和后门。关于操作系统的安全性,目前除Windows NT是被确定为达到美国安全标准的C2级外,其它都难以定性而论,Linux也是如此。目前关于计算机系统安全的讨论中有许多并非操作系统本身的问题而是应用软件或某些协议带来的,如Sendmail中MIME以及TCP/IP本身的安全问题等,这里只简单介绍Linux内核存在的几个主要问题,借以指出建立安全、自主的操作系统应注意的几个方面。
  
    Linux属于自由软件,其源代码是公开的,有人认为这是不安全因素。其实不然。首先,这种开放源码的系统软件恰有非自主的黑箱操作系统所不具备的一个安全特点,就是用户可以对它有较深的理解,发现问题可很快解决,而不必苦苦等待软件补丁和升级版;其次说句题外话,在密码算法安全性研究中,前提是算法公开———即假设攻击者已知算法,细节需要保密的算法没有研究和利用价值。
  
    Linux哪儿不安全?
  
    Linux的第一个问题是利用启动盘可以启动计算机,或利用LILO进入单用户模式,无须root口令而获得root用户具有的权限。这一点已被许多Linux文章书籍中作为忘记root口令时的解决方案介绍。这是个很大的安全问题,因为它使root口令失去了意义。
  
    其次是Linux的口令问题。Linux存放的是用户口令明文的One Way Hash运算结果,加上用户选择易记口令等因素,容易采用词典攻击,同时用户远程登录时传送的是口令明文,易于窃听。目前Linux的发行版本中都采用了Shadow技术,首先将口令作扩充(Padding)处理再作One Way Hash计算,结果存放在只有root用户可访问的文件中,其中Padding的数据是伪随机数。这样提高了口令的安全性。但密码学的有关研究表明,仅仅采用对称密码算法或Hash算法是不够的,不能构成安全的口令认证方案。
  
    第三,SETUID问题。SETUID是为解决某些普通用户执行的但执行时须暂时获得root特权的程序的执行问题,这也是一个安全隐患。黑客可以在有root权限时将其黑客程序设置SETUID,以后就可以以普通用户登录运行该程序,此举具有很大的隐蔽性,不易觉察。
  
    第四,缓冲区溢出问题。当输入数据超出所分配存储空间而系统又没有对此作直接处理时导致缓冲区溢出问题。缓冲区溢出会导致程序退出、数据丢失以及其它不可预计的结果。由于C、C++编译器对缓冲区溢出、指针越界等不作检查,因此会发生缓冲区溢出问题。如果缓冲区溢出发生在可执行堆栈中,则会覆盖堆栈中原有的程序执行信息,导致系统执行错误的指令。因此,黑客程序可以故意安排堆栈溢出时,系统就可能转而执行黑客程序,该黑客程序获得正在执行的程序的权利(通常是root特权),系统被破坏或失去控制权。
  
    第五,计算机病毒和特洛伊木马程序问题。如今PC平台计算机病毒和特洛伊木马程序层出不穷,破坏力增大,人们对其防不胜防,Unix/Linux上的病毒却不是很多,这除与操作系统机制有很大关系外,也与Unix/Linux未广泛流行有关。由于Linux存在SETUID问题和缓冲区溢出等问题,这为计算机病毒和特洛伊木马程序提供了入口。
  
    另外还有其它一些问题以及具体操作、设置中存在的问题,在此不一一列举。
  
    如何保证Linux的安全?
  
    针对Linux存在的一些安全问题,在建设安全、自主的操作系统时应注意把握以下几点:首先是系统引导问题,必须保证对用户的身份认证。其次是口令机制,应该研究结合公钥密码算法的安全口令认证方案。第三,Linux中用简单的方法实现进程管理和调度,从安全和完成复杂任务角度看都略嫌不足。需要研究更好的文件权限、进程管理和执行权限管理方案。解决缓冲区溢出问题一方面是严格编译器的检查,另一方面是寻求动态解决方案,确保系统的控制权,并力求减少损失。
  
    同时笔者认为安全的操作系统应该具有一定的防病毒和特洛伊木马程序的能力,在设计操作系统内核时要结合反病毒的有关技术,使之在根本上具有一定的免疫力。
  
    Linux出现为我国建立安全、自主的操作系统提供了机遇和挑战,但是,Linux到底安全不安全?安全在哪儿?不安全在哪儿?我国在发展Linux的时候如何扬长避短?本栏目欢迎广大读者就Linux的安全问题进行广泛深入的探讨。
  
    E-mail:lyh@ciw.com.cn
  
  作者:王汉强、魏庆福 
  
推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 无线认证设置故障排除方法及注意事项
    本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 如何在联想win10专业版中修改账户名称
    本文介绍了在联想win10专业版中修改账户名称的方法,包括在计算机管理中找到要修改的账户,通过重命名来修改登录名和属性来修改显示名称。同时指出了windows10家庭版无法使用此方法的限制。 ... [详细]
  • macOS10.12安装win10系统教程,实现双系统安装
    本文介绍了如何在macOS10.12系统上安装win10系统,实现双系统的安装。通过使用Boot Camp助理,选取win10系统镜像并分配系统容量,然后进行安装。安装完win10系统后,安装驱动并重启系统即可完成双系统的安装。 ... [详细]
author-avatar
卢太爽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有