服务基础之防火墙

四、防火墙

功能:主机或网络的边缘,对于进出的报文根据事先定义的规则进行检查,将那些能够被规则匹配到的报文做出相应处理

 

1.防火墙分类

1.1 按逻辑分类
  • 主机防火墙

    针对单主机进行防护

  • 网络防火墙

    处于网络边缘,针对网络入口进行防护,服务于背后的局域网

 

1.2 按物理分类
  • 硬件防火墙

    在硬件级别实现防火墙功能,性能高,价格高

  • 软件防火墙

    软件管理防火墙功能逻辑,性能低,价格低

 

2.程序管理机制tcp_wrapper

tcp_wrapper

tcp_wrapper工作在内核空间和应用程序中间的库层次中。在内核接收到数据包准备传送到用户空间时都会经过库层次,对于部分(只是部分)应用程序会在经过库层次时会被wrap库文件阻挡下来检查一番,如果允许通过则交给应用程序。
  • 查看sshd是否支持wrapper

    ldd $(which sshd) | grep wrap

[root@localhostr ~]#ldd /usr/sbin/sshd | grep wrap
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f5ae884e000)
  • 通过hosts.allow和hosts.deny控制服务访问

    格式

    • daemon_list: client_list [:options]

    • "daemon_list:"的表示方法

      sshd:

      sshd,vsftpd,in.telnetd:

      ALL:

      daemon@host: 控制连接某IP的服务

    • "client_list"的表示方法

      单IP:192.168.100.8

      网段:两种写法:"172.16."和10.0.0.0/255.0.0.0

      主机名或域匹配:fqdn或".a.com"

      宏:ALL、KNOWN、UNKNOWN、PARANOID、EXCEPT

    • :options的表达方式

      ALLOW和DENY可以分别写入deny文件和allow文件,表示在allow文件中拒绝在deny文件中接受

      :ALLOW

      :DENY

      :spawn

      • spawn表示启动某程序的意思(/etc/inittab中的respawn表示重启指定程序)。例如启动一个echo程序。
      • in.telnetd: 172.16 :spawn echo “we are good $(date) >> /var/log/telnetd.log”
  • tcpwrapper的检查顺序

    hosts.allow --> hosts.deny --> 允许(默认规则)

 

3.数据包过滤机制Netfilter

 

3.1 iptables(CentOS 6)
3.1.1 netfilter(内核空间)

在这里插入图片描述

  • netfilter也是以模块化的形式存在于Linux中,所以每添加一个和netfilter相关的模块,代表着netfilter就多一个功能。

  • 存放netfilter模块的目录

    /lib/modules/$kernel_ver/kernel/net/{netfilter,ipv4/netfilter,ipv6/netfilter}。

    $kernel_ver代表内核版本号。

  • hooks functions

    钩子函数

    • 每个钩子函数上可以放置N条规则,每条钩子上的多条规则被称为链(CHAIN),
      每个功能包含多个链,被称为表(TABLE)

    组成

    • PREROUTING 进入本机后路由决策之前
    • INPUT 到达本机内部
    • OUTPUT 由本机发出
    • FORWARD 由本机转发
    • POSTROUTING 路由决策之后,离开主机之前

 

3.1.2 iptables(用户空间)
  • 数据包处理流程图

在这里插入图片描述

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

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值