Appearance
平台安全性说明
会众云平台采用Docker容器
的部署方式,相比于传统的主机直接部署方式有以下好处:
- 资源隔离:Docker容器提供了隔离环境,程序只运行在这个隔离环境中
- 部署方便:所有程序都已打包完成,只需要一行命令就可以部署系统
- 升级方便:升级新的版本时,只需要替换掉旧的容器即可
- 删除方便:删除程序只需要删除容器即可,不会残留任何文件
- 多端兼容:Docker本身支持多平台部署(Linux、Windows、Mac等)
本章将深度讲解:如何保证服务及数据安全
1. 平台选型
以下为主流服务器操作系统所占份额,其中绝大部分操作系统为Linux
,其次为Windows

注意
推荐通过 Linux 部署服务,Linux具备更好的稳定
及安全
特性
1.1 Linux(推荐)
Linux 是一种免费的开源操作系统,基于 Linux 内核。它通常与 GNU 操作系统软件包一起使用,以形成一个完整的操作系统
Linux 的特点:
- 开源: 任何人都可以查看和修改 Linux 的源代码
- 免费: Linux 是免费的,可以自由使用和分发
- 稳定: Linux 以其稳定性和可靠性而闻名
- 安全: Linux 被认为是比其他操作系统更安全的
Linux 的发行版:
Linux 有许多不同的发行版,一些流行的 Linux 发行版包括:
- CentOS
- Rocky
- Almalinux
- Ubuntu
- Debian
- Fedora
- Red Hat Enterprise Linux
1.2 Windows Server
Windows Server 是由微软公司开发的服务器操作系统,基于 Windows NT 内核。它专为企业和组织设计,提供各种功能和工具来支持关键业务应用程序和服务
Windows Server 的特点:
- 闭源: 由微软公司开发的商业操作系统
- 付费: 需要购买商业许可证
- 稳定: 可以提供 99.99% 的正常运行时间(稳定性比不上 Linux)
- 安全: 包括许多安全功能,例如:BitLocker、Windows Defender(但相对于 Linux 更容易受到安全漏洞的影响)
2. Linux 安全配置
Linux服务器
创建后,默认采用root + 密码
的登录方式,这种方式有以下风险:
root
是超管权限,一旦泄露会导致整个主机资产面临侵入风险密码
的安全性较低,甚至有的密码还是弱密码,比较容易被破解登录端口
是默认22端口,公网上的恶意程序会对22端口
进行暴力破解
下面将从多个维度对Linux进行安全加固
2.1 使用 ssh 密钥
使用ssh 密钥
比使用密码登录更加安全,因为密码更容易被破解
提示
ssh 密钥
是一种用于安全登录远程服务器的加密方法。它使用一对密钥:一个公钥和一个私钥。公钥存储在服务器上,而私钥存储在您的本地计算机上
当您尝试使用 SSH 连接到服务器时,服务器会向您的计算机发送一个随机字符串。您的计算机使用私钥对字符串进行加密,并将加密后的字符串发送回服务器。服务器使用公钥解密字符串,并验证您的身份
创建 ssh 秘钥
在个人电脑(mac 或 windows)打开命令行终端,输入命令:ssh-keygen
提示
下方图片为创建示例,以下为必要步骤:
- 步骤1:输入文件名字(这里使用默认名字,直接回车)
- 步骤2:输入密码(注意:这里一定要输入密码,这样秘钥泄露后没有密码也无法登录)
- 步骤3:确认密码(输入步骤2一样的密码即可)
秘钥创建完成后,秘钥保存的位置查看提示:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
/root/.ssh/id_rsa 私钥
/root/.ssh/id_rsa.pub 公钥

配置 ssh 秘钥
秘钥创建完成后,需要将ssh 公钥
配置到服务器中,配置以后就可以通过ssh 私钥
进行访问了
- 第一步:登录服务器
直接通过密码登录即可
- 第二步:进入
.ssh
目录
bash
cd .ssh

- 第三步:添加
ssh 公钥
复制创建好的
/root/.ssh/id_rsa.pub
中的内容,并粘贴到服务器文件authorized_keys
bash
vim authorized_keys
# 输入大写的I,然后粘贴 id_rsa.pub 的内容
# 按 esc 键,退出编辑状态
# 同时按下 shift 和 : 进入命令模式
# 输入 wq 命令,保存文件
- 第四步:重启 ssh 服务
bash
systemctl restart sshd
提示
现在就可以使用ssh 私钥
访问服务器了(会自动使用.ssh/id_rsa
进行访问)
bash
ssh [用户名]@[服务器IP地址]
2.2 禁止密码登录
配置了ssh秘钥
登录后,就可以禁用密码登录,这样就只能通过ssh秘钥
登录系统了
下面为禁用步骤
bash
# 编辑ssh配置文件
vim /etc/ssh/sshd_config
# 找到配置项:#PasswordAuthentication yes
# 输入大写的I
# 将其修改为:PasswordAuthentication no
# 按 esc 键,退出编辑状态
# 同时按下 shift 和 : 进入命令模式
# 输入 wq 命令,保存文件
# 重启 ssh 服务
systemctl restart sshd

2.3 修改 ssh 端口
Linux登录使用的服务是ssh
,默认端口为22
,所以很多的恶意程序会攻击22
端口
所以修改默认端口号以后,可以大幅降低被攻击的概率
提示
建议端口号修改为:10000 ~ 65535,例如:10022
下面为修改步骤
bash
# 编辑ssh配置文件
vim /etc/ssh/sshd_config
# 找到配置项:#Port 22
# 输入大写的I
# 将其修改为:Port 10022
# 按 esc 键,退出编辑状态
# 同时按下 shift 和 : 进入命令模式
# 输入 wq 命令,保存文件
# 重启 ssh 服务
systemctl restart sshd

指定端口登录
由于修改了端口号,所以登录的时候必须要指定登录的端口号
bash
ssh -p 10022 [用户名]@[服务器IP地址]
2.4 磁盘备份
磁盘备份可以防止极端情况下数据损坏、丢失时,可以通过备份文件快速还原数据
提示
会众云平台所有文件所在目录为:/var/hzy/
常用备份方式
- 快照备份:如果使用的是云服务,那么可以使用云服务的
快照
服务,定时对云盘进行备份 - 本地备份:如果使用的本地服务器,那么可以使用
数据备份软件
定时对磁盘进行备份
示例:阿里云快照备份
1、创建快照策略

2、关联云盘

3、恢复备份
2.5 数据备份
和 磁盘备份
不同的是,此备份方式仅针对于平台的数据文件,备份内容更小,备份速度更快。
提示
会众云平台所有文件所在目录为:/var/hzy/
Linux 服务器数据备份
Linux环境下,可使用 Shell
命令 rsync
来执行备份
提示
rsync
一般为 Linux
预装软件,若您得系统提示没有命令 rsync
,可执行如下 shell
来安装。
注意: 若您的
Linux
未使用以下两种包管理器,则请自行使用搜索引擎获取安装指令。
shell
# Centos / Redhat / Deepin 等使用 yum 的发行版用如下 shell 安装
yum install rsync -y
shell
# Ubuntu / Debian 等使用 apt 的发行版用如下 shell 安装
apt-get install rsync -y
使用模板如下:
shell
# 本机数据备份
rsync -av --delete --append /var/hzy/ [备份位置的绝对路径]
# 异机/远程数据备份
rsync -av --delete --append /var/hzy/ [用户名]@[远端服务器ip/地址]:[备份位置的绝对路径]
# 如果远端服务器部署了 rsync 守护进程的话,可使用下述模板
rsync -av --delete --append /var/hzy/ rsync://[远端服务器ip/地址]/[备份位置的绝对路径]
注意
上述的 用户名、远端服务器ip/地址、备份位置的绝对路径
请替换为真实的参数。
举例
本机备份:rsync -av --delete --append /var/hzy/ /home/data-backup/
便是将平台数据备份到 同服务器 的 /home/data-backup/
文件夹下。
远程备份:rsync -av --delete --append /var/hzy/ root@192.168.31.168:/home/data-backup/
便是将数据被分到目标服务器的 /home/data-backup
文件夹下。
结合 Linux 的 Crontab
服务,可以实现定时备份,下面提供一个定时备份脚本的参考范例:
提示
使用命令 crontab -e
进入 Crontab
的配置界面,然后在文档尾部输入以下 Crontab配置
的内容,保存后退出即可。
shell
#!/bin/bash
# 会众云平台数据文件夹
sourceDir='/var/hzy/'
targetHome='/root/hzy-data-backup'
# 备份文件夹路径
targetDir="${targetHome}/all-data-backup/"
# 备份时的过程日志
logfile="${targetHome}/log-rsync.txt"
echo "rsync started at: $(date)" > ${logfile}
rsync -av --delete --append ${sourceDir} ${targetDir} >> ${logfile}
shell
# 每天凌晨三点的整点时刻执行一次备份
0 3 * * * bash /root/hzy-data-backup/rsync-data.sh
2.6 其他配置
完成前面的设置步骤后,服务器的安全系数已经非常高了。以下为其他可选的安全配置:
- 禁用root登录:root用户拥有系统最高权限,可以禁止使用root登录
- 开启防火墙:如果系统没有开启防火墙,可以启动防火墙,防火墙可以设置
网络进出
规则 - 增加堡垒机:服务器只能通过
堡垒机
才能登陆,堡垒机
可以配置相关的安全规则