天天看点

访问控制及超级守护进程

访问控制   tcpwrapper来实现  它是工作在传输层,对于进出本主机的访问某特定服务的连接基于规则进行检查的访问控制工具  以库文件的形式来实现的 (libwrap.so) 某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的。

使用ldd   查看依赖关系 是否依赖于libwrap.so  例如ldd `which sshd` | grep libwrap

或者使用strings检查这个二进制文件编译时编译进来的属性信息 看是否把libwrap以静态编译进此程序  例如 strings `which portmap` | grep hosts

/etc/hosts.allow    /etc/hosts,deny如果有着两个文件的话 说明受tcpwrapper控制

TCP WRAPPER两个重要配置文件 /etc/hosts.allow   /etc/hosts.deny 

格式:daemon_list:  client_list:   [:options] 

默认规则是允许。   匹配所有服务用ALL

daemon_list 要写成二进制文件的名字 例如 不能写http  要写httpd

client_list:接受ip地址 例表示网段可以写成192.168.1.  ;  接受基于网络和掩码的(不被允许192.168.1.0/24,允许192.168.1.0/255.255.255.0)  ;  可以使用主机名称来表示 例www.a.com,或者.a.com(很少用到)  ;  基于NIS域的方式来实现 例@notexample

telnet基于tcp实现 监听23端口    进程:in.telnetd, telnet-server

先启动超级守护进程  xinetd    开启某个服务chkconfig xinted on

所有接受超级守护进程管理的非独立守护进程都在/etc/xinetd.d目录下

接受的命令ALL  LOCAL   UNKNOWN  KNOWN  PARANOID  EXCEPT除了

EXCEPT还可以表示嵌套 例如:hosts.deny中写ALL EXCEPT192.168.1.0 EXCEPT192.168.1.1表示都被拒绝除了1.0网段但是除了1.1 说明1.1被拒绝

spawn  twist   定义具体内容   severity 用于定义访问日志的级别

banners 创建个目录在文件中写些信息 用banners调用

超级守护进程  xinetd

xinetd 是个进程 代为管理一些不常访问的服务 以节省资源 

telnet:23 提供telnet二进制程序在/usr/sbin/in.telnetd   

xinetd也是个进程   主配置文件在/etc/xinetd.conf  

凡是写在/etc/xinetd.d目录下的文件都被认为是配置文件的一部分 因为在/etc/xinetd.conf中最后一行有includedir /etc/xinetd.d/* 每一个文件都代表一个服务       

启动超级守护进程脚本 /etc/init.d/xinetd

service 后面定义服务 里面一些选项 

disable 定义服务是否被启用 

socket_type 套接字类型  两种:stream基于tcp的服务     dgram基于udp的链接

protocol 定义服务对应的协议

wait  =no或者yes     用于确定当前服务是单线程还是多线程      yes表示单线程服务,必须基于tcp的协议      no表示多线程服务

user  启动服务时以哪个用户的身份运行并启动它

server   用于启动这个二进制的程序是谁

only_from  仅允许来自于哪些地址的客户端来访问当前服务  不做限制默认允许所有

no_access 仅拒绝 做黑名单,明确定于哪些地址不允许访问

access_times 定义在什么时间可以访问服务   格式:hour:min-hour:min

log_type 日志类型     log_on_success   log_on_fail

bind 用于定义服务只监听在什么地址上的  或者用interface来指定

banner  格式banner=某个文件 用于启动服务时显示哪个文件信息

per_source  用于限制来源于同一个ip地址时最多能允许多少个并发连接   UNLIMITED表示无限制