云服务器如何设置防火墙和安全组规则?

一、安全组(Security Group)设置

安全组是云平台提供的虚拟防火墙,用于控制 入站(Ingress)和出站(Egress)流量

1. 基本安全组规则(推荐)

协议端口源IP用途是否必需
TCP22你的IP或公司IPSSH远程管理✅ 是
TCP3389你的IP或公司IPWindows RDP✅(仅Windows需要)
TCP800.0.0.0/0HTTP网站访问✅(Web服务器需要)
TCP4430.0.0.0/0HTTPS安全访问✅(Web服务器需要)
TCP3306你的IP或内网IPMySQL数据库❌(仅数据库服务器需要)
TCP6379你的IP或内网IPRedis❌(仅缓存服务器需要)
ICMP-你的IPPing测试❌(可选,用于调试)

2. 设置步骤(以莱卡云为例)

  1. 登录云控制台 → ECS实例 → 安全组

  2. 点击 配置规则 → 添加安全组规则

    • 规则方向:入方向(Ingress)或出方向(Egress)。

    • 授权策略:允许(Allow)或拒绝(Deny)。

    • 协议类型:TCP/UDP/ICMP 等。

    • 端口范围:如 22(SSH)、80(HTTP)、443(HTTPS)。

    • 授权对象

      • 特定IP:192.168.1.100/32(仅允许该IP访问)。

      • 全部开放:0.0.0.0/0(不推荐,除非必要)。

  3. 保存规则,并绑定到目标服务器。

3. 最佳实践

  • 最小权限原则:只开放必要的端口,如 22(SSH)仅限管理IP。

  • 禁止默认全开放:避免 0.0.0.0/0 开放高危端口(如 33066379)。

  • 多层级防护:结合 安全组 + 系统防火墙 双重保护。


二、系统防火墙设置(iptables / firewalld)

安全组是云平台层面的防护,而系统防火墙(如 iptables/firewalld)提供 操作系统级防护

1. 使用 iptables(Linux 传统防火墙)

# 查看当前规则
iptables -L -n# 允许SSH(22端口)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 允许HTTP(80)、HTTPS(443)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT# 允许Ping(ICMP)
iptables -A INPUT -p icmp -j ACCEPT# 默认拒绝所有其他入站流量
iptables -P INPUT DROP
iptables -P FORWARD DROP# 允许已建立的连接和回环接口
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT# 保存规则(CentOS 6/7)
service iptables save

2. 使用 firewalld(CentOS 7+/RHEL 8+)

# 启动并设置开机自启
systemctl start firewalld
systemctl enable firewalld# 开放端口
firewall-cmd --zone=public --add-port=22/tcp --permanent  # SSH
firewall-cmd --zone=public --add-port=80/tcp --permanent  # HTTP
firewall-cmd --zone=public --add-port=443/tcp --permanent # HTTPS# 允许Ping
firewall-cmd --add-icmp-block=echo-request --permanent# 重新加载防火墙
firewall-cmd --reload# 查看开放端口
firewall-cmd --list-ports

3. 使用 ufw(Ubuntu/Debian 推荐)

# 启用UFW
ufw enable# 开放SSH、HTTP、HTTPS
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp# 允许Ping
ufw allow icmp# 查看规则
ufw status

三、高级安全防护

1. 更改默认SSH端口(防止暴力破解)

# 修改SSH配置文件
vim /etc/ssh/sshd_config# 更改端口(如 2222)
Port 2222# 重启SSH服务
systemctl restart sshd# 防火墙开放新端口
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

2. 使用 Fail2Ban 防暴力破解

# 安装 Fail2Ban
apt install fail2ban  # Debian/Ubuntu
yum install fail2ban  # CentOS/RHEL# 配置SSH防护
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vim /etc/fail2ban/jail.local# 修改如下配置
[sshd]
enabled = true
port = 22  # 或自定义SSH端口
maxretry = 3  # 尝试3次后封禁
bantime = 3600  # 封禁1小时# 重启Fail2Ban
systemctl restart fail2ban

3. 关闭不必要的服务

# 查看运行中的服务
systemctl list-units --type=service# 禁用不必要的服务(如telnet)
systemctl stop telnet.socket
systemctl disable telnet.socket

四、总结

防护层级工具/方法作用
云平台层安全组(Security Group)控制入站/出站流量
系统层iptables / firewalld / ufw操作系统级防火墙
应用层Fail2Ban / 更改SSH端口防暴力破解
运维管理定期审计日志发现异常访问

推荐方案:

  1. 安全组 仅开放必要端口(如 2280443)。

  2. 系统防火墙 进一步限制访问(如 iptables 或 firewalld)。

  3. Fail2Ban 防止SSH暴力破解。

  4. 定期检查日志/var/log/auth.log/var/log/secure)。

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

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

相关文章

排序【各种题型+对应LeetCode习题练习】

目录 常用排序 快速排序 LeetCode 912 排序数组 归并排序 LeetCode 912 排序数组 常用排序 名称排序方式时间复杂度是否稳定快速排序分治O(n log n)否归并排序分治O(n log n)是冒泡排序交换O(n)是插入排序插入O(n)是选择排序选择最值O(n)否C STL sort快排内省排序O(n log…

鸿蒙与web混合开发双向通信

鸿蒙与web混合开发双向通信用runJavaScript和registerJavaScriptProxy web entry/src/main/resources/rawfile/1.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&q…

unity Physics.RaycastNonAlloc

Physics.RaycastNonAlloc 是 Unity 中用于 3D 物理射线检测的高性能方法&#xff0c;它是 Physics.Raycast 的非分配版本。 方法签名 public static int RaycastNonAlloc(Ray ray, RaycastHit[] results, float maxDistance Mathf.Infinity, int layerMask DefaultRaycastLay…

数据库(five day finally)——物物而不物于物,念念而不念于念。(数据库到此结束!祝世间美好与各位不期而遇,善意常伴汝身!)

1.子查询&#xff08;1&#xff09;where 子查询①多行单列配合in和not in操作&#xff08;类似于数据范围查询&#xff09;例&#xff1a;显示工资与各个经理相同的雇员信息&#xff08;包含经理本身&#xff09;。select * from empwhere sal(select sal from emp where jobM…

【甲烷数据集】Sentinel-5P 卫星获取的全球甲烷数据集-TROPOMI L2 CH₄

目录 数据概述 传感器 & 卫星信息 监测目标:甲烷(CH₄) 数据产品内容 空间与时间覆盖 云筛选与协同观测 技术文档资源 数据下载 Python 代码绘制 CH4 数据 参考 数据概述 Sentinel-5 Precursor Level 2 Methane (TROPOMI L2 CH₄) 数据集是由欧洲哥白尼计划的 Sentinel…

【数据结构】单链表练习(有环)

1.判断是否是环形链表 141. 环形链表 - 力扣&#xff08;LeetCode&#xff09; bool hasCycle(struct ListNode *head) {struct ListNode *fast,*slow;fastslowhead;while(fast&&fast->next){fastfast->next->next;slowslow->next;if(fastslow)return tr…

VR 污水厂初体验:颠覆传统认知​

第一次戴上 VR 设备走进 VR 污水厂时&#xff0c;那种震撼的感觉至今难以忘怀。仿佛一瞬间&#xff0c;我被传送到了一个全新的世界&#xff0c;平日里只能在图纸或实地看到的污水厂&#xff0c;此刻就立体地呈现在眼前。脚下是纵横交错的管道&#xff0c;头顶巨大的处理设备有…

父类 div 自适应高度 子类如何撑满其高度

使用绝对定位 如果你想要子元素完全撑满父元素的高度&#xff0c;可以使用绝对定位。这种方法适用于当子元素需要完全覆盖父元素时。<div class"parent"><div class"child"><!-- 子类内容 --></div> </div>.parent {positio…

从0开始学习R语言--Day51--PH检验

在用cox回归做分析时&#xff0c;我们一般会得出各种变量在结局的风险影响&#xff08;HR大于1&#xff0c;就代表变量值增大&#xff0c;对应结局影响的风险就随之增大&#xff09;&#xff0c;但是这里有个坏处是&#xff0c;cox回归得到的是瞬时风险值&#xff0c;我们最多得…

Docker 网络原理

Linux 常见网络虚拟化 虚拟网卡:tun/tap虚拟网卡&#xff08;又称虚拟网络适配器&#xff09;&#xff0c;即用软件模拟网络环境&#xff0c;模拟网络适配器。在计算机网络中&#xff0c;tun 与 tap 是操作系统内核中的虚拟网络设备。不同于普通靠硬件网络适配器实现的设备&…

【通识】PCB文件

1. PCB文件的导入 在PORTEL99 PCB编辑器的文件菜单中选择导入先前绘制的CAD文件。导入成功后&#xff0c;编辑器将显示出元件封装的基本图形&#xff0c;为后续操作奠定基础。将需要抄板的PCB放置于扫描仪中随后启动扫描仪&#xff0c;之后启动AUTO CAD软件&#xff0c;之后插入…

分布式弹性故障处理框架——Polly(1)

1 前言之服务雪崩 在我们实施微服务之后&#xff0c;服务间的调用变得异常频繁&#xff0c;多个服务之前可能存在互相依赖的关系&#xff0c;当某个服务出现故障或者是因为服务间的网络出现故障&#xff0c;导致服务调用的失败&#xff0c;进而影响到某个业务服务处理失败&…

【机器学习深度学习】大模型推理速度与私有化部署的价值分析

目录 前言 一、主流推理框架速度对比 二、为什么 HuggingFace 框架更适合微调验证&#xff1f; 三、大模型私有化部署的必要性分析 ✅ 私有化部署的主要动因 1. 数据隐私与业务安全 2. 可控性与性能保障 ❌ 哪些情况不建议私有部署&#xff1f; 四、总结与选型建议 &…

elementui-admin构建

1、vue-element-admin vue-element-admin是基于element-ui 的一套后台管理系统集成方案。 功能&#xff1a;介绍 | vue-element-adminA magical vue adminhttps://panjiachen.github.io/vue-element-admin-site/zh/guide/# GitHub地址&#xff1a;https://github.com/PanJia…

深入排查:编译环境(JDK)与运行环境(JRE/JDK)不一致时的常见 Java 错误及解决方案

深入排查&#xff1a;编译环境&#xff08;JDK&#xff09;与运行环境&#xff08;JRE/JDK&#xff09;不一致时的常见 Java 错误及解决方案 在后端 Java 项目中&#xff0c;编译环境&#xff08;JDK&#xff09; 与 运行环境&#xff08;JRE/JDK&#xff09; 版本不一致&…

[JS逆向] 微信小程序逆向工程实战

博客配套代码与工具发布于github&#xff1a;微信小程序 &#xff08;欢迎顺手Star一下⭐&#xff09; 相关爬虫专栏&#xff1a;JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 逆向知识点合集 前言&#xff1a; 微信小程序对于很多尝试JS逆向的人群来说&#xff0c;都是一个…

基于5G系统的打孔LDPC编码和均匀量化NMS译码算法matlab性能仿真

目录 1.引言 2.算法仿真效果演示 3.数据集格式或算法参数简介 4.算法涉及理论知识概要 4.1打孔技术 4.2 均匀量化NMS译码 5.参考文献 6.完整算法代码文件获得 1.引言 在5G通信系统中&#xff0c;信道编码技术是保障高速率、高可靠性数据传输的核心支撑&#xff0c;而低…

基于Java标准库读取CSV实现天地图POI分类快速导入PostGIS数据库实战

目录 前言 一、天地图POI分类简介 1、数据表格 2、分类结构 二、从CSV导入到PG数据库 1、CSV解析流程 2、数据转换及入库 3、入库成果及检索 三、总结 前言 在之前的博客中&#xff0c;曾经对高德地图和百度地图的POI分类以及使用PostGIS数据库来进行管理的模式进行了详…

人-AI交互中的信息论不同于传统的信息论,其信息的增量≠不确定性的减量

在人机交互&#xff08;Human-AI Interaction, HAI&#xff09;领域&#xff0c;信息论的应用确实与传统的信息论有所不同。这种差异主要源于人机交互HAI中信息的复杂性、动态性以及人类认知的特点。1. 传统信息论的核心概念传统信息论由克劳德香农&#xff08;Claude Shannon&…

K8s 通过 Scheduler Extender 实现自定义调度逻辑

1. 为什么需要自定义调度逻辑 什么是所谓的调度? 所谓调度就是指给 Pod 对象的 spec.nodeName 赋值 待调度对象则是所有 spec.nodeName 为空的 Pod 调度过程则是从集群现有的 Node 中为当前 Pod 选择一个最合适的 实际上 Pod 上还有一个平时比较少关注的属性&#xff1a;…