首页 > 系统相关 >Linux 防火墙与安全管理工具详解

Linux 防火墙与安全管理工具详解

时间:2024-09-27 19:23:38浏览次数:10  
标签:Iptables -- 防火墙 管理工具 处理 Linux 数据包

Linux 防火墙与安全管理工具详解

1. Iptables 概述

Iptables 是 Linux 系统中用于控制网络流量的工具,通过定义规则来过滤、转发和修改数据包。其规则可以细致地管理进入和离开系统的数据流。

1.1 三表五链

image

1.1.1 三表

Iptables 中主要有三种表,每种表用于不同的操作:

  1. filter 表

    • 作用:负责数据包的过滤,决定哪些数据包被允许通过。
    • 主要链
      • INPUT:处理进入防火墙的数据包。
      • OUTPUT:处理从防火墙发出的数据包。
      • FORWARD:处理经过防火墙转发的数据包。
  2. nat 表

    • 作用:用于网络地址转换,修改数据包的源或目标地址。
    • 主要链
      • PREROUTING:在路由决策之前处理数据包。
      • POSTROUTING:在数据包离开防火墙之前处理。
      • OUTPUT:处理由本机生成的数据包。
  3. mangle 表

    • 作用:用于修改数据包的某些特性,例如 TOS、TTL 和标记。
    • 主要链
      • PREROUTING:在数据包路由决策前处理。
      • POSTROUTING:在数据包离开防火墙前处理。
      • INPUT:处理进入防火墙的数据包。
      • OUTPUT:处理从防火墙发出的数据包。
      • FORWARD:处理转发的数据包。

1.1.2 五链

Iptables 中的五个链分别为:

  1. INPUT:处理进入防火墙的流量。
  2. OUTPUT:处理从防火墙出去的流量。
  3. FORWARD:处理转发流量。
  4. PREROUTING:所有进入防火墙的数据包首先经过这个链。
  5. POSTROUTING:所有从防火墙出去的数据包经过这个链。

1.2 Iptables 示例

1.2.1 允许 SSH 访问并拒绝其他流量(filter 表)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
解析:允许 SSH 访问,所有其他流量将被拒绝。

1.2.2 端口转发示例(nat 表)

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080
iptables -t nat -A POSTROUTING -j MASQUERADE
解析:将外部访问的 HTTP 流量转发到内部服务器。

1.2.3 修改 TOS 示例(mangle 表)

iptables -t mangle -A OUTPUT -p tcp --dport 80 -j TOS --set-tos 0x10
解析:修改发送到 HTTP 的数据包的 TOS 字段。

2. UFW(Uncomplicated Firewall)

2.1 概述

UFW 是一种用于简化 Iptables 操作的防火墙管理工具,主要用于 Ubuntu 系统。它提供了易于使用的命令行和图形界面。

2.2 主要特点

易于使用:通过简化的命令,使用户能够快速设置防火墙规则。
默认策略:可以轻松设置默认的允许或拒绝规则。
状态管理:支持查看防火墙状态和已配置的规则。

2.3 示例

2.3.1 启用 UFW

ufw enable

2.3.2 允许 SSH

ufw allow ssh

2.3.3 拒绝 HTTP

ufw deny http

3. SELinux(Security-Enhanced Linux)

3.1 概述

SELinux 是一种强制访问控制(MAC)机制,提供额外的安全层,控制系统中进程和对象的交互。它由 NSA 开发,并集成到许多 Linux 发行版中。

3.2 主要特点

细粒度控制:可以根据安全策略精确控制访问权限。
强制执行:不允许绕过设置的安全策略。
上下文管理:每个文件和进程都有安全上下文,以定义访问权限。

3.3 示例

3.3.1 查看 SELinux 状态

sestatus

3.3.2 设置 SELinux 为宽松模式

setenforce 0

3.3.3 设置 SELinux 为强制模式

setenforce 1

4. Firewalld

4.1 概述

Firewalld 是一种动态防火墙管理工具,旨在替代 Iptables。它使用区域和服务的概念来管理规则,允许用户动态地添加和删除规则。

4.2 主要特点

区域管理:根据网络的不同区域(如内部、外部)设置不同的规则。
服务管理:可以使用服务名称来管理规则,而不是使用端口号。
动态更新:支持动态添加、删除规则,无需重启防火墙。

4.3 示例

4.3.1 启动 Firewalld

systemctl start firewalld

4.3.2 允许 SSH 服务

firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload

4.3.3 查看当前规则

firewall-cmd --list-all

Iptables、UFW、SELinux 和 Firewalld 是 Linux 系统中重要的安全管理工具。它们各自有不同的应用场景和特点,能够有效保护系统安全。通过合理配置这些工具,可以实现强大的网络安全策略。

标签:Iptables,--,防火墙,管理工具,处理,Linux,数据包
From: https://www.cnblogs.com/haozheyu/p/18436413

相关文章

  • Linux服务器磁盘空间占用情况分析与清理指南
    为确保重大节日期间,团队负责的测试环境服务器磁盘不会占用过高,导致频繁报警。我们要求在重大节假日前对服务器磁盘占用情况进行检查。如果发现占用过高,则需人为介入,进行相应清理。一、检查要求查看各分区占用情况,如果达到以下任一条件,则需要人为介入判断或处理:(1)磁盘使用......
  • HelpLook VS GitBook,在线文档管理工具对比
    在线文档管理工具在当今时代非常重要。随着数字化时代的到来,人们越来越依赖于电子文档来存储、共享和管理信息。无论是与团队合作还是与客户分享,人们都可以轻松地共享文档链接或通过设置权限来控制访问。在线文档管理工具的出现大大提高了工作效率和协作能力。本篇文章将会聚......
  • 一个9年archlinux重度使用者自述
    系统没有高低贵贱,主要还是使用的人,哪个跟你更契合。对我而言,archlinux就是最契合的那个。本文主要是对archlinux使用做一个粗浅的介绍,如果能勾起你一丝兴趣,那就更好了。第一部分:初识ArchLinux从Ubuntu和Fedora到Arch的转变大学期间了解到有linux这么一类系统,看起来很酷,那命......
  • 新手答疑 | 零基础该怎么学习嵌入式?嵌入式Linux学习路线是什么?嵌入式开发板推荐?
    很多初学者想要涉足嵌入式Linux开发领域,但往往在刚入门阶段,会因为初次接触到大量复杂的概念术语和深奥的技术文档感到压力重重,面对这些内容不知从何下手,感到十分迷茫,网上的内容也纷繁复杂,没有清晰的学习线路,看完后甚至更蒙圈。实际上,嵌入式Linux开发并没有想象中的那样高不可攀,关键......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word文件并提取数据区
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如......
  • Linux学习完真的能找到工作吗?
    Linux作为一种开源的操作系统,在企业和机构中得到了广泛的应用,因此需要大量的Linux专业人才。而Linux知识体系比较广泛,想要从事相关工作需要具备专业的技能,因此为了满足用人标准,不少小伙伴会选择参加培训,那么Linux培训完能找到工作吗?以下是具体内容介绍。Linux培训完能找到......
  • Linux云计算和云计算运维有何不同?
    Linux云计算和云计算运维对于很多人来讲并不陌生,而且它们都涉及到云计算技术,那么二者之间有何区别?主要区别在于职责、技能要求、工作领域和发展趋势,接下来通过这篇文章来看看吧。职责与技能要求:Linux云计算的工作内容主要包括公司运维团队和运维系统的建设,制定并不断......
  • Linux常用命令(持续更新)
    一、常用命令1、查看当前系统多少位getconfLONG_BITarchzy@ubuntu:~$archx86_64zy@ubuntu:~$getconfLONG_BIT642、显示当前的终端号以及登录的用户有哪些tty显示当前终端[zy@ubuntu~]$tty/dev/pts/0#tty终端#pts伪终端,也称虚拟终端who显示所有用户的......
  • Centos Linux跟踪路由每一跳的方法
    方法一:使用traceroute命令(检测一次)[root@sre01~]#traceroutewww.baidu.comtraceroutetowww.baidu.com(39.156.66.14),30hopsmax,60bytepackets1gateway(192.168.236.2)24.103ms23.554ms23.238ms2192.168.31.1(192.168.31.1)30.348ms29.803ms......
  • 【Linux】权限管理——专治不会设置权限而头疼
    ......