tcp wrapper (tcp 层存取控制过滤)访问控制工具, 及于tcpd 它比iptables功能小的多。配置简单 ,为由inetd生成的服务提供了增强的安全性。通过使用这种方法能够提供日志、返回信息给联入的连接、使得服务程序只接受内部链接等。 listen 监听 socket 循环 提供服务 网络套接字服务层。 tcp wrappers 使用访问控制列表来防止欺骗. acl是/etc/hosts.allow 和 /etc/hosts.deny文件中的系统列表 在配置为验证主机名到ip地址映射,以及阻止使用ip源路由的软件包时,tcp wrappers 提供某些防止ip欺骗的保护。 1,Linux 系统tcp wrappers 并不是所有的服务都支持;有ldd命令查看指定服务是否支持tcp wrappers #ldd /usr/sbin/sshd | grep libwrap.so 查看libwarp.so文件 2.tcp wrappers 规则定义 在tcp wrappers 中通过/etc/hosts.allow 和 /etc/hosts.demy 配置规则允许或指定客户端对指定服务的访问。修改保存文件后配置无需要重新启动服务立即生效 配置生效原则如下
1.在/etc/hosts.allow 和/etc/host.deny无匹配记录访问可通过 2.当/etc/host.allow 有匹配记录访问可通过 3.当/etc/host.allow 和/etc/hosts.deny 都匹配时访问可通过
你的服务器是否支持看是否支持TCP wrappers的 两种方法判断
ldd `which command` strings `which command`
portmap的进程 配置文件 /etc/hosts.allow 允许访问 /etc/hosts.deny 拒绝访问 如果有这两个文件就说明支持TCP wrappers
tcp wrapper的访问机制: 先检查allow文件,如果有就直接放行,
daemon_list: client_list[:options] 监听的守护进程 及于daemon_list: -> vsftp:192.168.0. —> vsftpd,sshd,in.telnetd: 多个服务控制 -> ALL 所有服务 -> 只对这一个进行控制
例:如何阻止ftp主机192.168.0.87访问本地服务器
首先在本地服务器中安装ftp服务 #yum install vsftpd
启动服务 #service vsftpd start
用Vim编辑器 #vim /etc/hosts.deny
写入拒绝的主机 vsftpd :192.168.0.87 就可以拒绝他的访问
及于client_list 的控制
—> IP 单个ip —> network address 网络地址 、network/mask: 网络加掩码 不能使用长度格式 、 172.16 网段地址 —> HOSTNAME 主机名称 、fqdn fqdn 、.a.org
控制vsftp的 拒绝172.16.100.100 编辑 vim /etc/hosts.deny 写入vsftpd:172.168.100.1 拒绝 MACRO 宏定义 ALL 所有主机 LOCAL 本地主机 所有主机可以解析KNOWN UNKNOWN, PARANOID EXCEPT 除了······ telnet 是非独立守护进程
如何允许拒绝telnet用户的登录访问
说明查看 查看进程 、
yum install xinetd 安装xinetd yum install telnet-server 安装telnet-server chkconfig --list 查看端口看telnet的23号端口是否开启这个命令只有开机启动才生效 chkconfig telnet on 开机自动启动telnet进程 netstat -tnlp 查看端口的命令 server xinetd start 监听telnet端口 并启动23号端口
ls /etc/xinetd.d
service xinetd restart 不允许 Vim /etc/host.deny vsftpd:ALL in.telnetd:
option选项 spawn: 发起执行启动 spawn echo “”