Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1743406
  • 博文数量: 391
  • 博客积分: 8464
  • 博客等级: 中将
  • 技术积分: 4589
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 15:12
个人简介

狮子的雄心,骆驼的耐力,孩子的执著!

文章分类

全部博文(391)

文章存档

2023年(4)

2018年(9)

2017年(13)

2016年(18)

2014年(7)

2013年(29)

2012年(61)

2011年(49)

2010年(84)

2009年(95)

2008年(22)

分类: LINUX

2010-02-21 14:38:32

tcp_wrappers防火墙
两个配置文件:/etc/hosts.allow和/etc/hosts.deny
格式:
service:host(s)          [:action]
服务名  主机名(或多个)   动作,符合条件后所采取的动作
关键字:
ALL
ALL EXCEPT
如:
ALL:ALL EXCEPT 192.168.0.8除了这台机器,所有的执行所有服务时被允许或拒绝。
service代表服务名,就是使用ps -e看到的服务名。
host(s)形式:192.168.0.0 192.168.1.  abc.com def.com
action的写法:
in.telnetd:ALL:spawn /bin/echo `data` %c %d >> /var/log/tcp_wrappers
表示在telnet请求时执行特定的命令,通常是向某个日志文件中写入一条信息。
spawn代表执行一个命令,%c、%d以及其它参数的用法可以使用man hosts.allow或man host.deny
tcp_wrappers防火墙的局限性:
某个服务是否可以使用tcp_wrappers防火墙,取决于该服务是否应用了libwrapped库文件,如果应用了就可以使用tcp_wrappers防火墙。sendmail、sshd、tcpd、xinetd、gdm、portmap都可以使用。
实验:
禁止某人访问你的telnet服务
in.telnetd:192.168.1.4

允许某人访问你的telnet服务,但对该访问进行日志
in.telnetd:ALL:spawn /bin/echo `data` %h >>/var/log/telnet

sshd:192.168.0.6

vi /etc/hosts
in.telnetd:ip地址
in.telnetd:crazylinux.hn.org
in.telnetd:other_ip

 

    1. 轉貼網友gsyan熱情提供的資料:
    2. FreeBSD 3.2 Release 以後(不含)的版本,4.x 全系列即內建 tcpwrapper
    • 如果沒有特別去修改,預設就會啟動 tcpwrapper,觀察 /etc/defaults/rc.conf 是不是有 inetd_flags="-wW" ,那就是啟動的參數。
    • 要管制什麼服務,直接修改 /etc/hosts.allow,改完後立即生效,不用重新啟動 inetd ,任何受 inetd 監聽的服務啟動時都會重讀 hosts.allow 。
    • 任何 deny 的部份都會自動記錄到 /var/log/messages 和顯示在 consloe 。
    • 因為 tcpwrapper 的 rules 有 firstmatch 的特性,所以寫規則先寫開放的部份,最後把它全部 deny ,最好是用 IP ,不要用 DomainName ,不然有可能可以利用 DNS 欺騙的方式來取得非法的連線
      例如:
      telnetd: 192.168.1.0/255.255.255.0 192.168.3.10 : allow
      telnetd: All : deny
      相關的語法可以參考
      man 5 hosts_options
      man 5 hosts_access
    阅读(565) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~