Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->Linux安全 ->Linux环境下发现并阻止系统攻击
  相关分类: 
入门与提高
系统管理
网络应用
嵌入式系统
内核研究
服务器相关
发行版专区
Linux程序设计
Linux安全
BSD相关
桌面应用
  站内搜索: 
热门文章排行
热门文章排行 linux环境变量设置及保存地点 (04-22)
Apache 门户项目组介绍 (04-22)
黑客高级技巧 Linux后门技术及实践 (05-01)
安全多方位 Linux系统守护进程详解 (04-20)
UNIX 高手的10 个习惯 (04-22)
精采文章排行
精采文章排行 黑客高级技巧 Linux后门技术及实践 (05-01)
IP安全加密 IPSec安全技术全面接触 (05-01)
LINUX2.4.x网络安全框架 (04-26)
分级防御对Linux服务器的攻击 (04-26)
基于Linux开发的FireboxⅡFastVPN (04-26)
  ·黑客高级技巧 Linux后门技术及实践 ·LINUX2.4.x网络安全框架 ·分级防御对Linux服务器的攻击 ·基于Linux开发的FireboxⅡFastVPN ·十项Linux安全管理技巧经验总结 ·高级Linux安全管理技巧 ·发现Linux压缩格式漏洞 达第二最危险级别·Unix和Linux下的Acrobat Reader 5受攻击 ·Linux操作系统下防垃圾邮件基本功

Linux环境下发现并阻止系统攻击

作者:Webmaster   来源:赛迪网    点击:   日期:2007-04-26 [收藏] [投稿]

  IE是否经常中毒?推荐您

一、当在一台PC机上安装了Linux系统,你就拥有了一个强大的、高级的、多任务的网络操作系统。但时候该系统功能有些过于强大了些。某些发布版本缺省启动很多服务(如:rlogind,inetd,httpd,innd,fingerd,timed,rhsd,等等)。作为系统管理员需要熟悉了解这些服务。若机器连接了Internet,就更需要关自己系统的安全。

大多数攻击者并不是一个革新者,他们往往利用最新的公布的系统工具技术等突破一个所周知的或一个新的刚刚发现的安全漏洞。但作为一个管理者,通过访问你使用的Linux发布的官方站点如www.redhat.com、www.calderasystems.com等可以获知最新的安全漏洞及相应的补丁程序。也可以通过定期访问www.securityfocus.com、www.cert.org等安全漏洞通告站点。

控制访问服务器的最方便的方法是通过一个叫TCPwrapper的程序。在大多数发布版本中该程序往往是缺省地被安装。利用TCPwrapper你可以限制访问前面提到的某些服务。而且TCPwrapper的记录文件记录了所有的企图访问你的系统的行为。通过last命令查看该程序的log,管理员可以获知谁企图连接你的系统。

在Linux的/etc目录下,有一个如下所示inetd.conf文件,该文件是TCP wrapper的配置文件,定义了TCPwrapper可以控制启动哪些服务。比如要将finger服务去除,就将finger服务的那一行注释掉(在前面 加上"# "即可);
# inetd。conf This file describes the services that will be available 
# through the INETD TCP/IP super server. To re-configure 
# the running INETD process, edit this file, then send the 
# INETD process a SIGHUP signal。 

# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a 
# telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd 
# Finger, systat and netstat give out user information which may # be 
...............

但是对于诸如sendmail,named等服务,由于它们不象finger,telnet等服务,在请求到来时由inet守护进程启动相应的进程提供服务,而是在系统启动时,单独作为守护进程运行的。在slackware版本的Linux,可以通过修改/etc/rc.d目录下的启动配置文件rc.M文件,将启动sendmail的命令行注释掉:

#!/bin/sh 

# rc。M This file is executed by init(8) when the system is being

# initialized for one of the "multi user" run levels (i.E.

# levels 1 through 6). It usually does mounting of file

# systems et al.

# Start the sendmail daemon:

# if [ -x /usr/sbin/sendmail ]; then

# echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q 15m)… "

# /usr/sbin/sendmail -bd -q 15m

# fi

............

(注:对于redhat发布,可以巩固运行chkconfig命令或linuxconfig命令来管理是否启动某项服务,如: chkconfig --level 345 sendmail on 来实现系统在345运行级别下自动启动sendmail) 对于诸如named等其他服务,也是通过将同一个目录下相应启动配置文件中相应的启动命令注释掉,从而当你重新启动机器时,相应的服务将不会启动。而对于高版本的redhat linux,提供了一个linuxconfig命令,可以通过它在图形界面下交互式地设置是否在启动时,运行相关服务。但是对于telnet、ftp等服务,如果将其一同关闭,那么对于管理员需要远程管理时,将非常不方便。

Linux提供另外一种更为灵活有效的方法来实现对服务请求用户的限制,从而可以在保证安全性的基础上, 使可信任用户使用各种服务。

在/etc目录下,有两个文件:hosts.denyhosts.allow通过配置这两个文件,你可以指定哪些机器可以使用这些服务,哪些不可以使用这些服务。配置这两个文件是通过一种简单的访问控制语言来实现的,访问控制语句的基本格式为:程序名列表,主机名/IP地址列表。

程序名列表指定一个或者多个提供相应服务的程序的名字,名字之间用逗号或者空格分隔,可以在inetd.conf文件里查看提供相应服务的程序名:如上面的文件示例中,telent所在行的最后一项就是所 需的程序名:in.telnetd 主机名/IP地址列表指定允许或者禁止使用该服务的一个或者多个主机的标识,主机名之间用逗号或空格分隔。程序名和主机地址都可以使用通配符,实现方便的指定多项服务和多个主机。当服务请求到达服务器时,访问控制软件就按照下列顺序查询这两个文件,直到遇到一个匹配为止:

1.当在/etc/hosts.allow里面有一项与请求服务的主机地址项匹配,那么就允许该主机获取该服务

2.否则,如果在/etc/hosts.deny里面有一项与请求服务的主机地址项匹配,就禁止该主机使用该项服务

3.否则允许使用该服务如果相应的配置文件不存在,访问控制软件就认为是一个空文件,所以可以通过删除或者移走配置文 件实现对所有主机关闭所有服务。 在文件中,空白行或者以#开头的行被忽略,你可以通过在行前加 # 实 现注释功能。Linux提供了下面灵活的方式指定进程或者主机列表:

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 下一页

上一篇:剖析Linux病毒原型的工作过程和关键环节   下一篇:Linux操作系统下防垃圾邮件基本功
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·IP安全加密 IPSec安全技术全面接触

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。