计算:云服务器ECS、云虚拟机、GPU云服务器
网络:负载均衡SLB、弹性公网IP、专有网络VPC、CDN(CDN通过将内容缓存到全球分布的多个边缘节点(Edge Nodes)上,使用户可以从离自己最近的节点获取内容,从而减少网络延迟,提升访问速度)
存储:块存储EBS(Elastic Block Storage)、对象存储OSS(Object Storage Service)、文件存储NAS
数据库:RDB MySQL、RDB redies、云原生PolarDB MySQL(有多主多写、多活容灾)
监控:可观测监控prometheus、可观测可视化 Grafana
消息队列:RabbitMQ、kafka
kafka:云消息队列 Kafka 版是阿里云基于 Apache Kafka 构建的高吞吐量、高可扩展性的分布式消息队列服务,广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等场景,是大数据生态中不可或缺的产品之一,阿里云提供全托管服务,用户无需部署运维,更专业、更可靠、更安全。
安全:DDoS防护、WAF web应用防火墙、云防火墙;数据安全:数字证书SSL、加密服务
DDoS(Distributed Denial of Service,分布式拒绝服务)攻击是一种恶意行为,通过向目标服务器、网络或服务发送大量的虚假流量,导致其资源耗尽,从而无法正常为用户提供服务。
DDoS攻击的类型
流量型攻击:
- UDP Flood:发送大量的UDP数据包,使目标服务器无法处理正常请求。
- ICMP Flood(Ping Flood):发送大量的ICMP回显请求(Ping),消耗目标服务器的带宽和处理能力。
协议型攻击:
- SYN Flood:发送大量的SYN请求,使目标服务器耗尽资源处理未完成的连接请求。
- ACK Flood:发送大量的ACK包,试图绕过防火墙并消耗服务器资源。
应用层攻击:
- HTTP Flood:发送大量的HTTP请求,消耗Web服务器的资源。
- Slowloris:通过发送不完整的HTTP请求,占用服务器的连接资源,使其无法处理其他请求。
如何防护DDoS攻击?
基础防护措施:
- 增加带宽:扩展网络带宽以吸收更大的流量,防止流量型攻击。
- 启用防火墙和入侵检测系统(IDS):使用防火墙和IDS过滤恶意流量,识别并阻止攻击行为。
高级防护措施:
- 反向代理和负载均衡:通过反向代理和负载均衡器分散流量,减轻单个服务器的负载压力。
- 内容分发网络(CDN):利用CDN网络缓存和分发内容,减少源服务器的直接压力。
- 流量清洗服务:使用专门的DDoS防护服务(如Cloudflare、Akamai等)对流量进行清洗,过滤掉恶意流量。
应用层防护:
- Web应用防火墙(WAF):使用WAF保护Web应用,过滤恶意的HTTP请求。
- 速率限制和访问控制:对用户请求设置速率限制和访问控制,防止单个IP地址发送过多请求。
网络层防护:
- BGP路由:使用BGP路由将流量引导至专门的DDoS防护服务提供商进行过滤。
- 黑洞路由:在检测到DDoS攻击时,将目标IP的流量引导到黑洞路由,从而保护其他网络资源。
检测和响应:
- 实时监控:持续监控网络流量,及时发现异常流量和潜在的DDoS攻击。
- 自动化响应:配置自动化工具在检测到DDoS攻击时,迅速采取响应措施(如启动防护策略、通知管理员等)。
备份和冗余:
- 灾难恢复计划:制定并实施灾难恢复计划,确保在遭受DDoS攻击后能够快速恢复服务。
- 多数据中心部署:在不同地理位置部署多个数据中心,分散风险,提高服务的可用性和冗余性。
防护DDoS攻击的实际案例
许多公司和机构使用多层次的防护策略来防御DDoS攻击,例如:
- Netflix:使用AWS Shield Advanced和其他云防护服务,结合自有的防火墙和监控系统。
- 金融机构:通常部署专门的DDoS防护设备和服务,同时加强内部网络的监控和速率限制。
- 大型网站和在线服务:使用CDN网络和流量清洗服务,结合Web应用防火墙和负载均衡策略。
通过多层次、综合性的防护措施,可以有效防御和缓解DDoS攻击,确保服务的稳定性和可用性。
什么是SYN请求?
在TCP/IP协议中,SYN请求是三次握手(Three-way Handshake)过程的一部分,用于建立TCP连接。三次握手的步骤如下:
- SYN:客户端向服务器发送一个SYN(Synchronize)包,请求建立连接。
- SYN-ACK:服务器收到SYN包后,向客户端发送一个SYN-ACK包,表示同意建立连接,并同步序列号。
- ACK:客户端收到SYN-ACK包后,向服务器发送一个ACK包,确认连接建立成功。
SYN Flood攻击
SYN Flood攻击是一种DDoS攻击,通过发送大量伪造的SYN请求,耗尽目标服务器的资源,使其无法处理正常的连接请求。具体工作原理如下:
- 攻击者发送大量伪造的SYN请求:攻击者使用大量僵尸网络或伪造的IP地址,向目标服务器发送大量的SYN请求。
- 服务器响应SYN-ACK:目标服务器收到SYN请求后,按照TCP协议,发送SYN-ACK包响应。
- 连接未完成:由于攻击者伪造了IP地址,服务器的SYN-ACK包无法送达真正的客户端,服务器会等待ACK确认包,直到超时。
- 资源耗尽:服务器在等待ACK确认包期间,会为每个未完成的连接分配资源(如内存和处理能力)。大量未完成的连接请求会耗尽服务器的资源,使其无法处理正常的连接请求。
如何发送大量的SYN请求?
攻击者可以通过以下几种方式发送大量的SYN请求:
- 僵尸网络(Botnet):攻击者控制大量被感染的计算机,组成僵尸网络,统一指挥这些计算机向目标服务器发送SYN请求。
- 脚本和工具:使用专门的攻击工具和脚本(如hping、LOIC、HOIC等),可以生成和发送大量的SYN请求。
- 伪造IP地址:攻击者可以伪造源IP地址,使得服务器无法追踪到真实的攻击源,增加攻击防御的难度。
防御SYN Flood攻击
防御SYN Flood攻击的方法有很多,主要包括以下几种:
- SYN Cookie:服务器在收到SYN请求后,不立即分配资源,而是通过生成一个加密的SYN Cookie来验证客户端的ACK请求。只有当收到合法的ACK包时,才分配资源建立连接。
- 连接速率限制:对每个IP地址的连接请求速率进行限制,防止单个IP地址发送过多的SYN请求。
- 过滤和丢弃:使用防火墙或入侵防御系统(IPS)检测并丢弃恶意的SYN请求。
- 流量清洗:使用DDoS防护服务(如Cloudflare、Akamai等)对流量进行清洗,过滤掉恶意流量。
- 负载均衡:将流量分散到多个服务器上,减轻单个服务器的负载压力。
- 自动化响应:配置自动化工具,在检测到SYN Flood攻击时,迅速采取响应措施,如启用防护策略或通知管理员。
通过综合使用上述防御措施,可以有效地抵御SYN Flood攻击,确保服务器的稳定性和可用性。
Question:应用没上云,可以使用阿里云的DDoS服务吗?
是的,即使应用没有完全迁移到云上,您仍然可以使用阿里云的DDoS防护服务来保护您的应用和网络基础设施。以下是如何在不完全上云的情况下利用阿里云的DDoS防护服务的一些方法和步骤:
使用阿里云DDoS防护服务的步骤
购买DDoS防护服务:
- 在阿里云控制台中,购买合适的DDoS防护服务计划(如DDoS基础防护、DDoS高级防护等)。
DNS配置:
- 将您的域名的DNS解析指向阿里云的DDoS防护IP地址。通过这种方式,所有进入您网站的流量都会首先经过阿里云的DDoS防护服务进行清洗和过滤。
- 如果使用的是阿里云的DNS服务,可以在DNS控制台中进行相应的配置。
配置流量转发:
- 配置阿里云DDoS防护服务将清洗后的合法流量转发到您的原始服务器。这通常通过设置回源IP地址或回源域名来实现。
安全策略和监控:
- 在阿里云DDoS防护控制台中,配置适当的安全策略,如速率限制、黑白名单、IP过滤等。
- 设置监控和报警,及时了解和响应潜在的攻击。
常见场景及具体配置
网站防护:
- 如果您的网站托管在本地数据中心,可以将域名的DNS解析指向阿里云DDoS防护IP。
- 配置DDoS防护服务的回源IP为您本地数据中心的服务器IP。
非网站服务防护:
- 对于非HTTP/HTTPS服务,可以通过阿里云的高防IP(DDoS Protection IP)进行防护。
- 配置服务的接入端口和回源端口,确保流量经过阿里云高防IP后,正确转发到您的本地服务。
混合云架构:
- 如果部分业务在云上,部分业务在本地数据中心,可以使用阿里云的VPN或专线服务,将两部分业务互联,并利用阿里云的DDoS防护服务保护整体网络。
优势
- 高效防护:阿里云的DDoS防护服务具备强大的攻击检测和清洗能力,可以有效应对各种规模的DDoS攻击。
- 灵活配置:可以根据实际需要,灵活配置防护策略和回源路径,确保业务连续性。
- 成本控制:根据实际使用情况选择合适的防护方案和服务等级,有效控制成本。
总结
即使您的应用和服务主要运行在本地数据中心,通过配置DNS解析、流量转发和安全策略,仍然可以使用阿里云的DDoS防护服务来保护您的网络和应用免受DDoS攻击。这样可以利用阿里云强大的防护能力,提高您的系统稳定性和安全性。
容器:ECI(弹性容器实例)、容器服务 Kubernetes 版 ACK、ACR(阿里云容器镜像服务)、ACK serverless(相当于worker node,无需管理和维护集群即可快速创建 Kubernetes 容器应用,仅关注业务本身)
ACR应用场景:自建harbor镜像仓库迁至阿里云
自建harbor迁至阿里云 ,先将harbor的镜像导入到OSS阿里云对象存储,迁移时选择迁移源为OSS bucket,执行镜像导入,成功后,执行域名管理,目的是将自建harbor仓库的域名和关联到企业版实例的域名,需要填写域名和证书ID(需提前上传至阿里云SSL的证书服务),本地ECS拉取images,需要在/etc/hosts 填写自建harbor域名和ACR_IP(企业版实例的访问入口IP),即基于自建harbor的域名从阿里云容器镜像服务拉取image
ACK集群应用测试(部署Nginx并暴露至公网访问,也可绑定域名):
1.设置集群删除保护2.配置/kube/config,通过kubectl访问集群
3.授权管理 RBAC
4.通过yaml或者镜像的方式部署应用
5.创建SVC(SLB+公网),绑定deployment,绑定域名
6.应用扩容和升级
7.日常巡检、监控、日志分析
基于阿里云ACK容器以及Jenkins2.0+进行搭建实施:基于阿里云容器的 CI/CD 落地实践-阿里云开发者社区
以java应用为例,该交付物是基于openjdk的jar包的镜像实体
ALB快速入门_负载均衡(SLB)-阿里云帮助中心
问题怎么把web的项目源码丢上ECS?(文件上传:在网页上直接拖动为文件,上传至指定目录;scp也可以)
如果是有数据库的呢,是否要用阿里云数据库,可以将数据库直接部署至ECS中;也可以分离出数据,使用阿里云的数据库RDS MySQL
通过客户端、命令行连接RDS MySQL实例:
购买RDS MySQL实例并完成必要配置(创建账号、设置白名单)后,您就可以通过命令行、客户端连接实例。本文介绍内网连接、外网连接的方法和无法连接的常见报错
数据存储(RDS MySQL)是用阿里云块存储,也可以先购买阿里云块存储,然后再挂载到具体的ECS实例中
域名:一个已经完成备案的域名。
云解析DNS:将用户访问网站的域名请求解析到云服务器(将域名指向一个IP地址,一般是公网IP地址)
案例4:某大型企业采用混合云架构
实例就是已经创建的虚拟机;镜像就是操作系统
创建云服务器ECS的大概步骤:选择付费模式,选择地区,选择网络和交换机、选择镜像、CPU 内存 存储空间、选择安全组、设置密码
安全组是一个虚拟防火墙,用于控制云服务器(ECS实例)进出流量的访问权限。它通过设置不同的规则,来允许或拒绝特定的IP地址、端口和协议访问你的云服务器,从而保护服务器的安全
控制ECS实例的出入站流量,可设置哪些协议、哪些IP可以通过端口访问到服务
可以添加安全组规则,来控制ECS实例的出入站流量。适用于允许或拒绝特定网络流量、封锁不必要的端口、限制特定协议的流量和配置应用程序访问权限等使用场景
云服务器 - >实例 ->具体某个实例 -> 监控
可开启一键报警,也可自行创建报警规则!
报警策略有:
CPU使用率、内存使用率、系统负载、云盘读写IOPS/MBPS、云盘使用率和Inode、公网和内网 In Rate/out Rate(单位:10K等)、ECS连接数、eRDMA流量使用和资源使用和PPS使用信息(接收和发送)
报警-沉默周期:指报警发生后如果未恢复正常,间隔多久重复发送一次报警通知(类似prometheus静默功能)
通知方式:电话、短信、钉钉机器人
添加通知人:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
登录阿里云消息中心。选择消息接收管理 > 基本接收管理,单击日志服务(LOG)告警右侧的修改。
在线/离线扩容、创建新的云盘、挂载云盘(需和ECS实例在用一个地理区域)、创建快照
增加多一个辅助网卡,即IP地址
1.执行命令:shell script、Python,直接显示输出的结果
2.发送文件至ECS,直接网页上拖拽即可
3.定时开关机
4.定时备份
5.自动升级补丁(可能会导致ECS重启)
6.安装拓展,一键安装WordPress或者LNMP
审计日志
可自助帮你排查CPU、内存、网络、磁盘占用率高的问题,然后公网无法访问或者ssh无法访问、网络性能下降/ping不同等问题
计划内运维事件展示
非计划性运维事件展示
秘钥对
秘钥对用于安全登录到阿里云ECS
阿里云的密钥对(Key Pair)是一种基于公钥加密技术的身份认证方式,用于安全地登录云服务器(ECS实例)。密钥对包括公钥和私钥两部分,公钥用于加密,私钥用于解密
阿里云快照服务支持所有类型的云盘,是一种低成本、便捷高效的数据备份手段,也可以用于创建镜像或容灾、分发数据副本等
云助手
可以看ECS实例、命令执行结果、文件下载记录、我的命令(可以创建常用的命令,可以是shell script、python等)、公共命令(涉及多方面的,也有windows镜像的,常用就是获取ECS获取ssh公钥,点击安装 Jenkins等等)
CloudOps Orchestration Service,简称OOS,是阿里云提供的自动化运维平台。您可以创建自定义的模板,或使用阿里云提供的公共模板,对ECS、RDS、SLB、VPC等资源进行自动化运维。
批量在ECS实例上运行命令
当一个事件发生时,触发一个运维动作。例如,当某ECS实例的CPU使用量达到了85%时,自动重启
例如,在每个星期五晚上停止实例,然后在每个星期一早晨重新启动这些实例
您可以使用OOS模板,指定一个源镜像,输入更新镜像的命令,例如安装补丁或者更新所依赖的组件等,自动化的生成一个新镜像。更进一步,您可批量为ECS实例指定新镜像来更换系统盘。
产品品优势
安全可审计
OOS通过调用公共API操作您的云资源,集成了访问控制(RAM)。OOS所有的云资源操作都会被记录在操作审计产品(ActionTrail)中,满足您安全审计的需要。
快速使用
OOS针对各种运维场景提供了公共模板,方便您快速执行完成您所需要的运维任务。您也可以通过克隆一个相似的公共模板,自定义其中的任务,以便完成您自定义的运维需求。
可视化的执行过程
通过控制台的可视化方式,您可以在控制台直接编辑模板并执行,可视化方式动态地展示了执行过程,并配合详细的执行日志,让您的运维操作完成得更加顺利。
场景三:灵活调度,高效编排,容器化管理云上应用(和场景一、场景三基本是关联的,重点了解场景一和二)
在企业上云的过程中,容器化应用托管已经逐渐成为主流,其中以能够自动部署、扩展、管理容器化应用以及能实现应用的快速上线与灵活调度的Kubernetes为首选方案。阿里云容器服务Kubernetes版(ACK)以其强大的容器编排能力、丰富的生态集成和高度的可扩展性,让企业轻松高效地在云端运行Kubernetes容器化应用。本方案介绍如何高效、快速地在ACK上编排与部署应用。
此场景涉及的阿里云产品:(与这个容器化管理云上应用至关联一部分)
VPC专有网络
SLB负载均衡(Server Load Balancer 阿里云负载均衡),SLB又分为ALB、NLB
NLB支持DDoS、SYN Flood、UDP Flood、ACK Flood、ICMP Flood、DNS Flood等网络层攻击防护,基本就是常见的网络攻击
调度算法
ALB和NLB支持加权轮询、一致性哈希、加权最小连接数等调度算法,可根据自身需求选择相应算法来分配流量
高级转发规则
ALB支持丰富的转发规则,包括但不限于根据域名、路径、HTTP标头、查询字符串、HTTP请求方法等进行流量调度,灵活支撑业务层路由策略
高级转发规则大概就是7层和4层的区别,可结合之前写的博客来加深了解
落地企业:优酷、九游、映客直播、优视、雪球(负载均衡的落地)