在
Linux
进程分为:独立进程和非独立进程
非独立进程:是依赖于超级守护进程的进程,
且受
Xinetd
管理,并在启动服务时
必须启动
例子:
#chkconfig –level 2345 telnetd on
关与
chkconfig
的命令:
#chkconfig –list
列出所有的启动的服务
#Chkconfig --list SERVICENAME:
可以查看
SERVICENAME
是否启动
#chkconfig --add SERVICENAME
把一个新的服务通过
chkconfig
管理
# chkconfig --dele SERVICENAME
把一个服务从
chkconfig
中移除、
#chkconfig --level [12345] SERVICENAME
把
SERVICENAME
在
12345
级别中开机启动
然后启动
Xinetd
:
service xinted start | restart | stop | status
:
/etc/rc.d/init.d/xinetd start| restart |stop | status
非独立进程在安装后会在
/etc/xinetd.d/
目录下面生成个和该服务名称相同的文件,在该文件中有一些关于该服务配置的规则,则需用户自己去创建该规则分别对应的:
/etc/xinetd.d/SERVICE
,当然也可以在
/etc/hosts.allow
和
/etc/hosts.deny
中定义规则;
同时有些独立进程只要是连接到
libwrap.so
都受
tcp_wrappers
管理
,
可以用命令:
ldd `which SERVICENAME`
但是依赖于超级守护进程的进程也受
tcp_wrappers
管理但是要找到执行该程序的二进制文件,
在
linux
进程中,独立进程有自己的安全机制,且安全机制的优越性远远大于受
tcp_wrappers
;
有两个文件分别是:
/etc/hosts.allow
,
/etc/hosts.deny
在开机启动时
/etc/rc.d/rd.sysinit
依次读取文件
/etc/hosts/hosts.allow
和
/etc/hosts.deny
文件,在两个文件中分别配置是每个服务的规则
2
在
/etc/hosts.allow
中定义的规则,但是一般情况下在该文件下定义的都是允许的,可以不指明动作。但是这要和
/etc/hosts.deny
文件中要定义拒绝所有,不然在
/etc/hosts.deny
不作任何定义,默认情况下是被允许的,所以两个文件应该结合使用。当然在该文件下也可以定义服务被拒绝的,但是要指明动作,在
/etc/hosts.deny
中也可以定义服务被允许访问,但是要指明动作
在该文件中定义规则的格式:
在
/etc/hosts.allow
SERVICENAME: IP| DOMAINNAME
SERVICENAME: IP| DOMAINNAME : DENY
SERVICENAME: NETWORK EXCEPT IP: [ALLOW] | DENY
ALL: ALL
是允许所有的服务
在
/etc/hosts.deny
SERVICENAME: IP | DOMAINNAME
当指明域名是必须在家
”.”
,只要在该域中的计算机都拒绝
SERVICENAME : IP | DOMAINNAME : ALLOW
SERVICENAME: ALL
ALL:ALL
拒绝所有的服务
3
在
/etc/hosts.allow
和
/etc/hosts.deny
也可以执行命令
spawn ,
twist 和banners
spawn 可以执行后面的shell
twist 直接拒绝服务 并反会起后面的信息,并直接拒绝
banners 可以定义用户在登录服务是显示欢迎信息,但是给文件信息必须存在一个目录下面,文件的名字必须和是对应服务的进程名
在该文件中的规则格式:、
SERVICENAME: IP|DOMAINNAME: spawn echo `date` %c %s >> /var/log/tcp_wappers
注:如果是重定向的到日志是不能的定义到家目录中
SERVICENAME: IP|DOMAINNAME: twist echo `date` %c %s >> /var/log/tcp_wappers
注:
该命令直接拒绝该服务
在
/etc/hosts.allow
和
/etc/hosts.deny
文件中可以显示的信息
%c client information
%s server information
%h the client’name information
%p server PID