allow的优先级要高于deny,在这两个档案内的基本语法是:
service:ip/hostname/domain:action
(service其实是启动该服务的程序,举例来说,/etc/init.d/ssh 这个script里面,实际上启动ssh服务的是sshd这个程序,所以你的service就应该是sshd!)
下面以FC4中的/etc/xinetd.d/telnet服务为例进行设置:(其服务由in.telnet这个程序启动)
要求:
1。只允许140.116.4.0/255.255.255.0与140.116.79.0/255.255.255.0这两个网域,及140.116.141.99这个主机可以进入telnet服务器;
2。此外的其它IP全部挡掉
我们可在 /etc/hosts.allow中写入以下内容:
in.telnetd:140.116.44.0/255.255.255.0
in.telnetd:140.116.79.0/255.255.255.0
in.telnetd:140.116.141.99
in.telnetd:LOCAL
在/etc/hosts.deny中写入:
in.telnet:ALL
--------------------------------------------------------------------------------------------------------------------------------
我们还可以加入更安全的设定,例如,当有其它人扫描我的telnet port时,就将他的IP记住。这就有额外的动作参数加在第三栏了。主要动作有:
spawn(action)
可以利用后续的shell来进行额外的工作,且具有变量的功能,主要的变量内容为:%h(hostname) ,$a(address),$d(daemon)等等;
twist(action)
立刻以后续的指令进行,且执行完后终止该次联机的要求
我们知道,finger可以反向追踪网络封包的来源,所以,我们希望这样:
1。利用safe_finger去追踪出对方主机的信息;
2。将该追踪到的结果以email的方式寄给root ;
3。在对方屏幕上显示不可登入的信息
此时可以利用 spawn (action1) | (action2) :twist (action3)来进行,也就是说,在/etc/hosts.deny的第三字段可以继续延伸下去。整个/etc/hosts.deny信息有如这样:
in.telnet:ALL:spawn (echo "security notice from host `/bin/hostname`" ;\
echo;/usr/sbin/safe_finger @%h) | \
/bin/mail -s "%d-%h security" root & \
:twist (/bin/echo -e "\n\nWARNING connectiong not allowed.\n\n")
阅读(2242) | 评论(0) | 转发(0) |