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.rhkb.cn/news/473211.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇

WebRTC视频 01 - 视频采集整体架构 WebRTC视频 02 - 视频采集类 VideoCaptureModule [WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇]&#xff08;本文&#xff09; WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇 WebRTC视频 05 - 视频采集类 VideoCaptureDS 下篇 一、前…

高光谱深度学习调研

综述 高光谱深度学习只有小综述&#xff0c;没有大综述。小综述里面场景分类、目标检测的综述比较多。 Wang C, Liu B, Liu L, et al. A review of deep learning used in the hyperspectral image analysis for agriculture[J]. Artificial Intelligence Review, 2021, 54(7)…

计算机视觉 1-8章 (硕士)

文章目录 零、前言1.先行课程&#xff1a;python、深度学习、数字图像处理2.查文献3.环境安装 第一章&#xff1a;概论1.计算机视觉的概念2.机器学习 第二章&#xff1a;图像处理相关基础1.图像的概念2.图像处理3.滤波器4.卷积神经网络CNN5.图像的多层表示&#xff1a;图像金字…

24-Ingest Pipeline Painless Script

将文档中的tags字段按照逗号&#xff08;,&#xff09;分隔符进行分割。 同时为文档&#xff0c;增加一个字段。blog查看量 DELETE tech_blogs#Blog数据&#xff0c;包含3个字段&#xff0c;tags用逗号间隔 PUT tech_blogs/_doc/1 {"title":"Introducing big …

【ubuntu18.04】vm虚拟机复制粘贴键不能用-最后无奈换版本

我是ubuntu16版本的 之前费老大劲安装的vmware tools结果不能用 我又卸载掉&#xff0c;安装了open-vm-tools 首先删除VMware tools sudo vmware-uninstall-tools.pl sudo rm -rf /usr/lib/vmware-tools sudo apt-get autoremove open-vm-tools --purge再下载open-vm-tools s…

Android Mobile Network Settings | APN 菜单加载异常

问题 从log看是有创建APN对应的Controller&#xff08;功能逻辑是ok的&#xff09;&#xff0c;但是Mobile Network Settings无法显示&#xff08;UI异常&#xff09;。 相关术语&#xff1a; GSM&#xff08;Global System for Mobile Communications&#xff09; 全球移动…

AndroidStudio-Activity的生命周期

一、Avtivity的启动和结束 从当前页面跳到新页面&#xff0c;跳转代码如下&#xff1a; startActivity(new Intent(源页面.this&#xff0c;目标页面.class))&#xff1b; 从当前页面回到上一个页面&#xff0c;相当于关闭当前页面&#xff0c;返回代码如下&#xff1a; finis…

python机器人Agent编程——多Agent框架的底层逻辑(上)

目录 一、前言二、两个核心概念2.1 Routines&#xff08;1&#xff09;清晰的Prompt&#xff08;2&#xff09;工具调用json schema自动生成&#xff08;3&#xff09;解析模型的toolcall指令&#xff08;4&#xff09;单Agent的循环决策与输出 PS.扩展阅读ps1.六自由度机器人相…

SOP搭建:企业标准化操作程序构建与实施指南

一、引言 在当今充满竞争的商业领域&#xff0c;实现企业运营的标准化、高效化和高质量化是提升企业市场竞争力的关键所在。标准操作程序&#xff08;SOP&#xff09;作为一种至关重要的管理工具&#xff0c;能够清晰地阐述业务流程&#xff0c;规范操作行为&#xff0c;并促进…

用 Python 从零开始创建神经网络(五):损失函数(Loss Functions)计算网络误差

用损失函数&#xff08;Loss Functions&#xff09;计算网络误差 引言1. 分类交叉熵损失&#xff08;Categorical Cross-Entropy Loss&#xff09;2. 分类交叉熵损失类&#xff08;The Categorical Cross-Entropy Loss Class&#xff09;展示到目前为止的所有代码3. 准确率计算…

ubuntu 安装kafka-eagle

上传压缩包 kafka-eagle-bin-2.0.8.tar.gz 到集群 /root/efak 目录 cd /root/efak tar -zxvf kafka-eagle-bin-2.0.8.tar.gz cd /root/efak/kafka-eagle-bin-2.0.8 mkdir /root/efakmodule tar -zxvf efak-web-2.0.8-bin.tar.gz -C /root/efakmodule/ mv /root/efakmodule/efak…

Zotero 7本地pdf文件名自适应中英文格式

问题 Zotero7默认语言是中文&#xff0c;发现本地pdf文献中均会出现“等”字&#xff0c;出现中英文不统一的不便。 &#xff08;注&#xff1a;存在et al.的pdf&#xff0c;是从外部直接拖进去的&#xff0c;不是自动产生的。&#xff09; 解决 zotero 7提供了丰富的文件后…

Redis性能优化——针对实习面试

目录 Redis性能优化什么是bigkey&#xff1f;bigkey的危害&#xff1f;如何处理bigkey?什么是hotkey&#xff1f;hotkey的危害&#xff1f;如何处理hotkey&#xff1f;如何处理大量key集中过期问题&#xff1f;什么是内存碎片&#xff1f;为什么会有Redis内存碎片&#xff1f;…

牛客挑战赛77

#include <iostream>// 函数 kXOR&#xff1a;计算两个数在 k 进制下的异或和 // 参数&#xff1a; // a: 第一个正整数 // b: 第二个正整数 // k: 进制基数 // 返回值&#xff1a; // 两数在 k 进制下的异或和&#xff08;十进制表示&#xff09; long long kXO…

开源共建 | 长安链开发常见问题及规避

长安链开源社区鼓励社区成员参与社区共建&#xff0c;参与形式包括不限于代码贡献、文章撰写、社区答疑等。腾讯云区块链王燕飞在参与长安链测试工作过程中&#xff0c;深入细致地总结了长安链实际开发应用中的常见问题及其有效的规避方法&#xff0c;相关内容多次解答社区成员…

EWM 打印

目录 1 简介 2 后台配置 3 主数据 4 业务操作 1 简介 打印即输出管理&#xff08;output management&#xff09;利用“条件表”那一套理论实现。而当打印跟 EWM 集成到一起时&#xff0c;也需要利用 PPF&#xff08;Post Processing Framework&#xff09;那一套理论。而…

LLaMA-Factory全流程训练模型

&#x1f917;本文主要讲述在docker下使用LLaMA-Factory训练推理模型。 &#x1fae1;拉取镜像 首先需要启动docker&#xff0c;然后在终端中输入&#xff1a; docker run -tid --gpus all -p 8000:8000 --name LLM -e NVIDIA_DRIVER_CAPABILITIEScompute,utility -e NVIDIA…

WebSocket简易聊天室实现(有详细解释)

完整代码 Arata08/online-chat-demo 服务端: 1.编写配置类&#xff0c;扫描有 ServerEndpoint 注解的 Bean import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.s…

Excel超级处理器:高效实现2种批量生成二维码方式

在Excel数据处理中&#xff0c;二维码的批量生成是一个常见且重要的需求。借助Excel超级处理器这一强大的插件&#xff0c;用户可以轻松实现二维码的两种主要批量生成方式&#xff1a;直接在单元格中显示二维码图片&#xff0c;以及直接生成二维码图片并保存在文件夹中。超级处…

Linux Android 正点原子RK3568替换开机Logo完整教程

0.这CSDN是有BUG吗?大家注意:表示路径的2个点号全都变成3个点号啦! 接下来的后文中,应该是2个点都被CSDN变成了3个点: 1.将这两个 bmp 图片文件720x1280_8bit拷贝到内核源码目录下,替换内核源码中默认的 logo 图片。注意:此时还缺少电量显示图片 2.编译内核 make d…