安全技术和防火墙

发布于:2024-06-27 ⋅ 阅读:(200) ⋅ 点赞:(0)

安全技术和防火墙

一、安全技术和防火墙

1.1 入侵检测系统

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

1.2 入侵防御系统

特点:透明模式工作,数据包,网络监控,服务攻击,木马,蠕虫,系统漏洞等等进行准确的分析和判断,在判定为攻击行为后会立即阻断,主动防御(所有的数据在进入本机之前,必须要通过的设备或者软件)

在这里插入图片描述

1.3 防火墙

1.3.1 防火墙:隔离,工作在网络或者主机的边缘,对网络或者主机的数据包基于一定的规则进行检查

1.3.2 防火墙匹配规则:放行或者拒接(即数据包被丢弃),只开放运行访问的策略(白名单机制,拒绝所有,允许个别)

1.3.3 防水墙

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

1.3.4 包过滤防火墙

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

firewall这个也是linux自带防火墙,是centos7以后默认的防火墙

iptablesfirewall都属于包过滤防火墙、工作在网络层,针对数据包实施过滤和限制。

1.3.5 网络层防火墙

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

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

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

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

1.3.6 应用层防火墙

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

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

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

1.4 通信的要素

五大要素和四大要素

1.4.1 五大要素:源ip、目的ip、源端口、目的端口、协议

1.4.2 四要素:源ip、目的ip、源端口、目的端口

1.5 内核态和用户态

1.5.1 内核态:涉及到软件的底层代码或者是系统的基层逻辑,以及一些硬件的编码(开发人员更关注内核态),数据如果是内核态处理,速度相对较快。iptables的过滤规则就是由内核来进行控制

1.5.2 用户态:应用层软件层面,是人为控制的一系列操作,使用功能(运维人员只考虑用户态),数据只通过用户态处理,速度是比较慢的

二、 iptables的配置和策略

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

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

控制类型:允许,拒接,丢弃

1.1 四表五链

1.1.1 iptables的四表:

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

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

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

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

在这里插入图片描述

1.1.2 iptables的五链:

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

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

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

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

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

口诀:表里有链,链里有则

在这里插入图片描述

1.2 注意事项

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

1.3 控制类型

ACCEPT:允许数据包通过

DROP:直接丢失数据包,且没有任何回应信息

REJECT:拒绝数据包通过,数据包也会被丢弃,但是会有一个响应的信息

SNAT:修改数据包的源地址(s就是source)

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

1.4 管理选项

选项 作用
-t 指定表名
-A 在链中添加一条规则,在链尾添加
-L 指定位置插入一条规则
-P 指定链的默认规则,链的规则一般都是设置成拒绝(默认是允许)
-D 删除规则
-R 修改规则 (慎用)
-vnL v是显示详细信息,n以数字化形式展示内容,L表示查看
–line-numbers 显示规则编号,和查看一起使用
-F 清空链中的所有规则(慎用)(不指定表就是清空filter)
-X 清除自定义链中的规则

1.5 匹配条件

-p:指定协议类型

-s:指定匹配的源ip地址

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

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

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

--sport:指定源端口

--dport:指定目的端口

1.6 匹配原则

每个链中的规则都是从上到下的顺序依次匹配,匹配到之后就不再向下匹配;如果链里面没有规则,则执行链的默认策略进行处理

1.7 命令格式

iptables [-t 表名] 管理选项 链名 匹配条件 [-j 控制类型]
#指定表名可有可不有,链名要大写
# 所有控制类型前面都是-j

三、iptables命令练习

安装iptables

systemctl stop firewalld
setenforce 0

yum -y install iptables iptables-services

iptables命令建议顺序:ip+协议+端口

1.1 查看详细信息和规则编号

iptables -vnL --line-numbers

1.2 添加规则

iptables -A INPUT -p icmp -j REJECT
#拒绝其他所有主机ping主机

iptables -A INPUT -p icmp -j ACCEPT
#不生效

使其生效
iptables -I INPUT 1 -p icmp -j ACCEPT

1.3 指定ip地址不可访问

iptables -A INPUT -s 指定ip -p icmp -j REJECT

1.4 控制指定多个ip不可访问

iptables -A INPUT -s 指定ip,ip -p icmp -j DROP

1.5 指定端口不可访问----协议在前,端口在后,否则报错

iptables -A INPUt -p tcp --dport 22 -j REJECT

1.6 主机拒绝指定端口访问,但主机可访问指定端口

iptables -A INPUT -s 指定ip -p tcp --dport 22 -j REJECT

1.7 指定ip不可访问nginx

iptables -A INPUT -s 指定ip -p tcp --dport 80 -j REJECT

1.8 删除指定编号

iptables -D INPUT 编号

1.9 修改策略(一般不用)

iptables -vnL --line-numbers
iptables -R INPUT 编号 -s 指定ip -p tcp --dport 80 -j REJECT

1.10 把链默认的策略改为DROP(不要改!!!)

iptables -P INPUT DROP
# 修改之后,页面无法操作,此时所有数据都丢弃,需要去虚拟机,删除上面策略后,新增ACCEPT策略
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

1.11 网络设备:禁止指定ip通过ens33来访问主机的80端口

iptables -A INPUT -i ens33 -s 192.168.100.11 -p tcp --dport 80 -j REJECT

1.12 拒绝整个网段

iptables -A INPUT -s 192.168.100.0/24 -p tcp --dport 80 -j REJECT

1.13 一次性禁止多个端口。如22、80(注意:端口要按照从小到大的顺序)

iptables -A INPUT -p tcp --dport 22:80 -j REJECT

拓展模块

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

1.1 禁止多端口

iptables -A INPUT tcp -m multiport --dport 80,20,22,21,53,3306 -j REJECT

1.2 匹配ip范围

iptables -A INPUT -p tcp -m iprange --src-range 192.168.100.11-192.168.100.21 --dport 80 -j REJECT
-m iprange --src-range 源地址池
-m iprange --dst-range 目的地址池
-m mulitiport --sport 源端口池
-m mulitiport --dport 目的端口池

1.3 匹配mac地址

iptables -A INPUT -m mac --mac source 指定mac地址 -j DROP

ange --src-range 192.168.100.11-192.168.100.21 --dport 80 -j REJECT


```bash
-m iprange --src-range 源地址池
-m iprange --dst-range 目的地址池
-m mulitiport --sport 源端口池
-m mulitiport --dport 目的端口池

1.3 匹配mac地址

iptables -A INPUT -m mac --mac source 指定mac地址 -j DROP

网站公告

今日签到

点亮在社区的每一天
去签到