资源描述
chconfig 、xinetd进程和tcp_wrappers的使用
一、chkconfig的使用
#chkconfig - -list 列出所有开机自动开启的服务
#chkconfig - -add NAME 把NAME添加到chkconfig服务中
#chkconfig - -del NAME 把NAME服务从chkconfig服务中移除
#chkconfig ypbind on 把ypbind加入开机自动启动的行列,默认为2345级别
#chkconfig ypbind off 把ypbind服务改为开机自动为off状态
#chkconfig - -level 23 ypbind on 把ypbind服务改为开机在23级别自动启动
二、xinetd进程的管理
xinetd本身是独立守护进程,它管理着非独立守护进程,/etc/xinetd.conf是xinetd的主配置文件,定义服务的工作方式,/etc/xinetd.d/下存放着非独立守护进程的服务文件
非独立守护进程服务的生效:
#chkconfig SERVICE on|off 开机自动设定为on或off状态
#service xinetd restart 当前生效SERVICE服务为on或off
下图是/etc/xinetd.conf文件,其中图中的 enable 是指定服务默认是否启用 若=yes则默认为启动=no为默认不启动;disable 也是指定服务默认是否启用,若=no则默认为启动=yes为默认不启动;log_on_failure是指定登录失败后日志中会记录的内容,log_on_success是指定登录成功后日志中记录的内容;no_access指定不允许访问的ip;only_from指定允许访问的ip;其中cps =50 10指单位时间内并发连接服务器的数量达到50时就休息10秒;per_source定义同一个ip最多可以发起的连接数。
/etc/xinetd.conf是定义xinetd进程管理的所有非独立守护进程服务,各个非独立守护进程还有定义自己服务的文件,当两个文件有冲突时还以服务自己的文件为准。
下图是telnet服务的配置文件,其中socket_type指定套接字类型;user指定此服务由什么用户来执行;server指定执行的命令。
下面我们来做一些此文件控制内容的测试,首先我们在192.168.0.141上查看是否安装了telnet包,如果未安装就安装此包,安装后在/etc/xinetd.d/目录下会自动生成以telnet为名字的文件,现在启动生效telnet服务
#chkconfig telnet on
#service xinetd restart
由上图可知telnet服务意启动现在我们在192.168.0.142上连接测试一下
现在我们修改telnet文件中田间的规则如下(请注意每次修改telnet文件都要重启xinetd才能生效)
此时我们再从192.168.0.142连接一下,可以看到192.168.0.142已经被拒绝了,同时当我们临时改变了一下ip再次连接时就连接上了,所以我们明白当只指定no_access时其他ip默认是可以连接的
现在我们修改telnet文件中田间的规则如下(请注意每次修改telnet文件都要重启xinetd才能生效)
此时我们再从192.168.0.142连接一下,可以看到192.168.0.142是被允许的,连接成功,当我们改变142的ip为147再连接时就被拒绝了,所以我们明白只指定only_from时,其他ip默认都是被拒绝的
现在我们修改telnet文件中田间的规则如下(请注意每次修改telnet文件都要重启xinetd才能生效)
现在我们在192.168.0.142上测试一下,可以看到连接被拒绝了,当我们改变了ip以后连接成功了,现在我们明白当only_from和no_access同时定义时,我们取其定义范围的交集
三、tcp_wrappers的应用
tcp_wrapper管理一些网络服务,控管哪些ip可以连接,哪些ip拒绝连接 先查询安装的tcp_wrappers如下
如何查看哪个服务受tcp_wrapper管理我们可以用以下命令,如果包含圆框中的链接则就受tcp_wrapper管理,同时tcp_wrapper还管理所有被xinetd进程管理的非独立进程服务
tcp_wrappers是通过/etc/hosts.allow和/etc/hosts.deny文件来控制的,现在我们把刚才改变的/etc/xinetd.d/telnet文件恢复为默认状况来测试一下tcp_wrappers的使用,修改/etc/hosts.allow,请注意圆框内一定要与/etc/xinetd.d/telnet中server的值一致,编辑此文件会直接生效,不需要重启服务
现在我们在192.168.0.142上测试一下
现在我们改变一下142的ip来测试一下,tcp_wrappers工作时首先读取/etc/hosts.allow如果找到匹配项就会允许使用此服务;如果没有匹配项则读取/etc/hosts.deny文件,在此文件中如果有匹配项就拒绝此主机使用此服务,如果此文件也没有匹配项则默认为可以使用此服务
我们也可以把规则都定义在/etc/hosts.allow或/etc/hosts.deny文件中
我们来测试一下
改变ip为192.168.0.145再来测试一下
修改/etc/hosts.allow如下图,spawn在连接时执行一个程序,其中执行使用的命令要写全路径,如:/bin/echo ,其中的“ %c %s ”为命令替换(%c是客户端信息 %a是客户端地址 %A是服务器端地址 %d服务器端的进程名 %p服务进程的id号 %h是客户端的主机名)
从192.168.0.142上连接141
在141上查看/var/log/tcp_wrappers.log文件
修改/etc/hosts.allow如下图,其中twist是命令替换,把前面的替换为后面来执行。其中执行使用的命令要写全路径,如:/bin/echo ,其中的“ %c %s ”为命令替换(%c是客户端信息 %a是客户端地址 %A是服务器端地址 %d服务器端的进程名 %p服务进程的id号 %h是客户端的主机名)
从192.168.0.142上连接141
展开阅读全文