选择显示字体大小

linux环境下发现并阻止系统攻击 (1)

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

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

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

linux的/etc目录下,有一个如下所示.netd.conf文件,该文件是tcp wrapper的配置文件,定义了tcpwrapper可以控制启动哪些服务。比如要将finger服务去除,就将finger服务的那一行注释掉(在前面 加上"# "即可);

# .netd。conf this file describes the services that will be available # through the .netd tcp/ip super server. to re-configure # the running .netd process, edit this file, then send the # .netd process a sighup signal。 # ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a # te.net stream tcp nowait root /usr/sbin/tcpd in.te.netd # finger, systat and.netstat give out user information which may # be ...............


但是对于诸如sendmail,named等服务,由于它们不象finger,te.net等服务,在请求到来时由.net守护进程启动相应的进程提供服务,而是在系统启动时,单独作为守护进程运行的。在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命令,可以通过它在图形界面下交互式地设置是否在启动时,运行相关服务。但是对于te.net、ftp等服务,如果将其一同关闭,那么对于管理员需要远程管理时,将非常不方便。

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

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

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

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

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

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

1.一个以"."起始的域名串,如.amms.ac.cn那么www.amms.ac.cn就和这一项匹配成功

2. 以'.'结尾的ip串如 202.37.152. 那么ip地址包括202.37.152. 的主机都与这一项匹配

3.格式为n.n.n.n/m.m.m.m表示网络/掩码,如果请求服务的主机的ip地址与掩码的位与的结果等于n.n.n.n 那么该主机与该项匹配。

4. all表示匹配所有可能性

5. expect表示除去后面所定义的主机。如:list_1 except list_2 表示list_1主机列表中除去list_2所列 出的主机

6. local表示匹配所有主机名中不包含'.'的主机 上面的几种方式只是linux提供的方式中的几种,但是对于我们的一般应用来说是足够了。

我们通过举几 个例子来说明这个问题:

例一:我们只希望允许同一个局域网的机器使用服务器的ftp功能,而禁止副广域网上面的ftp服务请求, 本地局域网由 202.39.154. 、202.39.153. 和202.39.152. 三个网段组成。在hosts.deny文件中, 我们定义禁止所有机器请求所有服务: all:all 在hosts.allow文件中,我们定义只允许局域网访问ftp功能: in.ftpd -l -a: 202.39.154 202.39.153. 202.39.152. 这样,当非局域网的机器请求ftp服务时,就会被拒绝。而局域网的机器可以使用ftp服务。 all:all 然后重新启动你的 .netd进程: /etc/rc.d/init.d/.net restart但是hosts.deny文件只能控制/etc/.netd.conf文件中包含的服务的访问这些服务有/usr/bin/tcpd管理。tcpwrapper监听接入的网络请求,然后与在hosts.allow和hosts.deny的中的服务比较,然后做出允许或拒绝的决定。但是对于wrapper没有包含的服务你就需要采用其他方法了


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons