免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 639 | 回复: 0
打印 上一主题 下一主题

RedHat9教程--控制对服务的访问 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-02 12:37 |只看该作者 |倒序浏览

维护 Red Hat Linux 系统的安全性极端重要。管理系统安全的方法之一是谨慎管理对系统服务的使用。你的系统可能需要提供对某些服务的公开利用(譬如 httpd ,如果你在运行万维网服务器的话)。然而,如果你不需要提供某项服务,则应该把它关闭 — 这会降低你对可能会出现的偷机取巧情况的曝光率。
管理对系统服务访问的方法有好几种。你必须根据服务、系统配置、以及你对 Linux 的掌握程度来决定应使用哪一种方法。
拒绝对某一服务的使用的最简便方法是将其关闭。不论是由 xinetd (我们会在本章节后面详细讨论)管理的服务,还是在 /etc/rc.d 层次中的服务,都可以使用以下三种不同的应用程序来配置其启动或停止:


  • 服务配置工具 — 一个图形化应用程序,它显示了每项服务的描述,以及每项服务是否在引导时启动(运行级别 3、4、5),并允许你启动、停止、或重新启动每项服务。

  • ntsysv — 基于文本的程序。它允许你为每个运行级别配置引导时要启动的服务。对于不属于 xinetd 的服务而言,改变不会立即生效。你不能使用这个程序来启动、停止、或重新启动不属于 xinetd 的服务服务。

  • chkconfig — 一个允许你在不同运行级别启动和关闭服务的命令行工具。对于不属于 xinetd 的服务而言,改变不会立即生效。你不能使用这个工具程序来启动、停止、或重新启动不属于 xinetd 的服务服务。

你可能会发现以上工具比使用下面这些方法更简单 — 手工编辑位于 /etc/rc.d 目录下的大量符号链接,或者编辑 /etc/xinetd.d 中的 xinetd 配置文件。
管理对系统服务的使用的另一种方法是通过使用 iptables 来配置 IP 防火墙。如果你是 Linux 新手,请注意, iptables 可能不是你的最佳解决办法。设置 iptables 是一项复杂的作业,最好由经验丰富的 Linux 系统管理员来执行。
从另一角度而言, iptables 的优越性是它的灵活性。譬如,如果你需要一个定制的解决方案来为某些主机提供到某些服务的使用权, iptables 能够为你提供。关于 iptables 的详情,请参阅 《Red Hat Linux 参考指南》 和 《Red Hat Linux 安全指南》 。
此外,如果你寻找的是能够为你的家用机器设置常规访问规则的工具程序,并且(或者)你还是 Linux 新手,你应该尝试使用 安全级别配置工具 ( redhat-config-securitylevel )。该工具允许你为系统选择安全级别,它和 Red Hat Linux 安装程序中的 「防火墙配置」 屏幕相似。你还可以使用 GNOME Lokkit GNOME Lokkit 是一种 GUI 工具,它会向你询问一些你要如何使用你的机器的问题。根据你的回答,它会为你配置一个简单的防火墙。关于这些工具的详情,请参阅
第13章
。如果需要更明确的防火墙规则,请参阅 《Red Hat Linux 参考指南》 中的 iptables 这一章。
14.1. 运行级别
在你配置到服务的访问之前,你必须理解 Linux 运行级别。运行级别是一种状态,或 模式(mode) ,它由列在 /etc/rc.d/rc  .d 目录中的服务来定义,其中  是运行级别的数字。
Red Hat Linux 使用下列运行级别:


  • 0 — 停运

  • 1 — 单用户模式

  • 2 — 没有使用(可由用户定义)

  • 3 — 完全的多用户模式

  • 4 — 没有使用(可由用户定义)

  • 5 — 完全的多用户模式(带有基于 X 的登录屏幕)

  • 6 — 重新引导

如果你使用的是文本登录屏幕,你是在运行级别 3 中操作。如果你使用的是图形化登录屏幕,你是在运行级别 5 中操作。
默认的运行级别可以通过修改 /etc/inittab 文件来改变,该文件在接近开头的地方有一行与下面相似:
id:5:initdefault:
把这一行中的数字改成你想要的运行级别。所做改变在系统重新引导之后才会生效。
要立即改变运行级别,使用命令 telinit ,其后跟随运行级别数字。你必须是根用户才能使用这项命令。
14.2. TCP 会绕程序
许多 UNIX 系统管理员对使用 TCP 会绕程序来管理对某些网络服务的使用比较熟悉。由 xinetd (以及任何带有内建 libwrap 支持的程序)管理的服务能够使用 TCP 会绕程序来管理使用权。 xinetd 能够使用 /etc/hosts.allow 和 /etc/hosts.deny 文件来配置到系统服务的使用。如文件的名称所暗示, hosts.allow 包含一个允许客户使用被 xinetd 所控制的网络服务的规则列表, hosts.deny 文件包含拒绝使用权的规则。 hosts.allow 文件优先于 hosts.deny 文件。对使用权限的授予或拒绝可以根据个别 IP 地址(或主机名)或一类客户而定。详情请参阅 《Red Hat Linux 参考指南》 和 hosts_access 的说明书(man)页第五章( man 5 hosts_access )。
14.2.1. xinetd
要控制到互联网服务的访问,使用 xinetd 。它是 inetd 的安全替换品。 xinetd 守护进程保存系统资源,提供访问控制和日志记录,并可以用来启动特殊目的的服务器。 xinetd 能够用来提供到某些主机的访问;拒绝到某些服务的访问;限制进入连接的频率和(或) 连接造成的载量等等。
xinetd 无时不在运行并监听它所管理的所有端口上的服务。当某个要连接它管理的某项服务的请求到达时, xinetd 就会为该服务启动合适的服务器。
xinetd 的配置文件是 /etc/xinetd.conf ,但是它只包括几个默认值以及包含 /etc/xinetd.d 目录中的配置文件。如果目录的指令。要启用或禁用某项 xinetd 服务,编辑位于 /etc/xinetd.d 目录中的配置文件。如果 disable 属性被设为 yes ,该项服务已禁用。如果 disable 属性被设为 no ,则该项服务已被启用。 你可以使用 服务配置工具 ntsysv 或 chkconfig 来编辑任何一个 xinetd 配置文件或改变它的启用状态。要获得由 xinetd 控制的网络服务列表,使用 ls /etc/xinetd.d 命令来列举 /etc/xinetd.d 目录的内容。
14.3. 服务配置工具
服务配置工具 是图形化应用程序。它由 Red Hat 开发,用来配置 /etc/rc.d/init.d 中在引导时(对运行级别 3、4、5 而言)要启动 哪些 SysV 服务,哪些 xinetd 服务。它允许你启动、停止、和重新启动 SysV 服务以及重新启动 xinetd 。
要从桌面启动 服务配置工具 ,点击面板上的 「主菜单」 => 「系统设置」 => 「服务器设置」 => 「服务」 ,或在 shell 提示下(如 XTerm GNOME 终端 ),键入命令 redhat-config-services 。

图 14-1. 服务配置工具
服务配置工具 显示当前运行级别以及你目前正编辑的运行级别。要编辑不同的运行级别,从下拉菜单中选择 「编辑运行级别」 ,然后选择运行级别 3、4、或 5。关于对运行级别的描述,请参阅 第 14.1 节 。
服务配置工具 不但列出了 /etc/rc.d/init.d 中的服务,还列出了由 xinetd 控制的服务。点击左侧列表中的服务名来显示该服务的简短描述以及它的服务状态。如果这个服务不是 xinetd 服务,状态窗口会显示该服务目前是否在运行。如果该服务被 xinetd 所控制,状态窗口会显示 「xinetd 服务」 这个短语。
要立即启动、停止、或重新启动某项服务,从列表中选择该项服务,然后点击工具栏上的相应按钮(或从 「行动」 下拉菜单中选择行动)。如果该服务是一个 xinetd 服务,行动按钮会被禁用,因为它们不能被单个地启动或停止。
如果你通过选择或取消选择服务名旁的复选箱来启用或禁用了 xinetd 服务,你必须从下拉菜单中选择 「文件」 => 「保存改变」 来重新启动 xinetd ,并立即启用或禁用你所改变的 xinetd 服务。 xinetd 还被配置成自动记忆设置。你可以同时启用或禁用多个 xinetd 服务,在结束后再保存改变。
譬如,假设你选择在运行级别 3 中启用 rsync ,并保存了改变。 rsync 服务会立刻被启用。下一次 xinetd 被启动时, rsync 仍会被启用。
警告:当你保存了 xinetd 服务中所做的改变,重新启动了 xinetd 后,改变就会立即生效。当你保存了对其它服务的改变,运行级别会被重新配置,但是改变不会立即生效。
要在引导时为当前选中的运行级别启用不属于 xinetd 的服务,选择列表中该服务名旁的复选箱。配置了运行级别后,通过选择下拉菜单上的 「文件」 => 「保存改变」 来应用改变。运行级别配置会被改变,但是不会被重新启动;这样,改变就不会立即生效。
譬如,假定你在配置运行级别 3。如果你把 anacron 服务的状态从“被选”改成“不选”,然后选择 「保存改变」 ,运行级别 3 的配置会被改变,因此 anacron 在引导时就不会被启动。但是,运行级别 3 没有被重新初始化,因此 anacron 仍在运行。这时,从下列选择中任选一个:

  • 停止 anacron 服务 — 要关闭该服务,从列表中选择它,然后点击 「停止」 按钮。一条声明服务已被成功停止的消息就会被显示出来。

  • 重新初始化运行级别 — 重新初始化运行级别的方法是:打开 shell 提示,然后键入命令 telinit 3 (这里的 3 是运行级别数字)。如果你改变了多个服务的 「引导时启动」 值,并想立即激活改变,推荐你使用这种方法。

  • 什么都不做 — 你不必停止 anacron 服务。你可以等到系统重新引导时才停止该服务。在系统下一次引导时,运行级别就会被初始化为不运行 anacron 服务。
    14.4. ntsysv
    ntsysv 工具为激活或停运服务提供了简单的界面。你可以使用 ntsysv 来启动或关闭由 xinetd 管理的服务。你还可以使用 ntsysv 来配置运行级别。按照默认设置,只有当前运行级别会被配置。要配置不同的运行级别,使用 --level 选项来指定一个或多个运行级别。譬如,命令 ntsysv --level 345 配置运行级别 3、4、和 5。
    ntsysv 的界面和文本模式的安装程序的工作方式相仿。使用上下箭头来上下查看列表。使用空格键来选择或取消选择服务,或用来“按” 「确定」 「取消」 按钮。要在服务列表和 「确定」 「取消」 按钮中切换,使用 [Tab] 键。 * 标明某服务被设为启动。 [F1] 键会弹出每项服务的简短描述。
    警告:由 xinetd 管理的服务会立即受到 ntsysv 的影响。其它服务则不会立即生效。你必须使用 service daemon stop 命令来停止某项服务。在前面的例子中,把 daemon 换成你想停止的服务名称,譬如, httpd 。把 stop 换成 start 或 restart 来启动或重新启动某服务。
    14.5. chkconfig
    chkconfig 命令也可以用来激活和停运服务。如果你使用 chkconfig --list 命令,你会看到一个系统服务列表,以及它们在运行级别 0 到 6 中已被启动( on )或停止( off )。 在列表末端,你会看到由 xinetd 管理的服务部分。
    如果你使用 chkconfig --list 来查询由 xinetd 管理的服务,你会看到 xinetd 服务是被启用( on )还是被关闭( off )了。 譬如,命令 chkconfig --list finger 返回了下列输出:
    finger on
    如上所示, finger 作为 xinetd 服务被启用。如果 xinetd 在运行, finger 就会被启用。
    如果你使用 chkconfig --list 来查询 /etc/rc.d 中的服务,你会看到服务在每个运行级别中的设置。譬如,命令 chkconfig --list anacron 返回了下列输出:
    anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    chkconfig 还能用来设置某一服务在某一指定的运行级别内被启动还是被停运。譬如,要在运行级别 3、4、5 中停运 nscd 服务,使用下面的命令:
    chkconfig --level 345 nscd off
    警告:由 xinetd 管理的服务会立即被 chkconfig 影响。譬如,如果 xinetd 在运行, finger 被禁用,那么执行了 chkconfig finger on 命令后, finger 就不必手工地重新启动 xinetd 来立即被启用。对其它服务的改变在使用 chkconfig 之后不会立即生效。你必须使用 service daemon stop 命令来停止个别服务。在前面的例子中,把 daemon 换成你想停止的服务名称,如 httpd 。 把 stop 换成 start 或 restart 来启动或重新启动该服务。


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12201/showart_71457.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP