linux笔记(防火墙)

一、概述

  1. 防火墙的作用
    在 Linux 系统中,
    防火墙用于控制进出系统的网络流量,基于预定义的安全规则允许或拒绝数据包,从而保护系统免受未经授权的访问、恶意攻击,并确保网络服务的安全运行。

二、常见的 Linux 防火墙软件

  1. iptables

    • 基本介绍是 Linux 内核中集成的一款经典的防火墙软件,基于 Netfilter 框架工作。它通过定义规则链( Chains)和规则(Rules)来实现对网络流量的过滤。
    • 规则链类型:包括 INPUT(处理进入本机的数据包)、OUTPUT(处理本机发出的数据包)、FORWARD(处理经过本机转发的数据包,常用于路由器等有转发功能的设备)等。例如,若要阻止某个 IP 地址访问本机的 SSH 服务,可以在 INPUT 链添加规则。
    • 规则操作:可以对符合条件的数据包执行 ACCEPT(允许通过)、DROP(直接丢弃,不回应)、REJECT(拒绝,向源端发送错误信息)等操作。
    • 表(Tables)的概念:iptables 有不同的表,如 filter 表(用于过滤数据包,是最常用的表,主要涉及 INPUT、OUTPUT、FORWARD 链)、nat 表(用于网络地址转换,如端口转发、源地址伪装等)、mangle 表(用于修改数据包的某些标志位等)。
  2. firewalld

    • 基本介绍是 CentOS 等 Linux 发行版中新一代的防火墙管理工具,它提供了动态管理防火墙规则的功能,支持区域(Zones)的概念。
    • 区域概念不同的区域有不同的默认安全级别和策略。例如,public 区域通常用于公共网络环境,默认拒绝大多数传入连接;trusted 区域则允许所有的网络连接。可以根据网络接口所处的环境将其分配到不同的区域。
    • 动态管理:相比 iptables,firewalld 可以在不重启防火墙服务的情况下动态地修改规则和区域设置,更适合于需要频繁更改防火墙策略的场景,如在服务器运行过程中临时开放某个端口用于调试。 

 iptables和firewalld对比:

  • firewalld可以动态修改单条规则,不需要像iptables那样,修改规则后必须全部刷新才可生效

  • firewalld默认动作是拒绝,则每个服务都需要去设置才能放行,而iptables里默认是每个服务是允许,需要拒绝的才去限制

  • iptables防火墙类型为静态防火墙firewalld 防火墙类型为动态防火墙

  • firewalld和iptables一样自身并不具备防火墙功能,它们的作用都是用于维护规则,而真正使用规则干活的是内核防火墙模块

  • firewalld 加入了区域(zone)概念

三、iptables 知识点

  1. 规则的基本组成部分

    • 匹配条件:包括源 IP 地址、目的 IP 地址、端口号、协议类型(如 TCP、UDP、ICMP)等。例如,可以设置规则只允许来自特定网段(如 192.168.1.0/24)的 TCP 协议数据包通过某个端口。
    • 目标动作:如上述提到的 ACCEPT、DROP、REJECT 等。
  2. 命令语法示例

    • 查看规则iptables -L(列出当前的 iptables 规则,默认查看 filter 表的规则),可以添加-n参数以数字形式显示 IP 地址和端口号,添加-v参数查看更详细的规则信息,如数据包和字节计数器。
    • 添加规则iptables -A INPUT -s 192.168.1.100 -j DROP,此规则在 INPUT 链中添加一条拒绝来自 192.168.1.100 地址数据包的规则。
    • 删除规则iptables -D INPUT 1(删除 INPUT 链中的第一条规则,需要谨慎使用,因为删除错误可能导致意外的安全漏洞)。
    • 修改规则iptables -R INPUT 1 -s 192.168.1.200 -j ACCEPT(将 INPUT 链中的第一条规则修改为接受来自 192.168.1.200 的数据包)。
  3. 保存和恢复规则
    在基于 iptables 的系统中,由于 iptables 规则在内存中,重启系统后会丢失。可以使用iptables - save > /etc/sysconfig/iptables将当前规则保存到文件中,在系统启动时,可以通过iptables - restore < /etc/sysconfig/iptables来恢复规则。

四、firewalld 知识点

  1. 区域操作

    • 查看区域信息firewall - cmd -- get - zones(列出所有可用的区域),firewall - cmd -- get - active - zones(查看当前正在使用的区域及其关联的网络接口)。
    • 设置区域firewall - cmd -- set - zone = home -- add - interface = eth0(将 eth0 接口设置到 home 区域)。
  2. 端口和服务管理

    • 开放端口firewall - cmd -- zone = public -- add - port = 8080/tcp -- permanent(在 public 区域永久开放 TCP 端口 8080,-- permanent参数表示规则在防火墙重启后仍然有效,若不添加此参数,规则仅在当前会话有效)。
    • 开放服务firewall - cmd -- zone = public -- add - service = http -- permanent(在 public 区域永久添加 HTTP 服务,firewalld 预定义了许多常见的服务,通过服务名来管理比直接管理端口更方便和安全,因为服务名对应的端口可能会因软件版本等因素变化)。
  3. 重新加载和重启 firewalld

    • 重新加载规则firewall - cmd -- reload(重新加载防火墙规则,使新添加或修改的规则生效,不会中断已建立的连接)。
    • 重启服务systemctl restart firewalld(完全重启 firewalld 服务,会中断所有连接)。

 

五、防火墙策略规划与安全考虑

  1. 最小化原则
    只开放系统运行所需的网络服务和端口,关闭不必要的端口和服务,减少系统的攻击面。例如,对于一个只运行 Web 服务的服务器,只需要开放 80(HTTP)或 443(HTTPS)端口以及相关的管理端口(如果有)。
  2. 分层防御
    防火墙只是安全防护的一部分,应与其他安全措施(如 SELinux、入侵检测系统等)结合使用,构建多层次的安全防护体系。例如,即使防火墙允许了某个连接,SELinux 仍可以根据其安全策略限制该连接对系统资源的访问。
  3. 定期审查和更新
    随着系统服务的变化和网络威胁的演变,需要定期审查和更新防火墙策略。例如,当安装了新的网络服务或发现新的安全漏洞时,及时调整防火墙规则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15779.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何在vscode 中打开新文件不覆盖上一个窗口

在 VSCode 中&#xff0c;如果你单击文件时出现了覆盖Tab的情况&#xff0c;这通常是因为VSCode默认开启了预览模式。在预览模式下&#xff0c;单击新文件会覆盖当前预览的文件Tab。为了解决这个问题&#xff0c;你可以按照以下步骤进行操作 1.打开VSCode&#xff1a;启动你的…

Linux篇(权限管理命令)

目录 一、权限概述 1. 什么是权限 2. 为什么要设置权限 3. Linux中的权限类别 4. Linux中文件所有者 4.1. 所有者分类 4.2. 所有者的表示方法 属主权限 属组权限 其他权限 root用户&#xff08;超级管理员&#xff09; 二、普通权限管理 1. ls查看文件权限 2. 文件…

冲压车间如何开展六西格玛管理培训

面对日益严苛的客户要求与成本控制挑战&#xff0c;传统的管理模式已难以满足高质量发展的需求。此时&#xff0c;六西格玛管理以其严谨的数据驱动、持续改进的理念&#xff0c;成为众多企业转型升级的有力工具。本文&#xff0c;天行健企业管理咨询公司将深入探讨冲压车间如何…

基于微信小程序的平安驾校预约平台的设计与实现(源码+LW++远程调试+代码讲解等)

摘 要 互联网发展至今&#xff0c;广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#xff0c;劳动强度大&#xff0c;费时费力…

插入排序(sort)C++

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 时间限制&#xff1a;C/C/Rust/Pascal 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C/Rust/Pascal 512 M&#xff0c;其他语言1024 M 64bit IO Format: %lld 题目描述 插入排序是一种…

卷积、频域乘积和矩阵向量乘积三种形式之间的等价关系与转换

线性移不变系统 线性移不变系统&#xff08;Linear Time-Invariant System, LTI系统&#xff09;同时满足线性和时不变性两个条件。 线性&#xff1a;如果输入信号的加权和通过系统后&#xff0c;输出是这些输入信号单独通过系统后的输出的相同加权和&#xff0c;那么该系统就…

15分钟学 Go 第 53 天 :社区资源与学习材料

第53天&#xff1a;社区资源与学习材料 目标 了解Go语言官方资源掌握社区重要学习平台学会利用开源项目学习构建个人知识体系 一、Go语言官方资源汇总 资源类型网址说明Go官网golang.org官方文档、下载、教程Go Blogblog.golang.org技术博客、最新特性介绍Go Playgroundpla…

「QT」文件类 之 QIODevice 输入输出设备类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

timescale使用例子 - 纽约出租车

一、资料使用 在timescale的官方网站的“教程”菜单中&#xff0c;有几个不同业务场景的例子&#xff0c;其中就有运输行业的例子。我访问中文站点的时候&#xff0c;关于教程的几个步骤内容刷不出来&#xff0c;所以还是建议访问英文站点。 https://docs.timescale.com/tuto…

树(二叉查找树、平衡二叉树、红黑树)

树&#xff08;二叉树、二叉查找树、平衡二叉树、红黑树&#xff09; 二叉查找树&#xff08;二叉排序树、二叉搜索树&#xff09;添加元素查找元素遍历弊端 平衡二叉树旋转机制&#xff1a;左旋旋转机制&#xff1a;右旋需要旋转的四种情况1. 左左&#xff1a;一次右旋2. 左右…

医疗器械包装运输试验之抗压试验的条件选取及方法和设备的要求

医疗器械包装运输试验之抗压试验的试验目的&#xff1a; 抗压试验通常用来评估产品在承受外界压力时&#xff0c;包装对内装物样品的保护能力。试验通常模拟产品在运输流通过程中可能遇到的压力环境。通过试验&#xff0c;可以验证包装对内装物的保护能力、包装结构的完整性、…

C++内存池实现

1.内存池概念 内存池就和其他的池数据&#xff08;如线程池&#xff09;结构类似&#xff0c;由程序维护一个“池”结构来管理程序使用的内存&#xff0c;然后根据需要从内存池中申请使用内存或者向内存池中释放内存&#xff0c;来达到高效管理内存的目的。 在一般的内存管理的…

数据结构-二叉树

一.二叉树的定义 二叉树有左右儿子之分 完美二叉树&#xff08;满二叉树&#xff09;除了最下面的没有儿子其他结点都有两个儿子&#xff0c;叶节点比较齐的&#xff0c;完全二叉树不是满二叉数允许缺失最后的结点 满二叉树可以达到2^k-1 边的总数节点数-1 二.二叉树的存储结构…

OKR制定指南

Goal Crafting 目标制定是最基本的领导活动之一。组织绩效和团队成长依赖于精心制定的目标。没有良好的目标制定练习&#xff0c;团队可能只关注眼前的事务&#xff0c;解决看似可以快速解决的问题。良好的目标制定迫使你不忽视或推迟那些需要新思维方式、合作或克服困难的问题…

详细分析Java中FilterChain过滤器的基本知识

目录 前言1. 基本知识2. Demo 前言 基本的Java知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09; 从实战中学习&#xff1a; 常用在一些重复代…

TableGPT2-7B:用于表格数据分析的大规模解码器模型

TableGPT2-7B 是浙江大学开发的最先进的大规模解码器模型&#xff0c;专为涉及表格数据的数据密集型任务而设计。该模型以 Qwen2.5 架构为基础&#xff0c;包括针对表格数据的专用编码&#xff0c;其中独特的语义编码器可从行、列和整个表格中获取洞察力。 主要特点和功能 Ta…

SQL面试题——抖音SQL面试题 主播播出时长

主播播出时长 现有如下数据,主播id、房间号、播出的批次号,每个批次号进出房间的时间戳、分区时间: 每一次直播都有一个上播和下播,每个房间里,同一个批次号会有两条数据,分别记录了上播和下播时间,求每个主播的播出时长? 通过上面的数据,可以清晰的看出,同一个批次…

数字信号处理Python示例(14)生成锯齿波和三角波

文章目录 前言一、锯齿波和三角波二、生成锯齿波和三角波的Python代码三、仿真结果及分析写在后面的话 前言 因其独特的数学特性和物理表现&#xff0c;在工程和技术领域扮演着重要角色。这是生成非正弦信号的几个Python示例的其中一个&#xff0c;生成三角波与锯齿波&#xf…

HBase理论_HBase架构组件介绍

近来有些空闲时间&#xff0c;正好最近也在开发HBase相关内容&#xff0c;借此整理一下学习和对HBase组件的架构的记录和个人感受&#xff0c;付出了老夫不少心血啊&#xff0c;主要介绍的就是HBase的架构设计以及我的拓展内容。内容如有不当或有其他理解 matirx70163.com HB…

前端快速上手(一):HTML

目录 1. HTML 基础 1.1 HTML 标签 1.2 标签的结构关系 2. HTML 常见标签 2.1 标题标签: h1 - h6 2.2 段落标签: p 2.3 换行标签: br 2.4 图片标签: img 2.5 超链接: a 标签 2.5.1 外部链接 2.5.2 内部链接 2.5.3 文件资源链接 2.5.4 空链接 2.6 表格标签 2.7 表单…