学习保卫Unix操作系统指南

系统 其他OS
Unix操作系统入侵者常常使用的一种利用系统漏洞的方式是堆栈溢出,他们在堆栈里巧妙地插入一段代码,利用它们的溢出来执行,以获得对系统的某种权限。

我们都知道Unix操作系统入侵者常常使用的一种利用系统漏洞的方式是堆栈溢出,他们在堆栈里巧妙地插入一段代码,利用它们的溢出来执行,以获得对系统的某种权限。如何防止Unix操作系统在堆栈中执行代码?

要让你的Unix操作系统在堆栈缓冲溢出攻击中更不易受侵害,你可以在/etc/system里加上如下语句:
 

  1. set noexec_user_stack=1   
  2. set noexec_user_stack_log =1  

第一句可以防止在堆栈中执行插入的代码,第二句则是在入侵者想运行exploit的时候会做记录,一旦重启Unix操作系统机器,这些改变就会生效。如果这不是一个你可以关闭的Unix操作系统,那么你用adb来改变一个运行中的Unix操作系统的参数也是可能的。
 
当然会有些合法使用可执行堆栈的程序在你做出如上改变后而不能正常运行。所幸的是这样的程序的并不多,我们所知的就只有GNU ada 编译器。

ARP

Unix操作系统有关ARP协议的细节,在这里我们就不再详细介绍了。对于sun的系统,核心默认的ARP表过期的时间是5分钟,并且可以调节.另外一张表是ip层的路由表,它和arp表配合记录动态路由信息,20分钟过期,最后一个特性是”无偿ARP” ,即系统广播自己的硬件地址。这个特性用来诊断是否存在相同的硬件地址,另外也用来生成硬件地址的变动通知。
 
1)Unix操作系统ARP攻击

针对ARP的攻击主要有两种,一种是DOS,一种是Spoof。ARP欺骗往往应用于一个内部网络,我们可以用它来扩大一个已经存在的网络安全漏洞。如果你可以入侵一个子网内的机器,其它的机器安全也将受到ARP欺骗的威胁。同样,利用APR的DOS甚至能使整个子网瘫痪。

2)Unix操作系统对ARP攻击的防护

 防止ARP攻击是比较困难的,修改协议也是不大可能。但是有一些工作是可以提高本地网络的安全性。

首先,你要知道,如果一个错误的记录被插入ARP或者IP route表,可以用两种方式来删除:
a. 使用arp -d host_entry
b. 自动过期,由系统删除
这样,可以采用以下的一些方法:

1). Unix操作系统减少过期时间

  1. #ndd -set /dev/arp arp_cleanup_interval 60000   
  2. #ndd -set /dev/ip ip_ire_flush_interval 60000   
  3. 6000060000=60000毫秒 默认是300000  


加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复,请不要在繁忙的网络上使用。

2). Unix操作系统建立静态ARP表

这是一种很有效的方法,而且对系统影响不大。缺点是破坏了动态ARP协议。可以建立如下的文件:
test.cnns.net 08:00:20:ba:a1:f2
user. cnns.net 08:00:20:ee:de:1f

使用arp -f filename加载进去,这样的ARP映射将不会过期和被新的ARP数据刷新,除非使用arp -d才能删除。但是一旦合法主机的网卡硬件地址改变,就必须手工刷新这个arp文件。这个方法,不适合于经常变动的网络环境。

3).Unix操作系统禁止ARP

可以通过ifconfig interface -arp 完全禁止ARP,这样,网卡不会发送ARP和接受ARP包。但是使用前提是使用静态的ARP表,如果不在apr表中的计算机 ,将不能通信。这个方法不适用与大多数网络环境,因为这增加了网络管理的成本。但是对小规模的安全网络来说,还是有
效和可行的。

这样,我们就完成了关于如何防止Unix操作系统在堆栈中执行代码的知识,以及其他相关知识的介绍。

【编辑推荐】

  1. 重要的Unix操作系统知识
  2. 深谈Unix操作系统中问题
  3. 详谈Unix操作系统启动和关闭
  4. Unix操作系统开启SUN-DES-1鉴别机制
  5. 琐碎的学习Unix操作系统
责任编辑:小霞
相关推荐

2010-04-15 17:44:59

2010-04-16 17:19:58

Unix操作系统

2010-04-09 11:24:38

Unix操作系统

2010-04-16 18:19:32

Unix操作系统

2010-04-20 17:11:33

Unix操作系统

2010-04-15 13:02:41

Unix操作系统

2010-04-30 17:27:59

Unix操作系统

2010-05-06 17:59:50

Unix命令

2010-04-09 14:59:03

Unix操作系统

2010-04-16 14:05:07

Unix操作系统

2010-04-08 16:49:36

Unix操作系统

2010-04-13 12:27:44

Unix操作系统

2010-04-15 14:40:26

Unix操作系统

2010-04-19 10:30:27

Unix操作系统

2010-04-15 13:36:07

Unix操作系统

2010-04-09 17:16:04

Unix操作系统

2010-04-19 16:57:09

Unix操作系统

2010-04-14 13:59:45

Unix操作系统

2010-04-19 17:39:50

Unix操作系统

2010-04-19 18:31:16

Unix操作系统
点赞
收藏

51CTO技术栈公众号