1.概览
基于wordpress框架搭建的网站,这里用到的服务器是腾讯云(新人有一个月的免费云服务器使用,域名备案需要至少三个月,一个月只能当练手用),主机系统用的是ubuntu,运维工具使用的是宝塔面板。
2.安全防护
目前大部分的教学视频,是帮我们把wordpress网站部署到服务器,却没有给网站安全防护措施。这里我们需要了解下liunx的命令。
1.确保SSH安全
SSH(Secure Shell)就是你远程连接服务器的通道,你现在在自己电脑上能操控云服务器,就是通过 SSH 连进去的。这边默认的都是22端口,黑客攻击你的网站都是从这里入手。
一旦黑客登进你的服务器,他拥有完全控制权:
| 能做的事 | 后果 |
|---|---|
| 删除你所有文件 | 网站数据全没了 |
| 植入挖矿程序 | 服务器变慢、费用暴增 |
| 把服务器当跳板攻击别人 | 你要承担法律责任 |
| 窃取数据库里的用户信息 | 用户隐私泄露 |
| 安装勒索软件 | 数据加密要你付钱赎回 |
解决方案:
进入你的云服务器系统
这里使用nano命令来编辑文件配置文件
sudo nano /etc/ssh/sshd_config,
会vim的使用sudo vim /etc/ssh/sshd_config,
vim操作需要切换模式,对新手比较不友好。
需要更改的内容:
Port 22 #更改成你想要的端口信息
PermitRootLogin no # 禁止root直接登录,yes->no
PasswordAuthentication no # 禁用密码登录,只用密钥,yes->no
MaxAuthTries 3
然后退出保存即可
2.配置防火墙 (UFW)
防火墙是一种安全系统,它基于一组安全规则来监视和控制网络流量。防火墙通常位于受信任的网络和不受信任的网络之间;通常,不受信任的网络是互联网。例如,办公室网络通常使用防火墙来保护其网络免受在线威胁。
sudo apt install ufw # 先默认拒绝所有入站
sudo ufw default deny incoming sudo ufw default allow outgoing # 只开放必要端口
sudo ufw allow 2222/tcp # SSH(你改后的端口)
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable #启动防火墙
3.禁止 root 登录 + 创建专用用户
# 新建普通用户并赋予sudo权限
adduser yourname
usermod -aG sudo yourname
# 把你的公钥复制到新用户
sudo mkdir /home/yourname/.ssh #新用户创建一个存放SSH密钥的文件夹。
sudo cp ~/.ssh/authorized_keys /home/yourname/.ssh/ #复制密钥文件
sudo chown -R yourname:yourname /home/yourname/.ssh #复制到用户的目录下
linux常见指令

补充:
nano 模式下保存退出按 Ctrl + X → 按 Y → 按 Enter 保存退出
vim模式下输入 :wq 然后按 Enter 保存退出
网页版终端下的有些指令会失效,Ctrl + W 拦截了,当成了关闭标签页的快捷键。
