服务访问控制

服务的启动和停止可以通过以下三种应用程序进行配置,除了以上几种工具之外,通过手动编辑 /etc/xinetd.d 目录下的 xinetd 配置文件,或者 /etc/rc.d/ 目录下的符号链接,也能够实现对服务的配置。

当别人能够访问你的系统服务时,对于服务的访问控制是相当重要的。如果你不需要提供某项服务,最好将它关闭,因为你所启用的服务越多,系统中存在的漏洞就可能越多。

对于系统服务的管理可以通过多种方式实现,至于使用哪一种,则需要根据服务的类型、系统配置和你的 Linux 应用水平来决定了。

拒绝别人访问某项服务的最简单方法就是将服务关闭掉。由 xinetd 和 /etc/rc.d/init.d/ 目录结构(常称为 SysV 服务) 管理的服务,它们的启动和停止可以通过以下三种应用程序进行配置:

 

服务配置工具

图形界面的服务管理工具,它包含对每个服务的描述,运行状态和启动状态。用户可以使用这个工具启动、重启动和停止服务。

 

ntsysv

命令行文字界面的服务管理工具,使用它能够配置服务在不同运行级别 (runlevel) 的启动状态。使用这个程序,无法启动、重启动和停止非 xinetd 服务


chkconfig

命令行的服务管理工具,使用它能够启动和停止各个运行级别的服务。与 ntsysv 命令相同,chkconfig 工具无法启动、停止和重启非 xinetd 服务

除了以上几种工具之外,通过手动编辑 /etc/xinetd.d 目录下的 xinetd 配置文件,或者 /etc/rc.d/ 目录下的符号链接,也能够实现对服务的配置。相比之下,使用前三种工具会显得更方便一些。

 

防火墙及 SELinux

管理他人对服务的访问,还可以通过 iptables 配置 IP 防火墙,如果你还是 Linux 新手,这个方法则不太适合你。iptables 的配置十分复杂,最好让经验丰富的 Linux 系统管理员来执行这项工作。

使用 iptables 控制服务访问的优点是灵活性,即使你需要自定义特定主机访问特定服务的解决方案,iptables 也能够轻易地实现你的要求。更多信息请参考《iptables》

另外,如果你在找一个为家用机器设置访问规则的工具,或者你对 Linux 不太熟悉,则可以图形界面的“防火墙配置”工具 (system-config-firewall) 对系统的防火墙策略进行配置。

注意:当你在配置某项新服务时,务必记得 Fedora/Linux 默认同时配置了防火墙和 SELinux。很多时候导致服务无法被访问,最常见的一个问题就是忘记在防火墙或者 SELinux 中添加相应的策略。