网络安全 频道

保护Linux网络安全技术扫描(上)

  【IT168专稿】随着人们对安全问题的日益重视,网络安全已经不仅仅是技术问题,而是一个社会问题。企业应当提高对网络安全的重视,不应被各种商业宣传所迷惑。认为安装了防火墙、认证授权和入侵检测系统就可以保护网络免受各种攻击。实际上,并没有绝对安全的网络,也没有"无坚不摧"的安全解决方案。从辩证法的角度来说,安全是相对的。

      一、Linux 网络安全安全现状
  
  目前,内核的维护主要分两种模式:对于私有操作系统,如Windows/Solaris等,由于个人用户不能直接接触其源代码,其代码由公司内部开发人员维护,其安全性由同样的团队保证,内核的修正与其他应用程序一样,以patch/SP包的方式发布;对于Linux这样的开放式系统,从机制上讲,全世界的开发人员都能获得源代码,从而找出其中的纰漏,但是同时,如果网络管理人员不能及时更新内核,也会留下安全隐患。影响操作系统安全的因素有很多,从编程水平到用户的使用水平等,都将影响到系统的安全。仅仅通过开放或者封闭源代码,都不能从根本上解决安全问题。



  Linux服务器运行的软件主要包括: Samba, VsFtp, Openssh, Mysql, Php和Apache等,这些软件大多数是开源软件,而且都在不停升级,稳定版和测试版交替出现。在www.apache.org 上,最新的changeLog中都写着:bug fix, security bug fix的字样。所以Linux网管员要经常的关注相关网站及时升级或添加补丁。千万不要报侥幸心理,否则一个Shell脚本就可能拿下你的网站。套用一句名言"你的网络永远可能在第二天被黑客接管"。

  二、身份认证技术

  身份认证是对网络中的主体和客体的身份进行验证的过程,所包括的典型技术有:口令认证机制、公开密钥基础设施(PKI)强认证机制、基于生物特征的认证等。

  1. 口令认证

  口令认证是最常用的一种认证方式。口令是相互约定的代码,通常只有用户和系统知道。口令有时由用户选择,有时由系统分配。通常情况下,用户先输入某种标志信息,比如用户名和ID号,然后系统询问用户口令,若口令相匹配,用户即可进入系统访问。口令有多种,如一次性口令,系统生成一次性口令的清单,规定第一次时必须使用X,第二次时必须使用Y,第三次时用Z……还有基于时间的口令,即访问者使用的口令随时间变化,变化基于时间和一个秘密的用户密钥,这样口令随时都在改变,使其更加难以猜测。

  2. PKI的认证机制

  PKI(Public Key Infrastructure)技术是通过公钥密码体制中用户私钥的机密性来提供用户身份的惟一性验证,并通过数字证书的方式为每个合法用户的公钥提供一个合法性的证明,建立了用户公钥到证书ID号之间的惟一映射关系。

      PKI主要由证书生产系统和应用系统组成,证书生产系统又包括数字证书认证中心(Certification Authority,CA)和密钥管理中心(Key Management,KM),共同完成数字证书的申请、审核、签发、注销、更新、查询等功能。证书应用系统提供身份认证、加解密、签名验签等安全服务功能,以解决业务应用中的机密性、完整性、认证性、不可否认性等安全问题。 由于数字证书本身是公开的,因此在身份验证过程中必须通过公钥与私钥之间的惟一映射关系(由公钥加密体制自身提供保证)来间接建立用户私钥和证书ID号之间的映射关系。

      数字证书可以存储在多种介质上(硬盘、软盘、IC卡、USB Key等)。若采用硬件形式如智能IC卡、USB Key等,把用户的私钥存放其中则更安全。 PKI的认证是一种强认证机制,综合采用了摘要算法、非对称加密、对称加密、数字签名等技术,很好地将安全性和高效性结合起来。这种认证方法目前广泛应用在电子邮件、应用服务器访问、客户端认证、防火墙认证等领域。

  3. 生物特征的识别认证

  基于生物特征的识别认证是一项正处于研究开发阶段的技术,常见的有指纹、声音、视网膜或虹膜、手掌几何学等。这种利用个人生理特征进行鉴别的方式具有很高的安全性。目前已推出的设备包括:视网膜扫描仪、指纹识别仪、声音验证设备、手型识别器。

  4 合理选择身认证技术

   若是用户提交的每一个变量都要求有生物学验证(如指纹鉴定),则将获得极高水平的可靠性。但是也会造成用户填写一个表格就要几十分钟。这时用户就会采取绕过安全验证的方法。一个系统的可靠性只能由整个链条中最薄弱的环节来决定。在任何安全系统里面,人是最脆弱的连接,单单技术本身不能让系统安全。网络管理员要建立合理的用户痛苦量(痛苦量是指安全限制引起的抵制的函数),不能仅仅从技术上考虑问题,还要站在用户的观点上考虑。

 

  三、访问控制技术之防火墙

  访问控制的主要任务是保证网络资源和应用系统不被非法使用和访问。访问控制所包括的典型技术有:防火墙、虚拟专用网(VPN)、等技术。

  1 防火墙

  对于连接互联网上的系统,不管是什么情况都要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。防火墙是指设置在不同网络(如可信任的内部网和不可信的公共网)或网络安全域之间的一系列部件的组合,它是不同网络或网络安全域之间信息的惟一出入口,能根据单位的安全策略(允许、拒绝等)控制出入网络的信息流,且本身具有较强的抗攻击能力。

      防火墙同时也是目前用得最广泛的一种安全技术,它可以限制外部对系统资源的非授权访问,也可以限制内部对外部的非授权访问,同时还限制内部系统之间,特别是安全级别低的系统对安全级别高的系统的非授权访问。

  Linux 网络使用的防火墙技术是netfilter/iptables。Linux内核从1.1版本开始,就已经具备包过滤功能。在2.0内核中,开始采用Ipfwadm来操作内核的包过滤规则。到2.2版本时,Linux内核采用了Ipchains来控制内核的包过滤规则。

     
      发展到2.4.x时,Ipchains被一个全新的包过滤管理工具Iptables所替代。新发布的2.6版内核也在安全方面进行了改进。因此,无论拥有哪个版本的Linux内核,无论选择哪个版本的Linux来构建自己的企业网,都可以利用现有的系统构建出一个理想实用的防火墙。

      2001年Russell完成了其名为netfilter(http://www.netfilter.org)的内核框架。这些防火墙软件套件一般都比其前任有所改进,表现越来越出众。netfilter/iptables已经包含在了2.4以后的内核当中,它可以实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。netfilter/iptables是从ipchains和ipwadfm(IP防火墙管理)演化而来的。


 

  访问控制技术之VPN

  虚拟专网(Virtual Private Network,VPN)是指采用隧道技术以及加密、身份认证等方法,在公共网络上构建专用的网络,数据通过安全的"加密隧道"在公共网络中传输。 VPN可使用户或企业通过公共的互联网络连接到远程服务器、分部办公室服务器或其他企业的网络,同时可以保护通信的安全。VPN具有安全性、服务质量保证(QoS)、可扩充性和灵活性、可管理性、使用价格低廉等特点,正是这些特点使得VPN已得到广泛应用。Linux下的主要VPN技术包括:

   IPSec(Internet Protocol Security)

  IPSec是IETF(Internet Engineer Task Force)正在完善的安全标准,它把几种安全技术结合在一起形成一个较为完整的体系,受到了众多厂商的关注和支持。通过对数据加密、认证、完整性检查来保证数据传输的可靠性、私有性和保密性。Linux实现使用IPSec的主要软件是:Free S/WAN http://www.freeswan.org/ 。FreeS/WAN目前不支持NAT(Network Address Translation,网络地址翻译)和IP地址伪装用于加密通道通信。

   PPP OVER SSH


  SSH一种基于安全会话目的的应用程序。SSH支持身份认证和数据加密,对所有传输的数据进行加密处理。同时,可以对传输数据进行压缩处理,以加快数据传输速度。SSH既可以代替Telnet作为安全的远程登录方式,又可以为FTP、POP等提供一个安全的"隧道"。OpenSSH是SSH的替代软件包,是免费的。用PPP端口在SSH上运行技术实现VPN的方法。PPP OVER SSH具体应用软件有SSHVNC(http://3sp.com/products/sshtools/sshvnc/sshvnc.php)


   CIPE : Crypto IP Encapsulation

  CIPE (加密 IP 封装)是主要为 Linux 而开发的 VPN 实现。CIPE 使用加密的 IP 分组,这些分组被封装或"包围"在数据报(UDP)分组中。CIPE 分组被给以目标头信息,并使用默认的 CIPE 加密机制来加密。CIPE 使用标准的 Blowfish 或 IDEA 加密算法来支持加密。根据你所在国家的加密出口法规而定,你可以使用默认方法(Blowfish)来加密你的专用网上的所有 CIPE 交通。CIPE 配置可以通过文本文件、图形化的网络管理工具来完成。用CIPE技术实现VPN的方法,优点:安装配置简单,运行时系统开销比较小。缺点:CIPE不是一种标准VPN协议,不能支持所有平台。CIPE网址:http://sites.inka.de/~

   SSL VPN

   OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。详细信息可以参考 http://www.openvpn.net。OpenVPN优点是支持多种常用应用系统。目前版本支持Linux, Windows 2000/XP/2003,BSD, Mac OS X,Solaris 。支持多种客户端连接模式。可以通过GUI 便捷的操作OpenVPN 工作在OSI layer 2 或 3 使用标准的 SSL/TLS 协议, 可以通过certificates 或smart cards 认证。加密强度较高,不易在传输通路上被人劫持破解信息资讯。OpenVPN缺点是使用SSL 应用层加密,传输效率要低于IPSEC 传输的VPN 软件。

   PPPTD

  点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术。PPTP 可以用于在 IP 网络上建立 PPP 会话隧道。PPTP相对其他远程"拨入"型VPN的不凡之处在于微软Windows(95/98/Me/NT/2000/XP/Vista)拥有一个内置的PPTP客户端,这意味着管理员不必涉及任何额外的客户端软件以及那些通常伴随出现的问题。Linux  PPTP服务器实现的软件是:poptop(http://www.poptop.org/ )服务器。


0
相关文章