admin管理员组

文章数量:1638755

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、安全技术和防火墙
    • (一)、安全技术
      • 补充说明:——防水墙
    • (二)、防火墙的分类
      • 1、按照保护类型划分:
      • 2、按实现方式划分:
      • 3、按网络协议划分:
    • (三)、Linux包过滤防火墙的概述
      • 3.1 、Linux防火墙
        • (1)、netfilter——内核态(包过滤功能体系)
        • (2)、iptables——用户态(管理防火墙规则)
      • 3.2、包过滤的工作层次
  • 二、Linux防火墙的基本认识
    • (一)、Netfilter——内核态(包过滤功能体系)
    • (二)、防火墙工具介绍
      • 1、iptables——用户态(管理防火墙规则)
      • 2、firewalld——前端管理工具
      • 3、nftables
      • 3、netfilter中五个勾子函数和报文流向
        • 内核中数据包的传输过程
        • 数据包过滤的匹配流程
          • 匹配流程示意图
  • 三、firewalld服务
    • (一)、介绍firewalld
    • (二)、**归入zone顺序:**
    • (三)、firewalld zone 分类
    • (四)、预定义服务
  • 四、 iptables
    • (一)、iptables的组成概述
    • (二)、 netfilter/iptables关系:
      • 1、 netfilter:
      • 2、iptables :
    • (三)、五个表table:filter、nat、mangle、raw、security
    • (四)、 iptables的表、链结构
      • 1、规则链
      • 2、 默认包括4种规则链
      • 3、规则表
      • 4、默认包括4中规则链
      • 5、iptables 的四表五链小结
    • (五)、实际操作
      • (一)、关闭防火墙,并安装iptables
      • (二)、安装iptables,并开启iptables 服务
      • (三)、配置方式
        • 1、基本语法:
          • 1.1、命令格式
          • 1.2、数据包的常见控制类型——注:需要大写
        • 2、选项
          • 2.1、添加、查看、删除规则等基本操作
        • 3、增加新的防火墙规则
          • 3.1、iptables -t filter -A INPUT -p icmp -j REJECT 不允许任何主机ping本主机 DROP(丢弃数据包不回复) ACCEPT(允许)
          • 3.2、iptables -t filter -A INPUT -p icmp -j DROP ——(DROP 直接把数据包丢弃就压根不会理你,但是你要是清空就立即生效)
          • 3.3、iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT——指定端口号之前一定要加 -p +协议
        • 4、查看规则表
          • 4.1、iptables -vnL ——(v:表示详细信息 ;n :表示以数字形式显示 L : 查看 注意:L 一定放最后)
          • 4.2、iptables -vnL --line-numbers
        • 5、删除、清空规则
          • 5.1、iptables -F 表示清空所有策略——亦可以指定链中或者表中的规则
          • 5.2、删除链中规则需要指定序号 iptables -t filter -D INPUT 5 表示将表filter中删除 链INPUT 里序号为5的规则
        • 6、设置默认策略
          • 6.1、白名单和黑名单
        • 7、通用匹配
          • 7.1、设置默认策略并使除了icmp(ping)都可以通过本主机
        • 8、隐含匹配


前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、安全技术和防火墙

(一)、安全技术

入侵检测系统(Intrusion Detectlan 5ysteins)特点是不阻断任何阿终访问,迷化。定位来自内处网络的威胁情况.王要以提供报熙和票后监督为主,提供有针对性的指异措施和安全决筏依据,类似于监控系统一般采用旁路部蓿「默默的看看你)方式。

入侵防御系统(Intrusion Preuention 5ysteml:以选明模式工作,分析致据包的内容如〉褴出攻击,柜绝服务攻击,木马.镇虫系统漏洞寺进行准确的分析判断,在判定为攻击行为后立即予以阻断,主动而有效的保护网络的安全,一没采用在线部署方式。〔必经之路)

防火墙(FineWwall):隔高功能,工作在网络或王机边缘,对逛出网络或王机的数据包篁于一定的规则检查,并在匹配某翔现则⒂由规则定义的行为进行处理的一组功能的组件,基本上的买现郡是默认情况下关闭所有的通过型切问只开放允许访阿的策略;会将希望外网访问的主机放在DNZ.(clemilitanzed zone网络中.

补充说明:——防水墙

防水墙:广泛意义上的防水墙:防水墙(waterwall),与防火墙相对,是一种防止内部信息泄露的安全铲产品。 网络、外设接口、存储介质和打印机或信息泄露的全部途径,防水墙针对这两种泄密途径,在事前、事中、事后进行全面保护。其与防病毒产品、外部安全产品一起的完整的网络安全体系。

(二)、防火墙的分类

1、按照保护类型划分:

主机防火墙:服务范围为当前一台主机
网络防火墙:服务范围为防火墙一侧的局域网

2、按实现方式划分:

硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为,山石hilitone,天融信,启明星辰,绿盟,深信服,PaloAlto , fortinet, Cisco, Checkpoint,NetScreen(uniper2004年40亿美元收购)等。
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows防火墙ISA --> Forefront。

3、按网络协议划分:

网络层防火墙:OSI模型下四层,又称为包过滤防火墙。
应用层防火墙/代理服务器: proxy 代理网关,OSl模型七层。

包过滤防火墙

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

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

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

应用层防火墙

应用层防火墙/代理服务型防火墙,也称为代理服务器(Proxy Server)
将所有跨越防火墙的网络通信链路分为两段
内外网用户的访问都是通过代理服务器上的"链接"来实现
优点:在应用层对数据进行检查,比较安全

缺点:增加防火墙的负载

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

(三)、Linux包过滤防火墙的概述

3.1 、Linux防火墙

(1)、netfilter——内核态(包过滤功能体系)

位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态

(2)、iptables——用户态(管理防火墙规则)

位于/sbin/iptables,用来管理防火墙规则的工具
称为Linux防火墙的“用户态

3.2、包过滤的工作层次

主要是网络层,针对IP数据包(网络层)
体现在对包内的IP地址、端口等信息的处理上

二、Linux防火墙的基本认识

(一)、Netfilter——内核态(包过滤功能体系)

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

(二)、防火墙工具介绍

1、iptables——用户态(管理防火墙规则)

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

iptables --version  查看版本


查看命令的帮助(说明书)

2、firewalld——前端管理工具

从centOS7版开始引入了新的前端管理工具软件包:
firewalld
firewalld-config
管理工具:
firewall-cmd命令行工具
firewall-config图形工作

3、nftables

此软件是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中的所有其他工具。从体系结构的角度来看,它还替换了内核中处理数据包过滤规则集运行时评估的那些部分。

3、netfilter中五个勾子函数和报文流向

Netfilter在内核中选取五个位置放了五个hook(勾子)function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规则。

由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上

提示:从 Linux kernel 4.2 版以后,Netfilter 在prerouting 前加了一个 ingress 勾子函数。可以使用这个新的入口挂钩来过滤来自第2层的流量,这个新挂钩比预路由要早,基本上是 tc 命令(流量控制工具)的替代品。

www.taoboa:80
www.taoboa:8080
iptabales 调用 netfiter 功能 5个 函数

内核中数据包的传输过程
1、当一个数据包进入网卡时,数据包首先进入PREROUTING链,内核根据数据包目的IP判断是否需要 转送出去;
2、如果数据包是进入本机的,数据包就会沿着图向下移动,到达INPUT链。数据包到达INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包经过OUTPUT链,然后到达;
3、如果数据包是要转发出去的,且内核允许转发,数据包就会向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

**三种报文流向**

流入本机:PREROUTING --> INPUT-->用户空间进程(访问我的服务)
流出本机:用户空间进程 -->OUTPUT--> POSTROUTING(穿过我)
转发:PREROUTING --> FORWARD --> POSTROUTING(分摊流量)

数据包过滤的匹配流程
#1、入站:PREROUTING→INPUT
#2、出站: OUTPUT→>POSTROUTING
#3、转发:PREROUTING→>FORWARD>POSTROUTING

规则链内的匹配顺序
按顺序依次检查,匹配即停止(LOG策略例外)
若找不到相匹配的规则,则按该链的默认策略处理

匹配流程示意图

三、firewalld服务

(一)、介绍firewalld

firewalld是CentoS 7.0新推出的管理netilter的用户空间软件工具.也被ubuntu18.04版以上所支持(apt install firewalld安装即可)firewalld是配置和监控防火墙规则的系统守护进程。可以实iptables jpbtables,ebtables的功能firewalld服务由firewalld

本文标签: 防火墙技术iptables