如何配置防火墙提高服务器安全性
配置防火墙是提高服务器安全性的重要措施之一。防火墙可以控制网络流量,限制未经授权的访问,防止恶意攻击。以下是配置防火墙以提高服务器安全性的详细指南。
一、为什么需要配置防火墙
防火墙的主要作用是:
- 限制未经授权的访问:只允许可信任的流量通过。
- 防止恶意攻击:如 DDoS 攻击、端口扫描和入侵尝试。
- 保护敏感服务:确保只有特定 IP 地址或网络能够访问关键服务(如 SSH、数据库等)。
二、常见防火墙工具
-
Linux 系统:
- UFW(Uncomplicated Firewall):Ubuntu 和 Debian 系推荐,易于配置。
- firewalld:CentOS 和 RHEL 系推荐,动态管理规则。
- iptables:强大但复杂,可直接管理内核的防火墙功能。
- nftables:现代化替代 iptables,性能更高。
-
Windows 系统:
- Windows 防火墙(Windows Defender Firewall):内置于 Windows 系统。
- 第三方防火墙:如 Sophos、Comodo。
-
云防火墙:
- 公有云提供的防火墙(如 AWS Security Groups、阿里云安全组、Azure NSG)。
三、防火墙配置基础(以 Linux 为例)
1. 使用 UFW 配置防火墙(适用于 Ubuntu/Debian)
(1)安装和启用 UFW
bash
复制
sudo apt update
sudo apt install ufw -y
sudo ufw enable
(2)查看当前防火墙状态
bash
复制
sudo ufw status
(3)设置默认规则
默认规则应禁止所有入站流量,允许所有出站流量:
bash
复制
sudo ufw default deny incoming
sudo ufw default allow outgoing
(4)允许必要的端口
根据服务器需求,允许需要的端口:
- SSH(默认端口 22):
bash
复制
如果修改了 SSH 端口(如改为 2222):sudo ufw allow 22
bash
复制
sudo ufw allow 2222
- HTTP(端口 80)和 HTTPS(端口 443):
bash
复制
sudo ufw allow 80 sudo ufw allow 443
- 其他服务:
例如允许 MySQL 数据库(端口 3306):bash
复制
sudo ufw allow 3306
(5)限制特定 IP 的访问
- 允许特定 IP 访问 SSH:
bash
复制
sudo ufw allow from 192.168.1.100 to any port 22
- 禁止特定 IP:
bash
复制
sudo ufw deny from 192.168.1.200
(6)启用防火墙并重新加载
确保规则生效:
bash
复制
sudo ufw reload
2. 使用 firewalld 配置防火墙(适用于 CentOS/RHEL)
(1)安装和启用 firewalld
bash
复制
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld
(2)查看当前防火墙状态
bash
复制
sudo firewall-cmd --state
sudo firewall-cmd --list-all
(3)设置默认规则
- 默认拒绝所有入站流量:
bash
复制
sudo firewall-cmd --set-default-zone=drop
- 查看默认区域:
bash
复制
sudo firewall-cmd --get-default-zone
(4)允许必要的端口
- 允许 SSH:
bash
复制
sudo firewall-cmd --permanent --add-service=ssh
- 允许 HTTP 和 HTTPS:
bash
复制
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
- 允许自定义端口:
例如允许端口 8080:bash
复制
sudo firewall-cmd --permanent --add-port=8080/tcp
(5)限制特定 IP 的访问
- 允许特定 IP 访问 SSH:
bash
复制
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='22' accept"
- 禁止特定 IP:
bash
复制
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.200' drop"
(6)重新加载规则
bash
复制
sudo firewall-cmd --reload
3. 使用 iptables 配置防火墙(适用于所有 Linux 系统)
(1)查看当前规则
bash
复制
sudo iptables -L -v
(2)设置默认规则
- 默认拒绝所有入站流量:
bash
复制
sudo iptables -P INPUT DROP
- 默认允许所有出站流量:
bash
复制
sudo iptables -P OUTPUT ACCEPT
(3)允许必要的端口
- 允许 SSH:
bash
复制
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 允许 HTTP 和 HTTPS:
bash
复制
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
(4)限制特定 IP 的访问
- 允许特定 IP 访问:
bash
复制
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
- 禁止特定 IP:
bash
复制
sudo iptables -A INPUT -s 192.168.1.200 -j DROP
(5)保存规则
根据系统选择保存命令:
- Ubuntu:
bash
复制
sudo iptables-save > /etc/iptables/rules.v4
- CentOS:
bash
复制
sudo service iptables save
四、Windows 防火墙配置
1. 打开 Windows 防火墙
- 按
Win + R
,输入firewall.cpl
,回车。
2. 配置入站规则
- 点击“高级设置”。
- 在“入站规则”中,点击“新建规则”。
- 选择“端口”,点击“下一步”。
- 选择协议(如 TCP),输入端口号(如 22)。
- 选择“允许连接”,点击“下一步”。
- 按需求选择应用的网络类型(如“公用”或“专用”)。
- 为规则命名并保存。
3. 配置出站规则
类似入站规则的配置,但用于限制服务器发出的流量。
4. 限制特定 IP
在规则设置中,选择“作用域”,为允许或禁止的 IP 设置范围。
五、云防火墙配置
如果服务器运行在云环境中(如 AWS、阿里云、Azure),需要配置云防火墙(安全组):
- 登录云平台。
- 定位安全组:
- AWS:Security Groups。
- 阿里云:安全组规则。
- Azure:网络安全组(NSG)。
- 配置入站规则:
- 开放必要的端口(如 SSH、HTTP)。
- 限制特定 IP 的访问。
- 配置出站规则(可选)。
六、防火墙配置建议
-
最小化开放端口:
- 仅开放必要的端口,例如:
- SSH:22(或修改为其他端口)。
- HTTP:80、HTTPS:443。
- 数据库:仅对内部网络开放(如 3306)。
- 禁止未使用的服务端口。
- 仅开放必要的端口,例如:
-
限制访问范围:
- SSH 和数据库服务仅允许可信任的 IP 地址访问。
- 使用 VPN 或跳板机访问敏感服务。
-
启用日志记录:
- 开启防火墙日志记录,以便监控异常流量。
-
防止恶意扫描:
- 配合防火墙使用工具(如 Fail2Ban),自动封禁多次失败尝试的 IP。
-
定期审查规则:
- 每隔一段时间检查防火墙规则,移除不必要的规则。
通过合理配置防火墙,可以显著提高服务器的安全性,减少恶意流量、入侵和攻击的风险。将防火墙与其他安全措施(如 SSH 密钥、定期更新系统)结合使用,才能构建一个全面的安全防护体系。
相关文章:

如何配置防火墙提高服务器安全性
配置防火墙是提高服务器安全性的重要措施之一。防火墙可以控制网络流量,限制未经授权的访问,防止恶意攻击。以下是配置防火墙以提高服务器安全性的详细指南。 一、为什么需要配置防火墙 防火墙的主要作用是: 限制未经授权的访问:…...
java集合-Map HashMap 源码解析
hashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,无序,不可重复。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashMap 实现了Ser…...

案例分享|企查查的数据降本增效之路
分享嘉宾 任何强 企查查科技股份有限公司 大数据架构负责人 关于企查查 “企查查”是企查查科技股份有限公司旗下的一款企业信用查询工具。2023年5月20日,企查查正式发布全球首款商查大模型——“知彼阿尔法”,该模型基于企查查覆盖的全球企业信用数据进…...

图书馆管理系统(四)基于jquery、ajax--完结篇
任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端,使用 Express 框架来处理 HTTP 请求,并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); cons…...

什么是Modbus协议网关?
在工业自动化领域,设备间的通信与数据交换是实现高效、智能控制的关键。Modbus协议作为一种广泛应用的通信协议,自1971年由Modicon公司首次推出以来,便以其标准、开放、支持多种电气接口等特点,在工业控制系统中占据了重要地位。然…...
Docker 容器中启用 SSH 服务
在 Docker 容器中运行 SSH 服务需要一些调整,因为 Docker 容器通常使用 init 系统而不是完整的 systemd。以下是配置 SSH 服务在 Docker Ubuntu 容器中运行的步骤: 1. 安装 SSH 服务 如果还未安装 OpenSSH,请先安装: apt update…...

Linux系统—利用systemd管控系统以及服务详解(十四)
本文为Ubuntu Linux操作系统- 第十四弹~~ 新的一周开始了,时间过得真快,这星期就要冬至啦!! 今天继续Linux系统高级管理板块,主要讲述使用systemd管控系统和服务~ 上期回顾:“Linux系统—进程管理详解” 更…...
人工智能 AI 大模型研究设计与实践应用技术毕业论文
标题:人工智能 AI 大模型研究设计与实践应用技术 内容:1.摘要 人工智能 AI 大模型是当前人工智能领域的研究热点之一,它具有高度的通用性、灵活性和智能性,可以应用于多种领域,如自然语言处理、计算机视觉、语音识别等。本文旨在探讨人工智能…...
已有 containerd 的情况下部署二进制 docker 共存
文章目录 [toc]学习目的开始学习dockerd启动 containerd准备配置文件启动 containerd 启动 docker准备配置文件启动 docker 环境验证停止 docker 和 containerd 学习目的 使用容器的方式做一些部署的交付,相对方便很多,不需要担心别人的环境缺少需要的依…...

VSCode 搭建Python编程环境 2024新版图文安装教程(Python环境搭建+VSCode安装+运行测试+背景图设置)
名人说:一点浩然气,千里快哉风。—— 苏轼《水调歌头》 创作者:Code_流苏(CSDN) 目录 一、Python环境安装二、VScode下载及安装三、VSCode配置Python环境四、运行测试五、背景图设置 很高兴你打开了这篇博客,更多详细的安装教程&…...

vue+springboot+cas配置及cookie传递问题
cookie的注意事项 前边的文章已经介绍过cookie的基本信息,这里再次说明一点:cookie是无法进行跨域传递的,很多时候cookie无法设置和传递都是因为跨域问题,ip/端口不一致。 主要就是:被设置cookie和要传递cookie的地址…...

0009.基于springboot+layui的ERP企业进销存管理系统
一、系统说明 基于springbootlayui的ERP企业进销存管理系统,系统功能齐全, 代码简洁易懂,适合小白学编程,课程设计,毕业设计。 二、系统架构 前端:html| layui 后端:springboot | mybatis| thymeleaf 环境:jdk1.8 |…...

ZYNQ初识2(zynq_7010)基于vivado,从PL端调用PS端的时钟
由于需要进行一些FPGA的简单开发,但板载PL端没有焊接晶振,所以需要从PS端借用时钟到PL端使用。 首先新建项目,根据自己的板载选择芯片,我的板载芯片是zynq_7010。 一路next,在自己的vivado的工作文档新建文件夹并给自…...
Android详解——ConstraintLayout约束布局
目录 一、ConstraintLayout概述 二、ConstraintLayout属性介绍 1. 相对位置 2. 边距 3. 中心和偏移位置 中心位置 偏移位置 4. 圆形位置 5. 可见性 6. 尺寸约束 最小尺寸 WRAP_CONTENT :强制约束 MATCH_CONSTRAINT Min和Max 百分比尺寸 比率 7. 链式布局 创建…...

docker简单命令
docker images 查看镜像文件 docker ps -a 查看容器文件 docker rm 0b2 删除容器文件,id取前三位即可 docker rmi e64 删除镜像文件(先删容器才能删镜像),id取前三位即可 在包含Dockerfile文件的目录…...
【linux】shell(36)-文件操作
1. 文件创建 1.1 使用 touch 命令创建空文件 touch filename创建一个名为 filename 的空文件。如果文件已存在,touch 会更新该文件的时间戳。 示例: touch file1.txt1.2 使用重定向符创建文件 > filename使用 > 符号创建一个空文件。如果文件…...

c语言——数据结构【链表:单向链表】
上篇→快速掌握C语言——数据结构【创建顺序表】多文件编译-CSDN博客 一、链表 二、单向链表 2.1 概念 2.2 单向链表的组成 2.3 单向链表节点的结构体原型 //类型重定义,表示存放的数据类型 typedef int DataType;//定义节点的结构体类型 typedef struct node {union{int l…...
Python 标识符是啥?
Python 的标识符就是我们写代码时用来给变量、函数、类等取名字的东西。 你写的 my_variable 是个标识符, 定义的 add_numbers 函数名也是个标识符, 甚至你写的 Cat 类名,也是标识符。 一句话总结:标识符就是代码里给“东西”起…...
视频及JSON数据的导出并压缩
npm下载安装 jszip 和 file-saver 这两个库来实现文件的压缩和保存功能: npm install jszip npm install file-saver 导入依赖库: import JSZip from jszip; import { saveAs } from file-saver; 方法实现: batchDownload() {const zip…...

VScode使用教程(菜鸟版)
目录 1.VScode是什么? 2.VScode的下载和安装? 2.1下载和安装 下载路径: 安装流程: 一、点击【Download for Windows】 二、等一小会儿的下载,找到并双击你下载好的.exe文件,开始进入安装进程 三、点…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...