防火墙结构和原理

  1. 基本思路 : 只允许发往特定服务器上特定程序的包,其余都屏蔽。

  2. 常见实现方式:

    • 包过滤
    • 应用网关
    • 电路层网关
  3. 对于包过滤是通过检测报的头部信息来实现的,字段包括:

    • MAC头部的发送方MAC地址;
    • IP头部的发送/接收IP,协议号;
    • TCP/UDP头部 : 发送方/接收方的端口号;
    • TCP 控制位(ACK,SYN,PSH,RST。FIN等)
  4. 端口限定应用程序。比如说在服务端仅仅是 80 或者8080 端口的可以进入,其余的都必须屏蔽;

  5. 控制位判断连接的方向

    • 举例:如果禁止服务器访问互联网,发送方自己的端口是 80 并且 SYN = 1,ACK = 0 的时候禁止,因为这个时候是服务器作为客户端向外请求建立连接。
    • 如果是 UDP作为连接是无法判断方向的所以只能是要么全部保留,要么是全部屏蔽。
  6. 从公司内网访问公开区域的规则

    • 这里的内网相当于家庭中的路由下面的局域网,公开区域相当于默认路由到分配的公网IP地址这一段。
    • 此时要配置两个包转发规则,一个是从内网到公开区域的规则,一个是从公开区域到互联网的包转发规则。
  7. 从外网访问公司的内网

    • 一般为了安全是不允许从外网访问公司的内网。
    • 在一般情况下,包过滤防火墙具备这地址转换的功能来实现从外部互联网访问内部网络。
    • 个人理解:外网,无法直接访问内部局域网;那么外网访问路由,路由根据信息转给内网对应的设备。
  8. 在通过防火墙的时候,如果是允许那么就像路由一样进行包转发操作

    如果是需要屏蔽的包不进行转发并且将包的相关信息(包括目的IP地址,源IP地址等)记录下来。

    那跟路由器的功能差不多为何不是使用路由呢?

    • 原因很简单:路由内存小,增加记录负担更大,占用更多的带宽。
  9. 仅仅是通过检查起点和终点是不能完全抵御攻击的,因为这种办法不能对数据的内容进行检查,所以有两个常见的解决方法:

    • 一个是通过修复WEB服务器的Bug
    • 第二个是设置包内容检查的设备软件
    • 其中最为有效的是 第一种。

你可能感兴趣的:(计算机网络)