Chinaunix首页 | 论坛 | 博客
  • 博客访问: 782981
  • 博文数量: 143
  • 博客积分: 2077
  • 博客等级: 大尉
  • 技术积分: 2393
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-28 12:57
文章存档

2016年(2)

2015年(3)

2014年(3)

2013年(41)

2012年(94)

分类: LINUX

2012-10-19 10:06:21

服务的防火墙管理:xinetd,TCP Wrappers
控制at的使用可修改: /etc/at.{allow|deny}
控制crontab是使用: /etc/cron.{allow|deny}
管理程序的网络使用: /etc/hosts.{allow|deny}

  任何以 xinetd 管理的服务都可以通过 /etc/hosts.allow,/etc/hosts.deny 来设置防火墙。但是不支持TCP Wrappers 函数功能的软件程序无法使用 /etc/hosts.{allow|deny}的设置值。
  所以设置前得先看看一个服务器程序是否支持 TCP Wrappers.

测试一下sshd及httpd这两个程序有误支持TCP Wrappers的功能
#ldd $(which sshd httpd)
ldd 这个命令可以查询某个程序的动态函数库支持状态。
  重点在于有无支持TCP Wrappers提供的libwrap.so这个函数库文件。从上图看出,sshd有支持但是httpd不支持。所以sshd可以使用/etc/hosts.{allow,deny}进行类似防火墙的抵挡机制,但是httpd则没有。


配置文件语法
  这两个文件的配置语法基本一样,如下:
: :
<服务 (即程序名)>               <操作>
注意:上面的“<>”是不存在与文件中的。

例子:#vim /etc/hosts.deny
加入下面一行就可以限制访问你的主机的成员了。

  这两个文件判断依据是:以/etc/hosts.allow 为优先,若分析到的 IP 或网段没有在这个文件中,就以/etc/hosts.deny来判断。
  一般,我们将允许进入的写在 /etc/hosts.allow里面,不允许进入的写在 /etc/hosts.deny 里面。
  此外,我们还可以用一些特殊参数在第一及第二字段:
ALL:代表全部的program_name或者是IP的意思,如 ALL:ALL:deny;
LOCAL:代表来自本机的意思,例如 ALL:LOCAL:allow;
UNKNOWN:代表不知道的IP或者是domain或者是服务时;
KNOWN:代表为可解析的IP,domain等信息。

  例子:允许140.116.0.0/255.255.0.0,203.71.39.0/255.255.255.0这两个域,及203.71.38.123这个主机可以进入我们的rsync服务器。
#vim /etc/hosts.allow
rsync: 140.116.0.0/255.255.0.0
rsync: 203.71.39.0/255.255.255.0
rsync: 203.71.38.123
rsync: LOCAL
#vim /etc/hosts.deny
rsync: ALL


TCP Wrappers特殊功能
  这是一个更安全的功能,假如有人扫描我的rsync port时,我就将他的IP记住。这样的一些参数要加在第三列,但是前提是我们安装了 TCP Wrappers这套软件。
详细的主要操作有:
spawn(action)
  可以利用后续的shell来进行额外的工作,且具有变量的功能,主要的变量内容为:             %h(hostname),%a(address),%d(daemon)等。
twist(action)
  立刻以后续的命令进行,且执行完后终止该次连接的请求。

  为了达成跟踪来源目标的相关信息的目的,此时我们需要safe_finger这个命令的辅助。而且我们还希望客户端的这个恶意者能够被警告。流程如下:
  1.利用safe_finger去跟踪出对方主机的信息;
  2.将跟踪到的结果以Email的方式寄给本机root;
  3.在对方屏幕上显示不可登陆且警告他已经被记录的信息。
#vim /etc/hosts.deny
rsync:ALL: spawn (echo "security noice from host \ $(/bin/hostname)";echo;/usr/sbin/safe_finger @%h) | \
/bin/mail -s "%d-%h security" root & \
:twist (/bin/echo -e "\n\nWARNING connection not allowed.\n\n")


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