|
ROS IP 防火墙应用(1) Ip 防火墙应用 描述 在这个部分,我们讨论防火墙的一些的应用和例子。 防火墙设置基本原则 假定我们有一个本地网通过路由连接到internet,那么基本的防火墙构建原则由以下几部分组成: 1、保护路由避免没有认证的访问 必须监控那些到路由的连接。只能允许某些特定的主机到路由某些特定的 tcp端口的访问。这项工作可以在input中设置,以便比较匹配通过路由所有连接界面到路由目的地址的数据包。 2、保护本地主机 必须监控那些到本地网络地址的连接。只有有权到某些主机和服务的连接才能被允许。这项工作可以在forward中设置,以便比较匹配决定通过路由所有连接界面到本地网路目的地址的数据包。 3、利用nat将本地的网络隐藏在一个公网的ip后面。 所有本地网络的连接被伪装成来自路由本身的公网地址。这项工作可以通过启用伪装行为来实现源地址转换规则。 4、强制本地网络连接到公网的访问原则。 必须监控那些来自本地网络地址的连接。这项工作可以通过forward中设置,或者通过伪装哪些被允许的连接来实现。数据的过滤会对router的性能造成一定的影响,为了把这个影响降到最低,这些过滤的规则必须放在各个chain的顶部。这个在传输控制协议选项non- syn -only中.
防火墙过滤实例 实现目标: 目标1、让路由只允许来自10.5.8.0/24网络地址的访问。 目标2、保护本地主机(192.168.0.0/24)远离未授权的访问。 目标3、让公网可以访问本地主机192.168.0.17的http 和smtp服务。 目标4、只允许本地网络中的主机进行icmp ping 操作。强制使用在192.168.0.17主机上的代理服务。
假设我的网络设置如下: 公网 ip :10.0.0.217/24 网关 ip :10.0.0.254 内网 ip :192.168.0.254/24 内网服务器地址:192.168.0.17/24 step1 为了实现第一个目标,我们必须对所有通过路由的数据包进行过滤,只接受哪些我们允许的数据。因为所有通过路由的数据包都要经过input chain进行处理,所以,我们可以在ip->firewall-> rule input 中加入以下规则。 [admin@MikroTik] >ip firewall rule input [admin@MikroTik] ip firewall rule input>add protocol=tcp [admin@MikroTik] ip firewall rule input>tcp-options=non-syn-only connection-state=established [admin@MikroTik] ip firewall rule input>add protocol=udp [admin@MikroTik] ip firewall rule input>add protocol=icmp [admin@MikroTik] ip firewall rule input>add src-addr=10.5.8.0/24 [admin@MikroTik] ip firewall rule input>add action=reject log=yes 通过上述设置,input chain就可以实现只接受10.5.8.0/24地址段的连接,而把其他连接都拒绝并且记录到日志。
Step 2 为了保护本地网络,我们必须对通过路由访问本地网络也就是对192.168.0.0/24一段地址的访问的数据包进行比对筛选,这个功能可以在forward chain 中实现。在forward 中,我们可以依靠ip地址对数据包进行匹配,然后跳转到我们自己创建的chain中,比如这里我们创建一个 customer chain 并加入一些规则。 [admin@MikroTik] ip firewall> add name=customer [admin@MikroTik] ip firewall> print # NAME POLICY 0 input accept 1 forward accept 2 output accept
|