当前位置: 首页 > news >正文

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服务器&#xff0c;网关服务器均采用Linux CentOS 7.3操作系统&#xff0c;如图2.13所示。为了 加强网络访问的安全性&#xff0c;要求管理员熟悉firewalld防火墙规则的编写&#xff0c;以便制定有效、可行的主机防护策略。 需求描述 > 网关服务器ens3…...

C++学习笔记(二十八):c++ 静态库及动态库的使用

静态库的使用 库的使用会很大程度减少我们的工作&#xff0c;本节对c中静态库和动态库的使用进行简单的介绍。静态链接库意味着这个库会被放到可执行文件中&#xff0c;在生成的exe中。动态链接库是在程序运行时链接的&#xff0c;可以在程序运行时调用加载库函数的方法来实现&…...

uniapp最简单的底部兼容安全区域显示

效果图&#xff1a; 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 主要由两个子网络组成&#xff1a;噪声估计子网络和去噪子网络。噪声估计子网络用于估计图像的噪声水平&#xff0c;而去噪子网络用于去除图像中的噪声。 CBDNet 的优势在于&#xff1a; 它采用了更真实的噪声模型&#xff0c;既考虑了泊松-高斯模型&#xff0c;还考虑…...

【Verilog】期末复习——解释下列名词(FPGA、ASIC、IP、RTL、EDA、HDL、FSM)

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...

计算机网络 综合(习题)

【计算机网络习题】系列文章目录 计算机网络 第一章 绪论(习题) 计算机网络 第二章 计算机网络体系结构(习题) 计算机网络 第三章 应用层(习题) 计算机网络 第四章 运输层(习题) 计算机网络 第五章 网络层(习题) 计算机网络 第六章 数据链路层(习题) 计算机网络 第七章 物…...

探索vue2框架的世界:简述常用的vue2选项式API (二)

组件实例 &#x1f449; $attrs 用于父组件隔代向孙组件传值 长设置在子组件中 v-bind"$attrs" (Vue2.4) parent.vue (父组件) <template><div class"outer"><h3>父组件</h3>名字&#xff1a;<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 前言 损失函数是度量模型的预测输出与真实标签之间的差异或误差&#xff0c;在深度学习算法中起着重要作用。具体作用&#xff1a; 1、目标优化&#xff1a;损失函数是优化算法…...

2024年,为什么学网络安全找不到工作?这才是重要原因!

为什么网络安全人才缺口那么大&#xff0c;但很多人还是找不到工作&#xff1f;其实大家都忽略了1个重点&#xff0c;那就是不清楚企业在招什么样的人。 我花了2天的时间统计了主流招聘网站的岗位信息&#xff0c;发现了一个惊人的真相&#xff0c;那就是企业都喜欢招这3种人&a…...

很有用!小企业如何从零开始制作产品手册?

对于初创公司和小企业来说&#xff0c;创造一份高效、吸引人的产品手册可能不是特别简单&#xff0c;特别是当资源和预算有限的时候。然而&#xff0c;一份良好的产品手册可以帮助你传达你的品牌故事&#xff0c;展示你的产品&#xff0c;甚至可以帮助你提高销售额&#xff0c;…...

基于OpenCV的图像缩放

基础概念 缩放是将图像的尺寸变小或变大的过程&#xff0c;即减少或增加原图像数据的像素个数&#xff0c;或者说通过增加或删除像素点来改变图像的尺寸&#xff1b; 基本原理&#xff1a;将分辨率&#xff08;图片尺寸&#xff09;为(w,h)的图像&#xff0c;缩放后其图像分辨…...

基于长短期神经网络LSTM的测量误差预测

目录 背影 摘要 代码和数据下载:基于长短期神经网络LSTM的测量误差预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88714812 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的测量误差预测 结果分析 展望 参考论文 背影 …...

`package.json`也可以有注释了

众所周知&#xff0c;JSON文件是不支持注释的&#xff0c;除了JSON5/JSONC之外&#xff0c;我们在开发项目特别是前端项目时&#xff0c;大量会用到JSON文件&#xff0c;特别是在编写package.json中的scripts时&#xff0c;由于缺少注释,当有大量的命令脚本时&#xff0c;就有了…...

数学之何为数学

数学是什么 数学是绝大多数人学得最多的一门功课&#xff0c;但对于“数学是什么&#xff1f;”这一看来很普通的问题&#xff0c;却很难一下子给出一个使公众满意的回答。按照恩格斯的说法&#xff0c;数学是以现实世界的空间形式和数量关系为研究对象的。尽管人们现在对空间…...

docker容器内,将django项目数据库改为postgresql

容器为ubuntu20.04版本&#xff0c;新建了一套django项目&#xff0c;使用的默认sqllit3&#xff0c;换为postgresql&#xff0c;容器里安装postgresql方法 步骤1: 安装PostgreSQL数据库 # 打开一个bash会话在你的容器中 docker exec -it <container_id_or_name> bash#…...

【echarts】雷达图参数详细介绍

1. 详细示例 var option {tooltip: {trigger: item},radar: {startAngle: 90,//第一个指示器轴的角度&#xff0c;默认90indicator: [// 指示器{ name: Category A, max: 220 },// name:指示器名称{ name: Category B, max: 200 },// max:指示器的最大值&#xff0c;可选&…...

网络安全试题进阶——附答案

选择题 什么是CSRF攻击的全称&#xff1f; A. Cross-Site Request ForgeryB. Cross-Site ScriptingC. Credential Sniffing and Retrieval ForceD. Cyber Security and Risk Framework 哪种安全攻击利用用户的社交工程&#xff0c;诱使他们点击似乎是合法链接的恶意链接&#x…...

二刷Laravel 教程(构建页面)总结Ⅰ

L01 Laravel 教程 - Web 开发实战入门 ( Laravel 9.x ) 一、功能 1.会话控制&#xff08;登录、退出、记住我&#xff09; 2.用户功能&#xff08;注册、用户激活、密码重设、邮件发送、个人中心、用户列表、用户删除&#xff09; 3.静态页面&#xff08;首页、关于、帮助&am…...

C++|19.C++类与结构体对比

类和结构体 类和结构体本质上并没有太大区别。 但两者在默认上有所区别。 类默认成员变量是私有的&#xff0c;而结构体默认成员变量是公有的。 也就是说&#xff0c;对于一个类来说&#xff0c;会默认使用private去保护其内部成员变量使得无法直接访问到其内部的变量。 同时从…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...