​防火墙(一)主机型防火墙

本文详细介绍了主机型防火墙的工作原理、默认规则设置及如何通过iptables命令实现安全策略配置,确保网络环境免受攻击。主要内容包括防火墙分类、SNAT和DNAT功能、数据包传输规则、Iptables命令使用方法,以及如何定制防火墙规则以保护服务器安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

防火墙(一)主机型防火墙

防火墙(二)SNAT和DNAT 

 

防火墙(一)主机型防火墙

默认防火墙规则

 

201104081508025999.png

拒绝与禁止一个数据包

201104081508024146.png

IP防火墙的数据包传输

在IP防火墙中,有三个内建的过滤规则链被使用。所有到达接口的数据包都按照输入规则链被过滤。如果数据包被接受,它会被送到路由模块。路由功能决定数据包是被送到本地还是转发到另一个出站接口。

201104081508056918.png

如果被转发,数据包会由转发规则链进行第二次过滤。如果数据包被接受,它会被送到输出规则链。

本地产生的出站数据包和将被转发的数据包都要经过输出规则链。如果数据包被接受,它会被送出接口。

回环路径包括两个规则链,如图示。每一个回环数据包在出回环接口之前需要通过输出规则链,在那里它会被送到回环的输入接口,然后输入规则链被应用。

20110408150806332.png

Iptables命令的基本语法以iptables本书开始,后面跟着一个或多个选项、一个规则链、一个匹配标准级和一个目标或部署。命令的设计很大程度上取决于要执行的操作。你可以参考这个语法:

Iptables <option> <chain> <matching criteria> <target>

常用命令列表
命令 -A, --append
说明 新增规则到某个规则链中,该规则将会成为规则链中的最后一条规则。


命令 -D, --delete

说明 从某个规则链中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。

命令 -R, --replace
说明 取代现行规则,规则被取代后并不会改变顺序。


命令 -I, --insert
说明 插入一条规则,原本该位置上的规则将会往后移动一个顺位。

命令 -L, --list
说明 列出某规则链中的所有规则。

命令 -F, --flush
说明 删除某规则链中的所有规则。


命令 -Z, --zero
说明 将封包计数器归零。封包计数器是用来计算同一封包出现次数,是过滤阻断式***不可或缺的工具。


命令 -N, --new-chain
说明 定义新的规则链。

命令 -X, --delete-chain
说明 删除某个规则链。

命令 -P, --policy
说明 定义过滤政策。 也就是未符合过滤条件之封包,预设的处理方式。

命令 -E, --rename-chain
说明 修改某自订规则链的名称。


参数 :

 

--source (-s)-----------匹配源IP地址

--destination (-d)---------匹配目标IP地址

--protocol (-p)-------------匹配的协议

--in-interface (-i)------------入口

--out-interface (-o)-----------出口

--state ------------------------匹配一组连接状态

--string-------------------------匹配应用层数据直接序列

--comment-----------------------在内核内存中为一个规则关联多大256个字节的注释数据

目标参数:

ACCEPT----------------------允许数据包通过

DROP-------------------------丢弃数据包

LOG---------------------------将数据信息记录到syslog

REJECT-------------------------丢弃数据包,同时发送适当的响应报文

RETURN--------------------------在调用链中继续处理数据包

 

 

主机型防火墙需要提供服务,所以安全性要最高

所以我们要把默认策略全部改成拒绝!

#!/bin/bash

#防火墙过滤脚本(主机型防火墙)

iptables -t filter -P INPUT ACCEPT     // 首先给2个链 的默认策略改成允许 防止远程操作断开

iptables -t filter -P OUTPUT ACCEPT

iptables -F INPUT    //然后清除所有内容

iptables -F OUTPUT

iptables -I INPUT -p tcp -m multiport --dport 22,25,80,21,110,143 -j ACCEPT   //填写规则

iptables -I INPUT -p udp --dport 53 -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 8 -j DROP

iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT

iptables -t filter -P INPUT DROP    //再把默认策略改成拒绝

iptables -I OUTPUT -p udp --sport 53 -j ACCEPT

iptables -I OUTPUT -p tcp -m multiport --sport 22,25,80,21,110,143 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT

iptables -t filter -P OUTPUT DROP

#从MAC地址匹配

#根据MAC地址封锁主机

#iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP

测试各种服务

首先测试www服务

141325793.png

 

我们开放80端口在尝试

141326875.png

[root@hao ~]# sh fang.sh

运行脚本

141327999.png

 

 

Web服务前面搭建好了

例如:禁止从其他主机ping主机,但是允许本机ping其他主机

[root@hao ~]# ping 192.168.129.1

PING 192.168.129.1 (192.168.129.1) 56(84) bytes of data.

64 bytes from 192.168.129.1: icmp_seq=1 ttl=128 time=0.150 ms

64 bytes from 192.168.129.1: icmp_seq=2 ttl=128 time=0.190 ms

64 bytes from 192.168.129.1: icmp_seq=3 ttl=128 time=0.127 ms

64 bytes from 192.168.129.1: icmp_seq=4 ttl=128 time=0.150 ms

64 bytes from 192.168.129.1: icmp_seq=5 ttl=128 time=0.136 ms

64 bytes from 192.168.129.1: icmp_seq=6 ttl=128 time=0.289 ms

64 bytes from 192.168.129.1: icmp_seq=7 ttl=128 time=0.131 ms

64 bytes from 192.168.129.1: icmp_seq=8 ttl=128 time=0.175 ms

但是客户端ping主机就是不通

服务端

141327713.png

主机端

141328916.png

 

这时查看下脚本原件

141328223.png

 

默认就是 filter

141329285.png

 

在来测试 dns服务器

141330318.png

141330987.png

 

加入规则表后 就可以了

141330544.png

141331279.png

可以正常访问了!主机型防火墙 安全级别最高 因为 INPUT和OUTPUT  默认策略是拒绝所有!这样可以防止防弹******!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值