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测试用机访问网站服务器。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第八节】变量与运算符-整型数据类型的使用

整数类型&#xff1a;byte、short、int、long 类型占用存储空间表数范围byte1字节8bit位-128~127short2字节-2^15~2^15-1int4字节-2^31-2^31-1(约21亿)long8字节-2^63~2^63-1 定义long类型的变量时&#xff0c;赋值时需要以小写字母“l”或者大写字母“L”作为后缀 java中声…

RT-Thread:ADC 框架应用,通过 STM32CubeMX 配置 STM32 ADC驱动

关键词&#xff1a;ADC,RT-Thread ADC,STM32 ADC应用 说明&#xff1a;本笔记是记录如何开启 RT-Thread 框架的ADC功能&#xff0c;使用系统自带的ADC函数&#xff0c;并通过 STM32CubeMX 配置 STM32 ADC驱动 。 1. 打开board.h 文件&#xff0c;找到ADC 使用配置的流程&…

猴子选大王

思路&#xff1a;首先举个例子&#xff1a;当N 5 时 1 2 3 4 5 3 3 3 3 输出4 请观看代码 …

37-数据类型,一元运算符typeof,字符串string,布尔Boolean,未定义undefined,空null,数组Array

<body><script>// 0.1加0.2不等于0.3&#xff0c;正确的运算方法如下console.log(0.10.2);var x 0.1;var y 0.2;console.log((x*10y*10)/10);</script> </body> 简单数据类型&#xff08;5种&#xff09;&#xff1a;数字number&#xff0c;字符串s…

【漏洞挖掘】sourcemap、webpck源码泄露漏洞

目录 1.使用npm安装reverse-souecemap1.1 安装npm1.2 npm配置优化1.2.1 全局模块存放路径和cache路径1.2.2 更改镜像源1.2.3 升级更新npm&#xff0c;并添加环境变量 1.3 安装 reverse-sourcemap 2. 使用reverse-sourcemap逆向获取源码3. 漏洞修复 1.使用npm安装reverse-souece…

基于 Python+Neo4j+医药数据,构建了一个知识图谱的自动问答系统

知识图谱是目前自然语言处理的一个热门方向。目前知识图谱在各个领域全面开花&#xff0c;如教育、医疗、司法、金融等。 本项目立足医药领域&#xff0c;以垂直型医药网站为数据来源&#xff0c;以疾病为核心&#xff0c;构建起一个包含7类规模为4.4万的知识实体&#xff0c;…

C++学习笔记(二十八):c++ 箭头->运算符

c中->运算符主要包含两种使用方式&#xff0c;一种是最为常用的用来调用类指针对象的属性和方法&#xff0c;另一种是c运算符重载。代码示例如下&#xff1a; #include <iostream>class Entity { public:void Print() const{std::cout << "Hello!" &l…

llama.cpp模型推理之界面篇

目录 前言 一、llama.cpp 目录结构 二、llama.cpp 之 server 学习 1. 介绍 2. 编译部署 3. 启动服务 4、扩展或构建其他的 Web 前端 5、其他 前言 在《基于llama.cpp学习开源LLM本地部署》这篇中介绍了基于llama.cpp学习开源LLM本地部署。在最后简单介绍了API 的调用方…

智汇云舟受邀出席《城市轨道交通公共安全防范安全评价标准》专家评审会

1月3日&#xff0c;由中国城市公共交通协会归口的《城市轨道交通公共安全防范安全评价标准》&#xff08;以下简称“《标准》”&#xff09;送审稿审查会顺利召开。该标准由同方威视技术股份有限公司、上海新海信通信息技术有限公司和中安保实业集团有限公司主编&#xff0c;北…

python进阶 -- 日志装饰器详解

日志 日志&#xff1a;记录程序运行的时候&#xff0c;出现的问题&#xff0c;或者说验证流程是否正常 在实际工作中&#xff0c;python的脚本命令一般是放在服务器执行的linux系统 日志其实就是记录程序运行时出现的问题、或者正常的打印&#xff0c;协助出现问题的时解决排查…

AMEYA360 | 热敏电阻的工作原理及作用 热敏电阻厂商有哪些

摘要&#xff1a;热敏电阻是一种传感器电阻&#xff0c;其电阻值随着温度的变化而改变。热敏电阻的工作原理是使用传感器来帮助调节温度高低&#xff0c;作用包括电压调节&#xff0c;音量控制&#xff0c;时间延迟和电路保护。热敏电阻具有测温、温度补偿、过热保护、液面测量…

总结多线程的各种锁

1、公平锁和非公平锁 公平锁是严格按照线程请求的顺序来分配锁&#xff0c;每一个线程都能获取到锁&#xff0c;避免线程饥饿现象&#xff1b;相反&#xff0c;非公平锁表示线程竞争锁时可以插队来抢占资源。 非公平锁在大多数情况下效率优于公平锁&#xff0c;因为公平锁涉及到…

ArrayList 与 LinkedList 区别?

如果你现在需要准备面试&#xff0c;可以关注我的公众号&#xff1a;”Tom聊架构“&#xff0c;回复暗号&#xff1a;”578“&#xff0c;领取一份我整理的50W字面试宝典&#xff0c;可以帮助你提高80%的面试通过率&#xff0c;价值很高&#xff01;&#xff01; 是否保证线程安…

竞赛保研 基于深度学习的人脸识别系统

前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/…

java.io.IOException: Broken pipe

做1个接口&#xff0c;处理前端请求图片跨域的问题。由于前端拿图片的时候&#xff0c;有跨域问题&#xff0c;所以让后台先拿到图片&#xff0c;然后再写给前台。本来下面的代码没什么太大的问题&#xff0c;但是如果前台请求的图片一多&#xff08;1个页面中有很多图片&#…

Linux查看物理CPU个数、逻辑CPU个数、核数

Linux下如何判断服务器是虚拟机还是物理机&#xff1f; 1.systemd-detect-virt在虚拟环境中检测执行 &#xff0c;它可以识别虚拟化技术&#xff0c;并且可以将完整的VM虚拟化与容器虚拟化区分开来。 systemd-detect-virt退出&#xff0c;返回值为0&#xff08;成功&#xff0…

如何脱离keil在vscode上实现STM32单片机编程

【VScode Embedded IDE】Keil工程导入VScode&#xff0c;与Keil协同开发MCU_vscode编辑keil工程-CSDN博客 从零开始的51单片机——VsCodeEIDE环境搭建_vscodeeidesdcc-CSDN博客 结合一下这两个大佬的博客就是可以实现STM32的编程了 主要要点&#xff1a; &#xff08;1&#…

Vue应用多语言支持工程化最佳实践

前言 VoerkaI18n是一款非常优秀的全新的开源国际化多语言解决方案&#xff0c;主要特性包括&#xff1a; 全面工程化解决方案&#xff0c;提供初始化、提取文本、自动翻译、编译等工具链支持。符合直觉&#xff0c;不需要手动定义文本Key映射。强大的插值变量格式化器机制&am…

为什么要有虚拟线程(Java项目Loom)?

JEP No 425 是我期待已久的东西。这是 JDK 19 的并发 API 中添加的一个新概念。它处于预览阶段&#xff0c;很快它将在未来的几个版本中成为 JDK 中的永久功能。 虚拟线程非常轻量级&#xff0c;可以减少编写、维护和观察高吞吐量应用程序的工作量。 在这一部分中&#xff0c…

Spring——Spring整合MyBatis

Spring整合MyBatis 1.创建工程 1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…