Linux--防火墙,实验案例:基于区域、服务、端口的访问控制
实验环境
某公司的Web服务器,网关服务器均采用Linux CentOS 7.3操作系统,如图2.13所示。为了 加强网络访问的安全性,要求管理员熟悉firewalld防火墙规则的编写,以便制定有效、可行的主机防护策略。

需求描述
> 网关服务器ens36网卡分配到external(外部)区域,ens37网卡分配到trusted(信任)区域,ens38网卡分配到dmz(非军事)区域。
> 网站服务器和网关服务器将SSH默认端口都改为12345。
> 网站服务器开启https,过滤未加密的 http 流量,且拒绝ping。
推荐步骤
①基本环境配置。
(1)为网关服务器与网站服务器配置主机名及网卡地址,并更改SSH的侦听地址。
(2)开启网关服务器的路由转发功能。
②在网站服务器上部署Web站点。
③为网站服务器与网关服务器编写firewalld规则。
④ 实验结果验证。
1.基本环境配置
(1)在网关服务器上配置主机名及网卡地址。
[root@node01 ~]# hostname gateway-server[root@node01 ~]# vim /etc/hostnamegateway-server

[root@gateway-server ~]# ifconfig

(2)开启网关服务器的路由转发功能。
[root@gateway-server ~]# vim /etc/sysctl.confnet.ipv4.ip_forward = 1[root@gateway-server ~]# sysctl -p


(3)配置 web服务器主机名及网卡地址。
[root@node01 ~]# hostname web
[root@node02 ~]# vim /etc/hostnameweb[root@web ~]# ifconfig


2.网站服务器环境搭建
(1)安装httpd和mod_ssl 软件包。
[root@web ~]# mount /dev/cdrom /mnt/
[root@web ~]# cd /etc/yum.repos.d/
[root@web yum.repos.d]# vim centos7.repo[local]
name=CnetOS 7.3
baseurl=file:///mnt/
enabled=1
gpgcheck=0[root@web ~]# yum -y install httpd mod_ssl


(2)启用并启动httpd服务。
[root@web ~]# systemctl start httpd
[root@web ~]# systemctl enable httpd

(3)创建网站首页测试页index.html。
[root@web ~]# vim /var/www/html/index.html<h1>this is a web</h1>

(4)更改SSH的侦听地址,并重启sshd服务,需要注意的是这里需要将SELinux关闭。
[root@web ~]# vim /etc/ssh/sshd_configPort 12345[root@web ~]# systemctl restart sshd

3.在网站服务器上启动并配置firewalld 防火墙
(1)在网站服务器上启动firewalld防火墙并将默认区域设置为dmz区域,firewalld在系统安装 后默认处于启动状态,如果不确定机器上的firewalld是否启动,可使用systemctl status firewalld或 firewall-omd--state 命令查看其运行状态。
[root@web ~]# systemctl start firewalld.service
[root@web ~]# systemctl enable firewalld.service[root@web ~]# systemctl status firewalld.service

(2)为dmz区域打开https服务及添加TCP的12345端口。
[root@web ~]# firewall-cmd --zone=dmz --add-service=https --permanent [root@web ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent

(3)禁止ping。
[root@web ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent

(4)因为预定义的SSH服务已经更改默认端口,所以将预定义SSH服务移除。
[root@web ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent

(5)重新加载Firewalld激活配置,并查看刚才的配置。
[root@web ~]# firewall-cmd --reload [root@web ~]# firewall-cmd --zone=dmz --change-interface=ens33[root@web ~]# firewall-cmd --list-all --zone=dmz

4.在网关服务器上配置firewalld 防火墙
(1)验证 firewalld在网关服务器上启动并且正在运行。
[root@gateway-server ~]# firewall-cmd --state[root@gateway-server ~]# systemctl start firewalld.service
[root@gateway-server ~]# systemctl enable firewalld.service [root@gateway-server ~]# firewall-cmd --state

(2)设置默认区域为external 区域,并查看配置结果。
[root@gateway-server ~]# firewall-cmd --set-default-zone=external [root@gateway-server ~]# firewall-cmd --list-all

(3)将ens37网卡配置到trusted区域,将ens38配置到dmz区域。
[root@gateway-server ~]# firewall-cmd --change-interface=ens37 --zone=trusted [root@gateway-server ~]# firewall-cmd --change-interface=ens38 --zone=dmz


(4)查看配置情况如下。
[root@gateway-server ~]# firewall-cmd --get-active-zones

(5)在企业内网测试机上访问网站服务器,可以成功访问,如图中所示。

(6)更改SSH的侦听端口,并重启服务(需关闭SELinuJx)。
[root@gateway-server ~]# vim /etc/ssh/sshd_configPort 12345[root@gateway-server ~]# systemctl restart sshd

(7)配置external 区域添加TCP的12345端口。
[root@gateway-server ~]# firewall-cmd --zone=external --add-port=12345/tcp --permanent

(8)配置external 区域移除SSH服务。
[root@gateway-server ~]# firewall-cmd --zone=external --remove-service=ssh --permanent

(9)配置external 区域禁止ping。
[root@gateway-server ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent

(10)重新加载防火墙激活配置。
[root@gateway-server ~]# firewall-cmd --reload

(11)使用Internet测试用机访问网站服务器。

相关文章:
Linux--防火墙,实验案例:基于区域、服务、端口的访问控制
实验环境 某公司的Web服务器,网关服务器均采用Linux CentOS 7.3操作系统,如图2.13所示。为了 加强网络访问的安全性,要求管理员熟悉firewalld防火墙规则的编写,以便制定有效、可行的主机防护策略。 需求描述 > 网关服务器ens3…...
C++学习笔记(二十八):c++ 静态库及动态库的使用
静态库的使用 库的使用会很大程度减少我们的工作,本节对c中静态库和动态库的使用进行简单的介绍。静态链接库意味着这个库会被放到可执行文件中,在生成的exe中。动态链接库是在程序运行时链接的,可以在程序运行时调用加载库函数的方法来实现&…...
uniapp最简单的底部兼容安全区域显示
效果图: 1.html写上动态padding-bottom <view class"button-wrap" :style"padding-bottom:bottomPaddingrpx"><view class"com-btn cencel-btn">取消</view><view class"com-btn confirm-btn " cl…...
图像去噪——CBDNet网络训练自己数据集及推理测试,模型转ONNX模型(详细图文教程)
CBDNet 主要由两个子网络组成:噪声估计子网络和去噪子网络。噪声估计子网络用于估计图像的噪声水平,而去噪子网络用于去除图像中的噪声。 CBDNet 的优势在于: 它采用了更真实的噪声模型,既考虑了泊松-高斯模型,还考虑…...
【Verilog】期末复习——解释下列名词(FPGA、ASIC、IP、RTL、EDA、HDL、FSM)
系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...
计算机网络 综合(习题)
【计算机网络习题】系列文章目录 计算机网络 第一章 绪论(习题) 计算机网络 第二章 计算机网络体系结构(习题) 计算机网络 第三章 应用层(习题) 计算机网络 第四章 运输层(习题) 计算机网络 第五章 网络层(习题) 计算机网络 第六章 数据链路层(习题) 计算机网络 第七章 物…...
探索vue2框架的世界:简述常用的vue2选项式API (二)
组件实例 👉 $attrs 用于父组件隔代向孙组件传值 长设置在子组件中 v-bind"$attrs" (Vue2.4) parent.vue (父组件) <template><div class"outer"><h3>父组件</h3>名字:<input v-model"name"…...
云计算:OpenStack 分布式架构管理FLAT网络(单控制节点与多计算节点)
目录 一、实验 1.环境 2.控制节点创建网络 3.控制节点创建规格 4.控制节点新增安全组入口规则 5.控制节点创建实例 二、问题 1.FLAT网络底层如何实现 2.无法SSH 云主机实例 一、实验 1.环境 (1) 主机 表1 主机 主机架构IP备注controller控制节点192.168.204.210已部…...
【深度学习】cv领域中各种loss损失介绍
文章目录 前言一、均方误差二、交叉熵损失三、二元交叉熵损失四、Smooth L1 Loss五、IOU系列的loss 前言 损失函数是度量模型的预测输出与真实标签之间的差异或误差,在深度学习算法中起着重要作用。具体作用: 1、目标优化:损失函数是优化算法…...
2024年,为什么学网络安全找不到工作?这才是重要原因!
为什么网络安全人才缺口那么大,但很多人还是找不到工作?其实大家都忽略了1个重点,那就是不清楚企业在招什么样的人。 我花了2天的时间统计了主流招聘网站的岗位信息,发现了一个惊人的真相,那就是企业都喜欢招这3种人&a…...
很有用!小企业如何从零开始制作产品手册?
对于初创公司和小企业来说,创造一份高效、吸引人的产品手册可能不是特别简单,特别是当资源和预算有限的时候。然而,一份良好的产品手册可以帮助你传达你的品牌故事,展示你的产品,甚至可以帮助你提高销售额,…...
基于OpenCV的图像缩放
基础概念 缩放是将图像的尺寸变小或变大的过程,即减少或增加原图像数据的像素个数,或者说通过增加或删除像素点来改变图像的尺寸; 基本原理:将分辨率(图片尺寸)为(w,h)的图像,缩放后其图像分辨…...
基于长短期神经网络LSTM的测量误差预测
目录 背影 摘要 代码和数据下载:基于长短期神经网络LSTM的测量误差预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88714812 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的测量误差预测 结果分析 展望 参考论文 背影 …...
`package.json`也可以有注释了
众所周知,JSON文件是不支持注释的,除了JSON5/JSONC之外,我们在开发项目特别是前端项目时,大量会用到JSON文件,特别是在编写package.json中的scripts时,由于缺少注释,当有大量的命令脚本时,就有了…...
数学之何为数学
数学是什么 数学是绝大多数人学得最多的一门功课,但对于“数学是什么?”这一看来很普通的问题,却很难一下子给出一个使公众满意的回答。按照恩格斯的说法,数学是以现实世界的空间形式和数量关系为研究对象的。尽管人们现在对空间…...
docker容器内,将django项目数据库改为postgresql
容器为ubuntu20.04版本,新建了一套django项目,使用的默认sqllit3,换为postgresql,容器里安装postgresql方法 步骤1: 安装PostgreSQL数据库 # 打开一个bash会话在你的容器中 docker exec -it <container_id_or_name> bash#…...
【echarts】雷达图参数详细介绍
1. 详细示例 var option {tooltip: {trigger: item},radar: {startAngle: 90,//第一个指示器轴的角度,默认90indicator: [// 指示器{ name: Category A, max: 220 },// name:指示器名称{ name: Category B, max: 200 },// max:指示器的最大值,可选&…...
网络安全试题进阶——附答案
选择题 什么是CSRF攻击的全称? A. Cross-Site Request ForgeryB. Cross-Site ScriptingC. Credential Sniffing and Retrieval ForceD. Cyber Security and Risk Framework 哪种安全攻击利用用户的社交工程,诱使他们点击似乎是合法链接的恶意链接&#x…...
二刷Laravel 教程(构建页面)总结Ⅰ
L01 Laravel 教程 - Web 开发实战入门 ( Laravel 9.x ) 一、功能 1.会话控制(登录、退出、记住我) 2.用户功能(注册、用户激活、密码重设、邮件发送、个人中心、用户列表、用户删除) 3.静态页面(首页、关于、帮助&am…...
C++|19.C++类与结构体对比
类和结构体 类和结构体本质上并没有太大区别。 但两者在默认上有所区别。 类默认成员变量是私有的,而结构体默认成员变量是公有的。 也就是说,对于一个类来说,会默认使用private去保护其内部成员变量使得无法直接访问到其内部的变量。 同时从…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Java并发编程实战 Day 11:并发设计模式
【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天,今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案,它们不仅提供了优雅的设计思路,还能显著提升系统的性能…...
