04

2025Mar

Success depends on effort, not just desire.

成功源于努力,而非渴望。

  • 嘿,朋友,在当下这段时间,我们生命当中有了彼此,感谢遇见!
  • 不知道为什么,我觉得你和别人很不一样
  • 希望你接下来的日子里,没有狗血情节,也没有崎岖波折,平平淡淡,顺顺当当,健健康康,喜乐安好!
  • 不要因为别人的一句话,而夺走你今天的快乐
  • 你的评论和鼓励像一碗粥,可能不够粘稠,却足以温暖我的心
  • 亲爱的朋友,我宁愿看到你伤心愤怒的样子,也不愿意看见你假装高兴
  • 说了这么多,就想告诉你,我很在乎你,不是因为我执着,而是因为你值得
  • 你可能想问我过的怎么样?我过得还可以,不好不坏,不惊不喜,一切只是还可以
  • 一年四季会有很多意外,但最迷人的还是遇见了你
  • 花开可要欣赏,然后就去远行。唯有不等花谢,才能记得花红
  • 我的酒量,大概就是三瓶啤酒或者和半杯白酒,亦或者你的微微一笑
  • 晚安这个词,好像变成了一种礼貌,睡不睡谁知道呢,反正话题是终止了……
  • 话说多了比较难堪,不如沉默来得可爱, 就这样吧,谢谢你呀 !

Linux系统安全防火墙

1.安全技术以防火墙

1.1安全技术

  • 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。

  • 入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)

  • 防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中.

1.2防火墙的分类

按保护范围划分:

  • 主机防火墙:服务范围为当前一台主机

  • 网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分:

  • 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为, 山石hillstone,天融信,启明星辰,绿盟,深信服, PaloAlto , fortinet, Cisco, Checkpoint, NetScreen(Juniper2004年40亿美元收购)等

  • 软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront

按网络协议划分:

  • 网络层防火墙:OSI模型下四层,又称为包过滤防火墙

  • 应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

包过滤防火墙

网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否 允许该数据包通过

优点:对用户来说透明,处理速度快且易于维护

缺点:无法检查应用层数据,如病毒等

应用层防火墙

应用层防火墙/代理服务型防火墙,也称为代理服务器(Proxy Server)

将所有跨越防火墙的网络通信链路分为两段

内外网用户的访问都是通过代理服务器上的“链接”来实现优点:在应用层对数据进行检查,比较安全

缺点:增加防火墙的负载

提示:现实生产环境中所使用的防火墙一般都是二者结合体,即先检查网络数据,通过之后再送到应用 层去检查

2.防火墙的基本认识

2.1Netfilter

Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中

Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Netfilter采用模块化设计,具有良好的可扩充性,提供扩展各种网络服务的结构化底层框架。Netfilter与IP协议栈是无缝契合,并允许对数据报进行过滤、地址转换、处理等操作

2.2防火墙工具介绍

2.2.1iptables

由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包

2.2.2firewalld

从CentOS 7 版开始引入了新的前端管理工具

软件包:

firewalld

firewalld-config

管理工具:

firewall-cmd 命令行工具

firewall-config 图形工作

2.2.3nftables

此软件是CentOS 8 新特性,Nftables最初在法国巴黎的Netfilter Workshop 2008上发表,然后由长期的netfilter核心团队成员和项目负责人Patrick McHardy于2009年3月发布。它在2013年末合并到Linux内核中,自2014年以来已在内核3.13中可用。
它重用了netfilter框架的许多部分,例如连接跟踪和NAT功能。它还保留了命名法和基本iptables设计的几个部分,例如表,链和规则。就像iptables一样,表充当链的容器,并且链包含单独的规则,这些规则可以执行操作,例如丢弃数据包,移至下一个规则或跳至新链。

从用户的角度来看,nftables添加了一个名为nft的新工具,该工具替代了iptables,arptables和ebtables中的所有其他工具。从体系结构的角度来看,它还替换了内核中处理数据包过滤规则集运行时评估的那些部分。

 2.4.4 netfilter 中的四表五链

由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上提示:从 Linux kernel 4.2 版以后,Netfilter 在prerouting 前加了一个 ingress 勾子函数。可以使用这个新的入口挂钩来过滤来自第2层的流量,这个新挂钩比预路由要早,基本上是 tc 命令(流量控制工具)的替代品。

  数据报文的流向

1.三种报文流向:

  • 流入本机:PREROUTING --> INPUT–>用户空间进程
  • 流出本机:用户空间进程 -->OUTPUT–> POSTROUTING
  • 转发:PREROUTING --> FORWARD --> POSTROUTING

链chain:

内置链:每个内置链对应于一个钩子函数

自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有Hook钩子调用自定义链时,才生效。

3.四表五链

2.1五链分别是

  • INPUT:处理入站数据包,发送到本站
  • OUTPUT:处理出站数据包,出本站的
  • FORWARD:处理出站数据包
  • POSTROUTING:在进行路由选择后处理数据包
  • PREROUTING:在进行路由选择前处理数据包

2.5四表分别是

  • raw表:确定是否对该数据包进行状态跟踪,主要是监控,不做操作
  • mangle:为数据包设置标记,标记异常数据
  • nat表:修改数据包中的源目的ip地址或端口
  • filter表:确定是否放行该数据包(过滤)

优先级由高到低的顺序为:raw>mangle>nat>filter

3.iptables

3.1iptables的组成概述

Linux 的防火墙体系主要工作在网络层,针对 TCP/IP 数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。Linux 系统的防火墙体系基于内核编码实现, 具有非常稳定的性能和高效率,也因此获得广泛的应用。

-netfilter     和    iptables关系:

netfilter:

属于“内核态”又称内核空间(kernel space)的防火墙功能体系。linux 好多东西都是内核态 用户态,那我们运维人员关注的是用户态, 内核我们关注不是很多,内核基本是我们开发人员关心的事情是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。

iptables :

属于“用户态”(User Space, 又称为用户空间)的防火墙管理体系。是一种用来管理Linux防火墙的命令程序,它使插入、修改和删除数据包过滤表中的规则变得容易,通常位于/sbin/iptables目录下。 netfilter/iptables后期简称为iptables。iptables是基于内核的防火墙,其中内置了raw、mangle、 nat和filter四个规则表。表中所有规则配置后,立即生效,不需要重启服务。

3.2实际操作

CentOS7默认使用firewalld防火墙,没有安装iptables,若想使用iptables防火墙。必须先关闭firewalld防火墙,再安装iptables

3.2.1.iptables防火墙的配置方法

1、使用iptables命令行。
2、使用system-config-firewall centso7不能使用 centos 6可以使用

3.2.2基本语法

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

其中,表名、链名用来指定 iptables 命令所操作的表和链,未指定表名时将默认使用 filter 表;

管理选项:表示iptables规则的操作方式,如插入、增加、删除、查看等;
匹配条件:用来指定要处理的数据包的特征,不符合指定条件的数据包将不会处理;
控制类型指的是数据包的处理方式,如允许、拒绝、丢弃等。

注意事项:
不指定表名时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、链名、控制类型使用大写字母,其余均为小写

 管理选项:

管理选项用法示例
-A 在指定链末尾追加一条 iptables -A INPUT (操作)
-I 在指定链中插入一条新的,未指定序号默认作为第一条 iptables -I INPUT (操作)
-P 指定默认规则 iptables -P OUTPUT ACCEPT (操作)
-D 删除 iptables -t nat -D INPUT 2 (操作)
-p 服务名称 icmp tcp
-R 修改、替换某一条规则 iptables -t nat -R INPUT (操作)
-L 查看 iptables -t nat -L (查看)
-n 所有字段以数字形式显示(比如任意ip地址是0.0.0.0而不是anywhere,比如显示协议端口号而不是服务名) iptables -L -n,iptables -nL,iptables -vnL (查看)
-v 查看时显示更详细信息,常跟-L一起使用 (查看)
--line-number 规则带编号 iptables -t nat -L -n --line-number /iptables -t nat -L --line-number
-F 清除链中所有规则 iptables -F (操作)
-N 新加自定义链
-X 清空自定义链的规则,不影响其他链 iptables -X
-Z 清空链的计数器(匹配到的数据包的大小和总和)iptables -Z
-S 看链的所有规则或者某个链的规则/某个具体规则后面跟编号

 4.查看规则表

iptables   - [vn]L

 5.清空所有规则

  6.加新规则

 

7.SDNT DNAT

7.1SNAT

SNAT原理与应用:

SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由)

SNAT原理:源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢

SNAT转换前提条件:

1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址

2.Linux网关开启IP路由转发

linxu系统本身是没有转发功能 只有路由发送数据

 

7.2DNAT

DNAT原理与应用:

DNAT应用环境:在Internet中发布位于局域网内的服务器

DNAT原理:目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映谢。

DNAT转换前提条件:

1.局域网的服务器能够访问Internet

2.网关的外网地址有正确的DNS解析记录

8.实验操作

实验准备:首先分别需要三台计算机,关闭防火墙和setentorce
计算机7-1:192.168.249.100
计算机7-2:192.168.249.101     12.0.0.1     (需要两张网卡,分别配置内网和外网IP)
计算机7-3:12.0.0.10
场景是:计算机7-1需要访问外网7-3,他没有外网ip,无法访问7-3,需要使用DNAT 技术,记住7-2来访问外网
首先配置好三台计算机的ip地址
计算机7-1

 

  计算机7.2

 

 

 

 

 

计算机7-3配置:

三台计算机的配置就做好了,接下来要在7-2中,开启路由转发,新建规则

 进入到7-1中,测试与外网的连通,这样只能客户机访问外网主机,外面的服务器时无法访问内网的,要想两边都通,需要做SNAT

 SNAT操作,在原来的基础上需要去7-2计算机中新建规则

 

 

 

 进入7-2计算机新建回来的规则

 这样就可以做了,两边都能够通了

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @   行走的泡泡  阅读(183)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示