LOADING
660 字
3 分钟
博客部署服务器 (1)
2026-08-22
实践
Deploy
Tip

购买云服务器,设置安全组,服务器基础配置,购买域名,更新主体人信息设置SSL证书

进行备案


拿到一台带有公网 IP 的服务器后,安全加固是第一优先级任务

一、设置安全组

图片

入方向只保留 Http的80和443、自定义2222(ssh连接),其他全部禁用 出方向不用设置,无需特殊处理


二、基础安全配置

1. 创建用户

Terminal window
sudo useradd -m -s /bin/bash deploy
sudo passwd jiy

2. 禁用 Root 密码登录

Terminal window
# 本地生成 SSH密钥对,一路回车即可
ssh-keygen -t ed25519
# 将公钥添加到服务器
ssh-copy-id username@ip

另开一个新的终端窗口,执行:

Terminal window
ssh username@ip

如果配置成功,就会直接登录,不再需要输入服务器密码

3. 配置 SSH 密钥认证

Terminal window
sudo vim /etc/ssh/sshd_config

找到并修改以下内容:

Terminal window
# 改用 2222 端口
Port 2222
# 禁用密码登录
PasswordAuthentication no
# 禁用键盘交互认证(另一种密码认证方式)
KbdInteractiveAuthentication no
# 启用公钥认证
PubkeyAuthentication yes
# 禁止空密码登录
PermitEmptyPasswords no
# 完全禁止root通过SSH登录
PermitRootLogin no

修改完成之后,不要立即关闭当前终端,先重启 SSH服务让配置生效,本终端作为安全网

Terminal window
sudo systemctl restart sshd

小提示:请确保安全组的 2222端口和防火墙的开放;如果 进不去了,保底策略是使用云厂商的 VPC进行登陆

4. 配置主机防火墙(只开放必要端口)

  • 原则:默认拒绝所有入站,仅放行白名单
Terminal window
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp # SSH端口
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable

5. 更新系统补丁

Terminal window
sudo apt update && apt upgrade -y

三、基础安全加固

1. 安装并配置 Fail2Ban

  • 自动封禁暴力破解和恶意扫描的 IP
  • Fail2Ban:
Terminal window
sudo apt install fail2ban
sudo systemctl enable --now fail2ban
  1. 内核参数硬化 (sysctl)
Terminal window
sudo /etc/sysctl.conf && sysctl -p

修改以下配置:

# 防 SYN Flood
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
# 禁用 ICMP 重定向(防中间人)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# 禁用源路由
net.ipv4.conf.all.accept_source_route = 0
# 记录可疑数据包
net.ipv4.conf.all.log_martians = 1

核心安全理念: 安全不是产品,而是过程。没有绝对安全的服务器,只有不断提高的攻击成本。做好以上措施可以抵御绝大多数自动化攻击和脚本小子,但面对定向高级攻击仍需持续关注和迭代。


四、SSL 证书

因为是在阿里云购买的域名 + 服务器,我选择在阿里云平台申请SSL证书 官方文档教程

博客部署服务器 (1)
/projects/website/server/website-deploy-1/
作者
J.
发布于
2026-08-22
许可协议
CC BY-NC-SA 4.0
编辑于 2026-08-22

部分信息可能已经过时

Profile Image of the Author
J.
我是Jiy,热爱生活的学生一只~
公告
欢迎来到我的博客!
目录
行
器
律
目录