Linux系统防火墙iptables(上)

安全机制和防火墙:

安全技术

入侵检测系统:特点是不阻断网络访问,主要是提供报警和事后监督。不主动介入,默默的看着你(监控)

入侵防御系统:透明模式工作,数据包,网络监控,服务攻击,木马,蠕虫,系统漏洞等等进行准确的分析和判断。

在判定为攻击行为之后会立即阻断。主动的防御(所有的数据在进入本机之前,必须要通过的设备或者软件)

防火墙的作用及功能:隔离,工作在网络或者主机的边缘。

对网络或者主机的数据包基于一定的规则进行检查。匹配到的规则

放行,拒绝(数据包将会被丢弃)

只开放允许访问的策略。(白名单机制,拒绝所有,允许个别)

防水墙:是一种防止内部信息泄露的产品。对外有防火墙的功能,对内是一种透明模式工作。类似监控(事前,事中,事后都知道)


防火墙:

iptables 这个是linux自带的防火墙,一般用于内部配置,对外一般不适用(对外都使用专业的)

firewalld 也是linux自带的防火墙,centos7以后默认的防火墙。

这两个都属于包过滤防火墙(数据包进行控制)

网络层对数据包进行选择,选择的依据是防火墙设置的策略。

策略:ip地址,端口,协议。

优点,处理速度快,易于维护

缺点,无法检查应用层数,病毒无法进行处理。

应用层防火墙:在应用层对数据进行检查,比较安全。

优点:更安全,问题可以精准定位。

缺点:所有数据都会检查,增加防火墙的负载。

iptables :工作在网络层,针对数据包实施过滤和限制。包过滤防火墙

面试题

通信的要素:五大要素和四大要素

五大要素:源ip 目的ip 源端口 目的端口 协议(TCP/UPD)

四大要素:源ip 目的ip 源端口 目的端口

内核态和用户态:

内核态:设计到软件的底层代码或者是系统的基层逻辑,以及一些硬件的编码。

开发人员更关注内核态。

数据如果是内核态处理,速度相对较快。

iptables的过滤规则就是由内核来进行控制。

用户态:

应用层软件层面,人为控制的一系列操作,使用功能。

运维人员我们只考虑用户态。用

数据只通过用户态处理,速度是比较慢的

面试题

iptables的配置和策略:

四表五链:

iptables的四个表:

raw表:用于控制数据包的状态,跟踪数据包的状态。

mangle表:修改数据包的头部信息

NAT表:网络地址转换。可以改变数据包的源地址和目的地址

filter表:也是iptables的默认表,不做声明,默认就是filter表,过滤数据包,控制数据包的进出以及接受和拒绝数据包。

iptables的五链:

PREROUTING链:处理数据包进入本机之前的规则(NAT表)

INPUT链:处理数据包进入本机的规则(filter表,是否允许数据包进入)

output链:处理本机发出的数据包的规则,或者是数据包离开的本机的规则(filter表,一般不做设置)

forward链:处理数据包转发到其他主机的规则,或者是否允许本机进行数据包转发

postrouting链:处理数据包离开本机之后的规则(NAT表)

表里面由链,链里面有规则。

优先级:Raw Mangle Nat Filter

数据包进入防火墙,先匹配raw表的规则---mangle的规则---nat表的规则---filter表的规则

数据包的走向:第一种情况

第二种情况

iptables的管理选项:在表的链中插入,增加,删除,查看规则。

匹配的条件:数据包的ip地址,端口,协议。

控制类型:允许,拒绝,丢弃。

注意事项:
1、不指定表名,默认就是filter表
2、不指定链名,默认就是所有链(禁止行为)
3、除非设置了链的默认策略,否则必须执行匹配条件(一般都是指定匹配条件)
4、选项,链名和控制类型都是大写,其余的都是小写

控制类型:

ACCEPT:允许数据包通过

DROP:直接丢弃数据包,没有任何回应信息 (渣男分手,原地消失,原地爆炸)

PEJECT:拒绝数据包通过,数据包也会被丢弃,但是会有一个响应的信息。(友好分手)

SNAT:修改数据包的源地址

DNAT:修改数据包的目的地址

管理选项:

-A 在链中添加一条规则,在链尾添加。

-I 指定位置插入一条规则。

-P 指定链的默认规则 链的规则一般都是设置成拒绝(默认是允许)

-D 删除规则

-R 修改规则(慎用)

-vnL v是显示详细信息,n数字形式展示内容 L查看

--line-numbers:显示规则的编号,和查看一起使用

-F 清空链中的所有规则(慎用)

-X 清除自定义链中的规则

匹配条件:

-t 指定表名

-p 指定协议类型

-s 指定匹配的源ip地址

-d 指定匹配的目的ip地址

-i 指定数据包进入本机的网络设备(ens33)

-o 指定数据包离开本机的网络设备

--sport 指定源端口

--dport 指定目的端口


iptables的命令格式

iptables [-t 表名] 管理选项 链名(大写)匹配条件 [-j 控制类型]

所有的控制类型前面都是-j

查看规则

查看指定规则

数字化形式查看

删除规则

匹配规则:

每个链中的规则都是从上到下的顺序匹配,匹配到之后不再向下匹配

如果链中没有规则,则执行链的默认策略进行处理

拒绝其他主机ping本机

如何让其他主机再ping本机

如何直接丢弃数据包,没有任何回应信息 (渣男分手,原地消失,原地爆炸)

如何拒绝指定主机ping本机

如何拒绝指定主机连接本机端口

-m 扩展模块,一次性禁止多端口,ip范围,指定mac地址。

禁止多端口

iptables -A INPUT -p tcp -m multiport --dport 80,22 -j REJECT

禁止ip范围

iptables -A INPUT -p tcp -m iprange --src-range 192.168.124.20-192.168.124.30 --dport 80 -j REJECT

匹配mac地址

iptables -A INPUT -p icmp -m --mac-source   + mac地址    -j REJECT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值