购买了一台 VPS,安装成 ubuntu 系统,配置了一些安全措施,记录如下:
禁用 root 账号
首先确保有另一个具有管理员权限的用户账号可以用来管理系统,然后用以下命令禁用 root 账号:
1
2
| sudo usermod -p '!' root # 禁用root账号
sudo usermod -p '' root # 启用root账号
|
配置 public key
不使用账号-密码方式登录,而是使用公钥-私钥模式。
1
| ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
|
使用 -i 参数指定本地的~/.ssh/id_rsa.pub的公钥增加到远程主机的~/.ssh/authorized_keys文件中。
锁定 ssh
修改 ssh 的配置,以下参数分别为:启用密钥登录 ssh,禁用密码登录 ssh,禁用 root 账号登录 ssh。
1
2
3
4
| vim /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no
|
安装 fail2ban
Fail2ban 是一个用来监控登录尝试的 daemon ,可以有效侦测和防止可疑行为的发生。
1
2
3
4
5
6
| apt install fail2ban
systemctl enable fail2ban.service
systemctl start fail2ban.service
fail2ban-client status
fail2ban-client set ssh banip x.x.x.x
fail2ban-client set ssh unbanip x.x.x.x
|
通过 /var/log/fail2ban.log 和 auth.log 查看日志。
设置 ufw
ubuntu 内置了 ufw。
1
2
3
4
5
| ufw enable
ufw allow 22
ufw allow 80
ufw allow 443
ufw status
|
Author
winsphinx
LastMod
2024-01-20
(fe062173)
[原创] vps
License
