云服务器怎么配置更安全?快速配置云服务器简单安全策略

想起之前开通的一台云服务,登录发现早已被暴力破解密码。开通后一直没使用,所以没资料,果断重置系统,然而重置系统后短短几分钟,就收到几百暴力破解记录。云服务器果然是扫描和爆破的重灾区。记录自认为简单但高收益的快速部署安全方案。
正儿八经的内容开始:
系统:rocky linux 9
一、防火墙临时配置(打开 22 + 常用端口,后续关闭 22)
systemctl enable firewalld --now
systemctl status firewalld
firewall-cmd --add-port=22/tcp --add-port=80/tcp --add-port=8080/tcp --add-port=443/tcp --add-port=9502/tcp --add-port=3306/tcp --permanent
firewall-cmd --reload二、SSH 双认证配置(证书 + 密码)
步骤1:修改密码(大小写+数字+特殊字符,长度≥12位)
passwd步骤2:配置SSH公钥(核心:修复权限)
# 编辑公钥文件
mkdir -p /root/.ssh && vim /root/.ssh/authorized_keys# 粘贴你的公钥(一行到底,无换行)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7jz7K4H72FPoy04/34TGTHFT0Nmn73WdoY1+WNfQXPrYr85Xf+lqIp3aa0BSeijVBTl8rdkwSSyoNaNxMJRyWQZr5S11sr6Aw4asPJD4BkaYHK9xzqUWYlzi2eyRYJoYk/ojtBTEsC0jA9iUaF/udRzGtOeuiHWGF1zNJcY69U/xrbUnbZ+4JG/LCDFO/n7+J0xJb/cluB8NKwiLlrEgnoWfSvuVgRqL7hInxmEzfHa9qZzsBYRyJHXelQq9G2/NaDlZetWbw7faIsVztaRETy7Qi3KmzXRH8Cp36kapu2XXVaINi1usqpqJoIXx5rKf1kQPr71BgZKN8MPrTlvnz48kJ0qAMkbGPKDDNAqTmZfrGWBZeowmIdE+aExvFqS2lzu4/XX+KzVTpFJKMm1MqirZ7unfXRmzNPe32uwzq0CG9ni9VMx79gjkq63LCxCBQJSWNymvnMSCmUK0CzkuJDqjjP1AknjUfzMXfpJsqu3sQDAG0kUJRTP4q+MM6dgigekPh2c9rNlp569hU3fZcmiyU2pwXL7uFIMHZQTdUMqsyIFhebzQbIDr
# 修复公钥文件权限(必做!否则公钥登录失败)
chmod 700 /root/.sshchmod 600 /root/.ssh/authorized_keyschown -R root:root /root/.ssh
步骤3:修改SSH配置(先开启“证书/密码二选一”)
vim /etc/ssh/sshd_config写入以下内容(修改ssh端口,开启密码和证书都可以登录,xxxx替换为新端口):
-------------------------------------------
Include /etc/ssh/sshd_config.d/*.conf
Port xxxx
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
GSSAPIAuthentication no
Subsystem sftp /usr/libexec/openssh/sftp-server
ChallengeResponseAuthentication no
-------------------------------------------
步骤4:SELinux配置(修复semanage工具缺失问题)
sestatus关闭disable就不管,如果开启就需要设置,xxxx是新的ssh端口号
dnf install -y policycoreutils-python-utilssetenforce 0semanage port -a -t ssh_port_t -p tcp xxxxsemanage port -l | grep ssh_port_t
sshd -tsystemctl restart sshd
步骤5:测试“证书登录”和“密码登录”(新终端执行)
注意:不要直接断开当前 SSH 连接:修改配置后,务必新开终端测试登录,确认正常后再关闭旧连接(避免配置错误导致无法登录);
尝试在新端口xxx登录: 证书登录1次+密码登录1次,都登录成功就可以关闭密码登录,改为证书+密码双验证登录
步骤6:开启“证书+密码双认证”(核心)
vim /etc/ssh/sshd_config------写入以下内容-----------------------
AuthenticationMethods publickey,password
-------------------------------------------
sshd -tsystemctl restart sshd
测试在新端口xxx使用证书+密码登录。
关闭防火墙
firewall-cmd --remove-port=22/tcp --permanentfirewall-cmd --reload
# ========== 步骤7:根据情况是否永久关闭selinux) ==========
# 编辑配置文件
vim /etc/selinux/config# 修改:SELINUX=disabled
# 重启服务器生效
reboot# 验证:sestatus
→ 输出 SELinux status: disabled
三、更新
清理缓存+刷新仓库
dnf clean all && dnf makecachednf check-updatednf update -y
四、安装基础软件
# 1 先启用 EPEL 仓库(提供大量额外开源软件,Rocky Linux 默认未启用)
dnf install -y epel-release && dnf update -y# 2. 批量安装基础软件
dnf install -y \vim-enhanced net-tools bind-utils traceroute mtr curl wget telnet \unzip zip p7zip p7zip-plugins lsof psmisc gcc make git \fail2ban rsync tree screen tmux
# 3. 配置fail2ban(针对新SSH端口xxxx,防暴力破解,xxxx为你的新端口)
------------------------------------------------
cat > /etc/fail2ban/jail.d/ssh.conf << EOF[sshd]enabled = trueport = xxxxfilter = sshdlogpath = /var/log/securemaxretry = 3bantime = 86400findtime = 3600backend = pyinotifyEOF
------------------------------------------------
systemctl enable --now fail2bansystemctl status fail2ban
# 4. 安装常用的docker
vim /etc/yum.repos.d/epel-cisco-openh264.repo
dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-enginednf -y install dnf-plugins-corednf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repodnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugindnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -ysystemctl enable --now dockerdocker run hello-world
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"完成,最安全的方式:关机睡觉
poweroff
本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。



