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

关于Linux网络安全的内在限制

关于Linux网络安全的内在限制--Linux企业应用-Linux服务器应用信息,下面是详情阅读。
Linux为美国以外的其它国家提供了自主发展操作系统的一条捷径。主要是因为Linux操作系统本身的源代码是公开的,操作系统开发方可以对源代码自由修改并且从新编译成二进制机器码,也就是说用户可以对系统及网络安全的源代码根据自己的需要在进行研究后而进行修改从而轻松拥有自己版本的操作系统。而 特别是在网络安全方面,Linux的关于防火墙及其它网络安全协议的源代码公开性使商家能够更加了解操作系统安全的弱点及漏洞所在,通过对源代码的修改对安全进行加强巩固。可是仅仅是源代码公开并不能解决网络不安全的问题。由于对源代码进行编译的编译程序GCC及Linux的内核(Kernel)程序本身有诸多弱点,这就造成了躲在防火墙后面的Linux系统程序仍然极其容易受到网络黑客的袭击。

  防火墙仅仅提供了最基本的网络保护

  防火墙的主要目的是封锁不必要的端口,并且对网络通讯数据进行转接过滤。但是只要有开放的端口,网络侵袭便是在所难免。如一般单位网络服务器端口,通常为80号端口,网络服务器主要任务是为用户发送网页因此必须全天开通。而黑客则可以通过浏览网页的HTTP协议轻松通过80号端口穿过防火墙从而对服务器进行攻击。举个例子说,防火墙就好象是一道密集铁丝网,虽然它可以挡住豺狼虎豹的袭击,可是马蜂蚊子还是可以轻松穿过。

  GCC的内在漏洞造成服务器易受攻击

  由于GCC源于网络前时代,因此对不少由网络而衍生的特殊情况毫无准备。GCC有诸多内在弱点,包括输出命令printf对特殊状态检查不足及对参数值变量值范围检查不足等两点,这些两点会导致内存地址轻易受到突破性侵袭。由GCC加工编译而成的Linux服务器自然就携带了GCC的弱点。这种情况与遗传性基因疾病非常类似,只要是GCC编译成的程序均有此遗传性弱点。黑客经过80号端口通过HTTP协议便可以对组成服务器的printf发送怪异数值或者对其它内存参数值输入超大或者超小值,服务器程序对此特殊状态不知所措便会在内存内胡乱读取内存地址及内容,黑客在获得内存地址后便可对其进行修改从而达到从修改网页内容到瘫痪服务器等各种非法目的。

  GCC是Linux,Unix及BSD系统源代码的主要编译程序

  修过计算机编程课程的朋友大多使用过GCC。GCC是对C/C++语言及一些其它语言进行二进制码编译的大型程序。Unix家族有三大独立成员,他们分别是美国电报电话公司(AT&T)的Unix, 伯克莱大学(UC Berkley) 的BSD及Linux。GCC目前是Unix家族操作系统的主要编译工具,全世界范围内由GCC编译而成的现行服务器不计其数,也就是说黑客们可以侵害的对象群非常庞大。

  治标要治本

  GCC的漏洞可以通过对源代码进行保护性修改来弥补。如对网络服务器的源代码中所有的用户输入参数进行参数值范围检测,对超大及超小的输入值不予通过。但是这样的做法会使源代码数量及复杂性大大增加,既费时又难以维护。而对GCC编译器程序的改善则是一个更好的办法。对拥有Linux的单位来说只要用经过安全改善的新版GCC对现有源代码从新编译便可以轻松将安全等级提高到一个新的水平。目前世界上有多个组织及个人正在致力于对GCC改善的研究和开发。美国的Immunix(译:免疫Unix)是目前世界第一家将GCC改进版进行商业化的高科技公司。该公司的GCC改进程序属于GPL协议范围,也就是对编译器GCC修改改善的源代码本身也是公开的。

  网络安全前景不容乐观

  虽然目前的几个主要漏洞可以通过对GCC的修改补充来填补,但是由于GCC程序非常庞大,可能存在的潜在漏洞还是很多。俗话说:“道高一尺,魔高一丈”,全世界范围内的黑客正在对GCC及Linux和微软操作系统内核的各种潜在漏洞进行潜心研究,网络安全目前的局面是“易攻难守”,黑客们在发现新漏洞后可以迅速发动大规模攻击,而对漏洞的所在的发现和随后的弥补措施则是相对缓慢的。

  笔者认为我国自主操作系统的开发及源代码自主是一件鼓舞的事情,但是对源代码编译程序的学习和了解也同样重要。
推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
author-avatar
fishdenise_496
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有