Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10706179
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-07-17 09:32:23

Tcp-Wrapper管理一些网络服务,控管哪些ip可以连接,哪些ip拒绝连接
 
先查询安装的tcp_wrappers如下
[root@HI0-OA-nagios ~]# rpm -qa|grep tcp
tcp_wrappers-7.6-40.4.el5
 
想知道具体的tcp_wrappers包含哪些文件如下
[root@HI0-OA-nagios ~]# rpm -ql tcp_wrappers-7.6-40.4.el5
/usr/include/tcpd.h
/usr/lib/libwrap.a
/usr/lib/libwrap.so
/usr/lib/libwrap.so.0
/usr/lib/libwrap.so.0.7.6
/usr/sbin/safe_finger
/usr/sbin/tcpd
/usr/sbin/try-from
/usr/share/doc/tcp_wrappers-7.6
/usr/share/doc/tcp_wrappers-7.6/BLURB
/usr/share/doc/tcp_wrappers-7.6/Banners.Makefile
/usr/share/doc/tcp_wrappers-7.6/CHANGES
/usr/share/doc/tcp_wrappers-7.6/DISCLAIMER
/usr/share/doc/tcp_wrappers-7.6/README
/usr/share/doc/tcp_wrappers-7.6/README.IRIX
/usr/share/doc/tcp_wrappers-7.6/README.NIS
/usr/share/man/man3/hosts_access.3.gz
/usr/share/man/man5/hosts.allow.5.gz
/usr/share/man/man5/hosts.deny.5.gz
/usr/share/man/man5/hosts_access.5.gz
/usr/share/man/man5/hosts_options.5.gz
/usr/share/man/man8/tcpd.8.gz
一般来说Tcp-Wrapper支持的服务有pop3sshdvsftpdtelnetimap等,想知道怎样判断一个服务被Tcp-Wrapper支持呢,我以sshd为例
[root@HI0-OA-nagios ~]# ldd /usr/sbin/sshd
        linux-gate.so.1 =>  (0x00e16000)
        libwrap.so.0 => /usr/lib/libwrap.so.0 (0x005a9000)
        libpam.so.0 => /lib/libpam.so.0 (0x00873000)
        libdl.so.2 => /lib/libdl.so.2 (0x001f1000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x005b1000)
        libaudit.so.0 => /lib/libaudit.so.0 (0x002e4000)
                                  .
                                  .
省略N项,看到上面的libwrap.so.0 => /usr/lib/libwrap.so.0 (0x005a9000)这一行了吧,见到造型这样的就是支持的!
 
 
当封包到达主机之后,使用 TCP-Wrapper 会先参考 hosts.allow,若是该服务在 hosts.allow 里面,就会先被通过,如果不在 hosts.allow 里面,就会继续往下,参考 hosts.deny,如果该服务在 hosts.deny 在该项目里面,那么就无法使用;最后,万一该服务在 hosts.allow 或 hosts.deny 里被没有被描述的话,就可以使用。实际中,都是先 deny 所有的 service,再一一打开。因此,都会在 hosts.deny 里会设定 ALL:ALL,再到 hosts.allow 
 
一个实例
vi /etc/hosts.deny
sshd:ALL EXCEPT 192.168.1.100: spawn (/bin/echo illegal connection attempt from %h %a to %d %p at `date` >>/var/log/unknow.log | mail root) &
只是允许192.168.1.100访问sshd,连接到linux。spawn开始的这一段意思是除了192.168.1.100之外的所有的访问都把它记录到一个log文件中去,这些参数是什么意思呢,你说你不知道啊,我说什么来着,linux下有问题找男人啊,(⊙o⊙)?man hosts.deny 答案尽在man中
 
 
 
 

http://asmboy001.blog.51cto.com/340398/156332

阅读(2374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~