tcp wrapper

来源:互联网 发布:世界国家城市数据库 编辑:程序博客网 时间:2024/05/18 08:21

转载自:http://blog.chinaunix.net/uid-24648486-id-2420628.html#

tcp wrapper是一款访问控制的工具,很类似iptables的功能,但是要比iptables功能要小很多,一般只有在满足以下条件时才能使用tcp wrapper       1),在编译的时候明确表示能接受tcp wrapper的控制                        通过ldd `which sshd`来查看                        通过strings `which portmap`| grep hosts查看       2),必须是tcp协议这个时候才能实现tcp wrapper的控制,虽然能功能范围少了一点,但是tcp wrapper配置起来要比iptables简单很多能接受tcp wrapper控制的服务比如:telnet ,ssh ,vsftp所谓的监听从编程角度来讲就是一段程序通过循环不停的对一个端口进行扫描实际上tcp wrapper的实现就是主要是通过配置以下两个文件:   /etc/hosts.allow   /etc/hosts.denytcp wrapper的格式:   daemon_list: client_list [:options]   服务名     : 客户端名    [选项]         daemon_list有以下几种格式:                vsftpd: 192.168.0.                vsftpd,sshd,telnetd: 192.168.0.                All: 192.168.0.                daemon@host                     #指定只在某个特定的地址上进行控制比如:                vsftpd@192.168.0.186            #有多块网卡的情况下         client_list有以下几种格式:                IP                network address/mask           #网络地址(只能使用类似255.255.完全ip地址格                                                式,不能使用位长度表示)                hostname                       #主机名称                     .a.org                     #表示.a.org域内的所有主机以下是以vsftp为例进行演示(拒绝172.16.100.1访问ftp服务器): 1),yum install vsftpd 2),  service vsftpd start 3),vim /etc/hosts.deny 里面写入                        vsftpd: 172.16.100.1 4),配置完立即生效,不需要重启服务 5),通过windows客户端进行认证只允许172.16.网段访问ftp: 1),vim  /etc/hosts.allow 写入: vsftpd: 172.16. 2), vim /etc/hsots.deny      :   vsftpd: ALL以下是对telnet(监听23号端口)的介绍:  telnet是一个非独立守护进程,由超级守护进程(xinetd)代为管理,它接受tcp wrapper的控制,但是     实际上不是telnet接受tcp wrapper的控制,而是xinetd接受tcp wrapper的控制  telnet传输的过程是明文  telnet一般不允许管理员直接登录(可以先以普通身份登进去,然后su - root) 1),yum install telnet-server 2),ls /etc/xinetd.d               #里面会有telnet,由此说明telnet是接受超级进程xinetd控制 3),ldd `which xinetd`           #可以发现超级守护进程是接受tcp wrapper控制的 4),chkconfig telnet on          #注意这里只是说明下一次开机会自动启动,不能立即生效 5),service xinetd restart       #通过重启超级进程来重启telnet 6),useradd gentoo 7),passwd gentoo 8),telnet 172.168.25.1测试只允许172.16.0.1登录telnet: vim /etc/hosts.deny 写入:  in.telnetd:ALL EXCEPT 172.16.0.1[:options] 介绍: spawn                              #发起一些额外的命令vim /etc/hosts.deny         写入:in.telnet: ALL EXCEPT 172.16.0.1 : spawn echo "%u from %a attempt to login %A ,the daemon is %d." >>/var/log/telnet.log                        除了spawn还有allow 和 deny分别表示在/etc/hosts.allow中deny 和 /etc/hosts.deny中允许 比如:   vim /etc/hosts.deny中写入 :   in.telnetd: 172.16. :ALLOW                                  ALL:ALL        #表示只允许172.16.网段使用telnet登录

相关链接:http://blog.csdn.net/qinglinsan/article/details/51419621