Linux_24_Linux防火墙

防火墙

防火墙:防范网络攻击(选择性将请求通过以保证网络安全性)

1)Centos6.x的默认管理防火墙的工具为:iptables

2)Centos7.x的默认管理防火墙的工具为:firewalld


策略:防火墙基于流量的源地址、目的地址、端口号、协议和应用等信息所选的应对方式(接受/拒绝)

1)防火墙从上至下读取配置的策略(把优先级高的策略/规则放到上面),在匹配到对应项后就结束匹配工作,并按照策略进行处理(若匹配不到任何策略,就执行默认策略)

2)iptables服务将配置好的防火墙策略交由内核的netfilter网络过滤器处理,firewalld服务将配置好的防火墙策略交由内核的nftables包过滤框架处理

Iptables

规则:iptables服务中把用于处理和过滤流量的策略

规则链:由多条规则组成(针对特定数据包的各种规则)


规则链根据不同的数据包处理位置进行以下分类:

规则链说明
INPUT处理流入的数据包
OUTPUT处理流出的数据包
FORWARD处理转发的数据包
PREROUTING在进行路由选择前处理的数据包
POSTROUTING在进行路由选择后处理的数据包

//使用最多的是INPUT规则链


iptables服务根据流量的源地址、目的地址、传输协议、服务类型等信息匹配相关的规则链,匹配成功后根据对应的动作进行处理

动作说明
ACCEPT允许流量通过
LOG允许流量通过,并记录相关信息
REJECT拒绝流量通过(并回复“拒绝”)
DROP拒绝流量通过(忽视)

//动作为DROP时,对方无法判断流量被拒绝或主机不在线


iptables命令:查看、添加、设置和删除系统中防火墙的策略/规则

指令格式1:iptables 选项 //查看规则

选项含义
-L列出系统中已有的针对规则链策略

如:列出系统中已有的规则链
在这里插入图片描述


指令格式2:iptables 选项 //添加规则

选项含义
-A在指定规则链的尾部加入该规则
-I在指定规则链的头部加入该规则
-i 网卡名匹配从该网卡流入的数据
-o 网卡名匹配从该网卡列出的数据
-p 协议匹配指定协议(tcp、udp和icmp)
-s IP匹配该来源IP
–sport 端口号匹配该来源端口号
-d IP匹配该目标IP
–dport 端口号匹配该目标端口号
-j 动作指定匹配成功后所进行的动作

一般iptables添加规则参数的输入顺序和格式:
在这里插入图片描述

1)有对应的限制,则添加对应的参数(没有限制,则可省略对应的参数)

如:在INPUT规则链中添加允许ICMP流量进入的规则
在这里插入图片描述
//ICMP流量的进入就是允许ping命令检测


如:设置INPUT规则链只允许网段为“192.168.10.0/24”的主机访问本机的22端口(拒绝其他所有主机访问22端口)
在这里插入图片描述
//由于防火墙策略规则是从上到下顺序匹配的,所以允许动作需写在拒绝动作前


如:设置INPUT规则链中拒绝所有主机访问本机的3306端口
在这里插入图片描述
//若某一端口拒绝其他主机任何方式访问,则需同时拒绝tcp和upd两种协议


如:设置INPUT规则链中拒绝所有主机访问本机的1000~1024端口
在这里插入图片描述
//若设置顺序的端口时,用“:”连接两个端口号


如:设置INPUT规则链中拒绝192.168.10.5主机访问本机的80端口
在这里插入图片描述

指令格式3:iptables 选项 //设置规则

选项含义
-P 规则链 动作指定规则链中的默认动作

//规则链的默认拒绝动作只能是DROP,而不能是REJECT


如:设置INPUT规则链的默认动作为DROP
在这里插入图片描述

指令格式4:iptables 选项 //删除规则

选项含义
-D 规则链 N删除指定规则链中的第N个规则
-F清空防火墙中已有的针对规则链策略(INPUT无效)

如:删除INPUT规则链中允许ICMP流量进入的规则
在这里插入图片描述

如:清空防火墙中已有的针对规则链的策略
在这里插入图片描述

iptables命令配置永久生效:service iptables save

// iptables命令配置的防火墙策略/规则都是临时设置(重启后便失效)


其他服务保存设置:/etc/init.d/服务名 save

//当使用临时修改某项服务时,可通过保存设置来达到永久修改

Firewalld

Firewalld(Dynamic Firewall Manager of Linux systems):Linux系统动态防火墙管理

1)Firewalld分为:CLI下的firewall-cmd、GUI下的firewall-config

1)区域(zone):Firewalld中防火墙策略集合


Firewalld中常用的区域如下:

区域说明
trusted允许所有的数据包/流量
home拒绝流入的流量(除非该流量和流出流量有关) 若该流量与ssh、mdns、ipp-client、amba-client 或dhcpv6-client服务有关,则允许该流量
internal拒绝流入的流量(除非该流量和流出流量有关) 若该流量与ssh、ipp-client 或dhcpv6-client服务有关,则允许该流量
work等同于home区域
public拒绝流入的流量(除非该流量和流出流量有关) 若该流量与ssh或dhcpv6-client服务有关,则允许该流量
external拒绝流入的流量(除非该流量和流出流量有关) 若该流量与ssh服务有关,则允许该流量
dmz拒绝流入的流量(除非该流量和流出流量有关) 若该流量与ssh有关,则允许该流量
block拒绝流入的流量(除非该流量和流出流量有关)
drop拒绝流入的流量(除非该流量和流出流量有关)

//Firewalld中最常见的区域为:public

firewall-cmd

firewall-cmd命令:Firewalld通过命令行界面配置防火墙

指令格式1:firewall-cmd 选项 //查询防火墙相关信息

选项含义
–get-default-zone列出默认区域
–get-zones列出系统中可用的区域
–get-services列出预先定义的服务
–get-active-zones列出当前正在使用的区域和网卡
–list-all列出当前区域调用网卡的配置参数、 资源、端口和服务等信息
–list-all-zones列出所有区域调用网卡的配置参数、 资源、端口和服务等信息
–get-zone-of-interface=网卡查询指定网卡所在区域
–query-service=服务名查询指定服务在当前区域是否放行

如:列出默认区域、可用区域和预先定义的服务
在这里插入图片描述

如:查询ssh、dhcpv6-client和http服务在当前区域是否放行
在这里插入图片描述

如:列出当前区域调用网卡的相关信息
在这里插入图片描述

指令格式2:firewall-cmd 选项 //配置Firwalld服务

选项含义
–zone修改区域
–add-source=IP将来自该IP的流量都导向指定区域
–remove-source=IP取消该IP的流量导向指定区域
–add-interface=网卡将该网卡的所有流量都导向指定区域
–chang-interface=网卡设置指定网卡的默认区域为指定区域
–add-service=服务设置默认区域允许该服务的流量
–remove-service=服务设置默认区域不允许该服务的流量
–add-prot=端口号/协议设置默认区域允许该端口的流量
–remove-port=端口号/协议设置默认区域不允许该端口的流量
–reload重读配置文件
–permanent使后续配置永久生效(默认重启后生效)

//使用–permanent永久配置,配置不会立刻生效(默认是立刻生效),可通过–reload重读配置文件使永久配置立刻生效


如:设置eno16777736网卡的默认区域为external,并分别在当前模式和永久模式查看该网卡的默认区域
在这里插入图片描述

如:设置Firewalld服务的public中允许https服务的流量,并立即生效
在这里插入图片描述

如:设置Firewalld服务的public中允许8080和8081端口的流量(仅限当前)
在这里插入图片描述

指令格式3:firewall-cmd 选项 //修改Firewalld服务

选项含义
–set-default-zone=区域指定默认区域
–panic-on开启应急状况模式
–panic-off关闭应急状况模式

//应急状况模式下,系统会阻断一切网络连接


指令格式4:通过firewall-cmd命令配置流量转发
在这里插入图片描述

如:设置访问本机330端口的流量转发到335端口(且当前和永久生效)
在这里插入图片描述

指令格式5:firewall-cmd --zone=区域 --add-rich-rule=“富规则名 = 规则”

规则说明
rule family=ipv4/ipv6ip4或ip6的富规则
source address=IP指定源IP
destination address指定目的IP
service name=服务指定服务
port port=端口号指定端口号
protocol value=tcp/upd指定协议
动作accept(通过)、reject(拒绝并返回消息) drop(拒绝并不返回消息)、log(日志)

1)富规则:类似iptables设置针对用户、服务或端口的规则

2)多个规则之间使用空格分开;

//删除富规则为:firewall-cmd --zone --remove-rich-rule=“富规则名”


如:通过富规则设置拒绝192.168.10.0/24网段内所有用户访问本机的ssh服务
在这里插入图片描述

firewall-config

firewall-config命令:调用Firewall Configuration(图形界面)配置Firewalld服务

指令格式:firewall-config

1)在Firewall Configuration修改内容后不需保存(其自动保存);

2)Runtime模式下修改的内容会即刻生效,Permanent模式下修改的内容,需重启才能生效

//也可通过Option中的Reload Frewalld使其即刻生效


如:调用Firewall Configuration
在这里插入图片描述

SNAT(Source Network Address Translation):源网络地址转换

1)解决IP地址匮乏的技术,内网中多个用户通过一个外围IP接入Internet


如:比较开启SNAT技术前后

1)关闭SNAT技术
在这里插入图片描述

2)开启SNAT技术
在这里插入图片描述


如:通过Firewall Configuration开启SNAT
在这里插入图片描述


如:通过Firewall Configuration将访问本机3306端口的流量转发到8806端口
在这里插入图片描述


如:通过Firewall Configuration配置富规则
在这里插入图片描述

TCP Wrappers

Linux系统中有两个层面的防火墙:

1)基于TCP/TP协议的流量过滤;

2)TCP Wrappers通过是否允许Linux系统提供服务的防火墙(层面更高);


TCP Wrappers:是Centos7系统中默认启用的流量监控程序

1)可根据来访主机的地址和本机的目标服务程序判断是否允许操作


TCP Wrappers有两个控制列表文件控制:/etc/hosts.allow和/etc/hosts.deny

1)/etc/hosts.allow:TCP Wrappers的白名单

2)/etc/hosts.deny:TCP Wrappers的黑名单


编写两个文件的参数如下:

客户端类型示例满足示例
单一主机192.168.10.10IP地址为192.168.10.10的主机
指定网段192.168.10.IP段为192.168.10.0/24的主机
指定DNS后缀.linuxprobe.comDNS后缀为.linuxprobe.com的主机
指定主机名称www.linuxprobe.com主机名www.linuxprobe.com的主机
指定所有客户端ALL所有主机均可

1)编写策略规则时,应使用服务名称(而非协议名称)

2)先编写拒绝策略规则(/etc/hosts.deny)再编写允许策略规则(/etc/hosts.allow)


如:使仅192.168.10.0/24网段的主机能访问本机的sshd服务

1)编写/etc/hosts.deny;
在这里插入图片描述
2)编写/etc/hosts.allow;
在这里插入图片描述


当一个流量访问本机时,系统执行以下操作:

1)系统先检索/etc/hosts.allow进行匹配,若匹配到对应项则放行该流量;

2)若匹配失败,检索/etc/hosts.deny进行匹配,若匹配到对应项则拒绝该流量;

3)若两个文件都匹配失败,则默认放行该流量

//优先级:/etc/hosts.allow > /etc/hosts.deny

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值