tcp wrapper

转载自: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.deny

tcp 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值