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

news/2024/9/27 19:24:27

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 系统中重要的安全管理工具。它们各自有不同的应用场景和特点,能够有效保护系统安全。通过合理配置这些工具,可以实现强大的网络安全策略。

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

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

相关文章

PS 2024下载

下载链接 https://pan.baidu.com/s/12CPOer87t83ytwZ0MC5tIQ?pwd=7x3s 7x3s是提取码 1.百度网盘保存后下载到本地电脑用解压软件解压,解压密码是ruanjianhenye 2.打开解压后的文件夹,鼠标点击set-up选择以管理员的身份运行3.选择更改位置4.打开需要将软件安装的磁盘(如…

Excel读写之xlrd模块

1.1、xlrd模块介绍 xlrd:用于读取Excle数据文件将返回的数据对象放到内存中,然后查询数据文件对象的相关信息。 xlwt:用于在内存中生成新的数据文件对象,处理完成后写入到Excel数据文件中。 xlutils:主要的作用就是copy新的文件对象,在新的数据对象中完成数据处理操作。 …

广州C++信奥老师解一本通题 1919:【02NOIP普及组】选数

​【题目描述】已知nn个整数x1,x2,……xn 以及一个整数K(K<n)。从n个整数中任选K个整数相加,可分别 得到一系列的和。例如当n=4, k=3 4个整数分别为3,7,12,19 3, 7,12,19时,可得全部的组合与它们的和为: 3+7+12=22   3+7+19=29   7+12+19=38  3+12+19=34 现在,要求你计算…

VMware安装Ubuntu操作系统 2024.9.27

1.安装 Ubuntu的官方网站是:https://www.ubuntu.com/download 点进去可以直接下载文件下载会比较慢,我这点用了约5分钟 然后就可以打开vmware,选择:就可以注册和使用了。 笔记本电脑是这样的。。 如果使用台式机,没有相应的硬件环境的话,就不要创建空的盘符了,就可以创建…

PbootCMS上传图片失败或提示:未知错误

在PbootCMS中,如果遇到上传图片失败或提示“未知错误”,可以尝试以下几个步骤来解决问题: 解决方案 1. 检查服务器空间和权限检查服务器空间:确认服务器空间是否已满。可以使用FTP客户端或服务器管理面板查看剩余空间。 如果空间不足,清理一些不必要的文件或增加空间容量。…

五上数学第1单元情况反馈204班

五上数学第1单元情况反馈204班 本周进行了数学第一单元的综合练习,已经进行了讲评。试卷已经下发,请学生带回家改完错误,家长签字。 签字在试卷的左上角,签字示范:家长阅,9月27日,或者再写一些建议与意见都可以。 下面分析一下第一单元的情况: 第一单元是本册最难的单元…

地平线静态目标检测 MapTR 参考算法-V1.0

1.简介 高清地图是自动驾驶系统的重要组件,提供精确的驾驶环境信息和道路语义信息。传统离线地图构建方法成本高,维护复杂,使得依赖车载传感器的实时感知建图成为新趋势。早期实时建图方法存在局限性,如处理复杂地图元素的能力不足、缺乏实例级信息等,在实时性和后处理复杂…

20240927 随机训练

GYM 105350 E 题目描述 给定一个大小为 \(N\) 的数组 \(A\)。 我们定义一个大小为 \(N\) 的数组 \(B\) 是有效的当且仅当:对于 \(\forall 1\le i\le N,1\le B_i \le N\),如果从 \(B\) 中移除 \(B_i\),则数组 \(B\) 恰好有 \(A_i\) 个不同的数。求有多少个不同的由有效数组 \…