Linux之防火墙策略

article/2025/11/5 21:27:22

防火墙

防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙是系统的第一道防线,其作用是防止非法用户的进入。

三大表五条链

filter: INPUT, OUTPUT, FORWARD
nat: INPUT, OUTPUT, PREROUTING, POSTROUTING
mangle:INPUT, OUTPUT, PREROUTING, POSTROUTING, FORWARD

INPUT:进来的数据包应用此规则链中的策略
OUTPUT:外出的数据包应用此规则链中的策略
FORWARD:转发数据包应用此规则中的策略
PREROUTING:对数据包作路由选择前应用此链中的策略(所有的数据包进来的时候都有这个链处理)
POSTROUTING:对数据包作路由选择后应用此链中的策略(所有的数据包出来的时候都由这个链处理)

firewall域

在这里插入图片描述

管理方式

firewalld和iptables

yum install iptables-services.x86_64
使用其中一个要把另一个关闭

firewall

systemctl disable iptables
systemctl mask iptables ##开启时,unmask
systemctl start firewall

firewall-cmd --state ##查看火墙状态

在这里插入图片描述
firewall-cmd --get-active-zones ##查看当前活跃的域

在这里插入图片描述
firewall-cmd --get-default-zone ##查看默认域
在这里插入图片描述

firewall-cmd --get-zones ##查看所有的域
在这里插入图片描述
firewall-cmd --zone=public --list-all ##查看public域提供的所有服务

在这里插入图片描述
firewall-cmd --get-services ##查看火墙管理的服务

在这里插入图片描述
firewall-cmd --list-all-zones ##查看各种域的管理范围

在这里插入图片描述
firewall-cmd --set-default-zone=dmz ##设置火墙的域
在这里插入图片描述
firewall-config ##打开火墙图形管理界面
在这里插入图片描述
firewall-cmd --zone=trusted --add-source=172.25.254.68 ##添加

可以用firewall-cmd --get-active-zones查看有没有写入
在这里插入图片描述
firewall-cmd --permanent --zone=trusted ##删除(–permanent表示永久)
–remove-source=172.25.254.68
在这里插入图片描述
firewall-cmd --permanent --zone=internal ##添加(如果接口在别出就添加不了,只能修改)
–add-interface=eth0
firewall-cmd --permanent --zone=internal ##修改
–change-interface=eth0
firewall-cmd --permanent --zone=internal ##删除
–remove-interface=eth0
在这里插入图片描述

注意:接口原本在public上,所以不能添加到internal上,出现Error报错,只能修改到internal上

firewall-cmd --permanent --zone=public --add- ##添加服务
service=smtp
firewall-cmd --permanent --zone=public ##删除服务
–remove-service=smtp
在这里插入图片描述

firewall-cmd --zone=public --list-ports ##列出public域允许的服务
firewall-cmd --permanent --zone=public --add- ##添加端口
port=8080/tcp
firewall-cmd --permanent --zone=public ##移除端口
–remove-port=8080/tcp
在这里插入图片描述

firewall-cmd --reload ##重新加载 ssh为例子,已经连接的不会断开
firefwall-cmd --complete-reload ##重新加载,已经连接的也会断开

火墙ssh服务关闭(如果ssh服务没关,可以访问)
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.42 -j ACCEPT #添加只有42可以使用ssh

在这里插入图片描述
在这里插入图片描述

firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.42 -j ACCEPT ##移除
在这里插入图片描述
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 !-s 172.25.254.42 -j ACCEPT ##添加只有42不可以使用ssh
在这里插入图片描述

在这里插入图片描述
firewall-cmd --direct --get-all-rules ##查看所有规则

–direct 选项在运行时间里增加或者移除链

firewall的伪装和转发

a主机有两块网卡172.25.254.168和1.1.1.168,b主机有一块网卡1.1.1.240
b主机连不通172网段,设置网关为1.1.1.168,a主机设置伪装和网络内核,可以连通172网段
b主机ssh root@172.25.254.68
w -i 查看,发现是172.25.254.168
68ssh168,是进入真实的140而不是进入1.1.1.240
在168上做个转发
firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.240
firewall-cmd --reload
此时68ssh168,是进入1.1.1.240
在这里插入图片描述

测试:
没有做转发时
b主机ssh172网段的68
在这里插入图片描述
在a主机w -i查看连接自己的是172.25.254.168(其实是1.1.1.240)
在a主机ssh172.25.254.168
在这里插入图片描述
进入的是172.25.254.168,而不是1.1.1.240

做转发后
在这里插入图片描述
进入的是1.1.1.240

iptables
iptables-t	##指定表名称-n	##不做解析-L	##列出指定表中的策略-A	##增加策略(在最后)-p	##网络协议--dport	##端口-s	##数据来源-j	##动作ACCEPT	##允许REJECT	##拒绝DROP	##丢弃-N	##增加链-E	##修改链名称-X	##删除链-D	##删除指定策略-I	##插入(默认到第一个,后面跟多少数字表示到第几个)-R	##修改策略-P	##修改默认策略

iptables -t filter -nL ##查看filter表中的策略
iptables -F ##刷掉filter表中的所有策略,当没有用-t指定表的名称时默认是filter
service iptables save ##保存当前策略
在这里插入图片描述
iptables -A INPUT -i lo -j ACCEPT ##允许lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ##允许访问22端口
iptables -A INPUT -j REJECT ##拒绝所有主机的数据来源
在这里插入图片描述
iptables -N redhat ##增加链redhat

在这里插入图片描述
iptables -E redhat we ##改变链名称

在这里插入图片描述
iptables -X we ##删除we链
在这里插入图片描述
iptables -D INPUT 2 ##删除INPUT链中的第二条策略

在这里插入图片描述
iptables -I INPUT 1 -p tcp --dport 80 -j REJECT ##插入策略到INPUT中的第一条

在这里插入图片描述
iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT ##修改第一条策略
在这里插入图片描述
iptables -nL
iptables -F ##刷新
service iptables save ##保存
iptables -P INPUT DROP ##把INPUT链的状态变为DROP,别的机子ssh时一直闪没有反映
在这里插入图片描述
在这里插入图片描述

iptables -P INPUT ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j REJECT ##拒绝从22端口进入,别的机子ssh时会被refused
在这里插入图片描述

在这里插入图片描述

iptables的伪装和转发

a主机有两块网卡172.25.254.168和1.1.1.168,b主机有一块网卡1.1.1.240
b主机连不通172网段,设置网关为1.1.1.168,a主机设置伪装
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.168
在这里插入图片描述
b主机可以连通172网段
b主机ssh root@172.25.254.68
w -i 查看,发现是172.25.254.168
68ssh168,是进入真实的168而不是进入1.1.1.240
在168上做个转发
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.240
在这里插入图片描述
此时68ssh168,是进入1.1.1.240

允许服务

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
80 53 139 3260
iptables -A INPUT -m state --state NEW -j REJECT

测试
139 smbclient //172.25.254.140/haha -U student
3260 iscsiadm -m discovery -t st -p 172.25.254.140

查看端口
cat /etc/services | grep iscsi


http://chatgpt.dhexx.cn/article/Ph1MhY1u.shtml

相关文章

Linux下管理防火墙策略

目录 1. 防火墙管理工具的切换2. iptables的使用3.关于firewalld的域4.firewalld的基本管理命令5.firewalld的高级规则6.firewall中的NAT规则 防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息&…

基础防火墙策略

基于NAT的防火墙策略 原理:通过配置防火墙策略,实现内网可以通过防火墙访问外网,外网不能主动访问内网,保证了局域网的安全性。 上图为本次实验的简略图。 准备工作:外网设为桥接模式,内网设为仅主机模式,防火墙两个模式都有。 步骤: 首先把所有的不必要的防火墙策略…

A模块练习-防火墙策略

说明:iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它。 防火墙策…

Linux进阶(10)--防火墙策略优化

一.火墙介绍 从RHEL7以后,iptables服务的启动脚本已被忽略。请使用firewalld来取代iptables服务。 防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会根据防火墙规则进行检…

H3C 防火墙策略介绍

注意点: H3C防火墙有安全策略和域间策略,安全策略的优先级大于域间策略,会优先匹配安全策略,匹配不到才会匹配域间策略 域间策略:any to any的域间策略优先级低于具体的区域到具体的区域的域间策略 安全策略匹配顺序…

防火墙策略管理-firewalld

1.拓扑图 2.firewalld服务基础 1、Linux防火墙体系 系统服务:firewalld 管理工具:firewalld-cmd、firewalld-config 2、预设安全区域 ①、根据所在的网络场所区分,预设保护规则集 public:仅允许访问本机的sshd等少数几个服务 tru…

firewalld 防火墙策略

一 下面都是在public区 firewalld防火墙默认情况下(也就是public区域)是拒绝所有的,但是public区默认情况下ping和ssh服务都是放开的 [rootnode-1 ~]# firewall-cmd --list-all --zone public public (active)target: defaulticmp-block-inversion: nointerface…

win10 配置防火墙策略

说明 某些情况下,我们想在不关闭防火墙的情况下,开放一些特定的端口,使得特定的应用可以访问本机应用。我们可以配置自定义的防火墙策略来解决这个问题。 配置 控制面板 > 系统和安全 > Windows Defender 防火墙 高级设置 入站规…

防火墙策略管理小工具——网络安全

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、防火墙配置文件1. 地址集合2. 服务集合3. 规则集合 二、防火墙策略管理小工具的开发1. 主要功能2. 框架设计2.1 IP_Set对象2.2 Service对象2.3 Rule对象2.4…

飞塔防火墙策略设置

上周公司要求对一些电脑进行上网限制,只允许部分软件上网。 一、添加地址:在“策略与对象”--“地址”--“新建” 二、输入IP地址:(最大陷阱,公司是使用无线上网,对飞塔而言,整个无线网是一个端…

防火墙策略配置

拓扑 任务一 c2 ping c1 ,c1 not ping c2 首先我们要做的就是配置接口、网关、子网掩码,使得c1与c2可以互ping 如上图,我们先开启两个客户机,为方便测试。 命令 syssysname FWdis ip int br 查看状态int g0/0/1ip add 192.168.…

防火墙的策略

1.防火墙支持哪些NAT技术,主要的应用场景是什么? 首先,NAT的分类: 在内外网之间,流量进出的两个方向,而NAT技术是包含源地址转换和目标地址转换这两类,在通常的情况下,源地址转换是…

HCIA-Security -- 防火墙安全策略

防火墙安全基本原理 安全区域安全策略状态检测和会话机制ASPF技术防火墙在网络安全中的应用场景 一、防火墙安全基本原理 防火墙不仅只是一个“入口的屏障”,而应该是多个网络的接入控制点。所有进出内网的数据流都应该首先经过防火墙,形成一个信息进出…

防火墙策略

定义与原理: 防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以 进行合法的通信。 安全策略是控制设备对流量转发以及对流量进行内容安全一体化检测的策略,作用就是对通过防火墙的 数据流进行检…

kaggle数据集下载

一、首先需要安装kaggle winR→cmd→pip install kaggle 问题:安装到哪来?都说在c盘。可是我找不到,可能因为之前担心c负荷更改路径了,再安装一下发现已经安装成功,且给出了安装路径。 二、注册 (1387条消息) 最新k…

ImageNet 数据集下载与处理(亲测 实用有效无坑版)

下载 通常下载方式有两种, 官网下载和第三方网站上传的资源下载。这里推荐第三方下载,因为官网可能会存在注册麻烦,网页卡顿的情况。 第三方下载方式如下: 里面包含几乎所有常用的ImageNet的数据集以及标注文件。 https://pan.ba…

ImageNet ISLVRC2012数据集下载和使用

最近要在imagenet数据集上做实验,以前只知道这个数据集很大,但是没用过,这次亲自下载然后按照训练集和验证集划分好了,记录一下。 主要参考了这个 https://zhuanlan.zhihu.com/p/370799616 目录 1. 数据集下载2. 数据集处理2.1 训…

coco2017数据集下载(百度网盘)

今天,想要下载coco2017的数据集,奈何官网下载速度太慢,下载过程可谓坎坷,为了让有需求的人少走弯路,这里提供我的百度云链接,大家可自行下载,文件中包括的内容如下: 百度云链接&…

kaggle数据集的下载

感谢阅读本文,喜欢请收藏点赞 准备工作1.安装kaggle库2.注册登录kaggle账户3.kaggle.json的下载与使用4.下载数据集 文件保存路径 准备工作 1.安装kaggle库 2.注册登录kaggle账户 点我跳转 (没有帐户的有很多) 3.kaggle.json的下载与使用 …

KITTI数据集下载链接

1、简介 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D…