在前几篇文章中,我们探讨了匿名 VPS 的基础知识、网络隐私防护等内容。本篇将聚焦于 VPS 的内部安全设置,帮助您构建一个坚固的防线,防止入侵、监听和误操作。
一、SSH 安全设置:构建第一道防线
SSH 是远程管理 VPS 的主要方式,也是攻击者的首要目标。加强 SSH 的安全性至关重要。
1. 禁用密码登录,启用密钥认证
使用 SSH 密钥认证可以有效防止暴力破解攻击
-
生成密钥对:
-
上传公钥到服务器:
-
修改 SSH 配置文件:
将以下参数设置为:
PubkeyAuthentication yes
PasswordAuthentication no
-
重启 SSH 服务:
这样,只有拥有私钥的用户才能登录服务器。
2. 更改默认 SSH 端口
将默认的 22 端口更改为其他端口,可以减少被扫描的风险。
-
修改 SSH 配置文件:
将 Port 22
更改为其他端口,如 Port 2222
。
-
重启 SSH 服务:
请确保新的端口未被防火墙阻止。
3. 限制登录用户和来源 IP
只允许特定用户和 IP 地址登录,可以进一步提高安全性。
-
限制用户:
在 SSH 配置文件中添加:
-
限制 IP:
使用防火墙规则,只允许特定 IP 地址访问 SSH 端口。
二、防火墙配置:控制进出流量
防火墙是保护 VPS 的重要工具,可以控制进出服务器的网络流量。
1. 使用 UFW(Uncomplicated Firewall)
UFW 是 Ubuntu 和 Debian 系统中常用的防火墙工具,操作简便。
-
安装 UFW:
-
允许 SSH 端口:
-
允许其他必要的端口:
如 HTTP(80)和 HTTPS(443):
-
启用 UFW:
-
查看状态:
确保只开放必要的端口,关闭其他所有端口。
三、Fail2Ban:防止暴力破解攻击
Fail2Ban 是一个入侵预防系统,可以监控日志文件,自动禁止多次失败登录的 IP 地址。
1. 安装 Fail2Ban
在 Debian/Ubuntu 系统中:
sudo apt install fail2ban
2. 配置 Fail2Ban
创建本地配置文件:
编辑 jail.local
文件,设置 SSH 的防护规则
上述配置表示:如果某个 IP 地址在指定时间内连续 5 次登录失败,将被禁止访问 SSH 端口 1 小时。
3. 启动 Fail2Ban 服务
4. 查看 Fail2Ban 状态
通过以上配置,Fail2Ban 可以有效防止暴力破解攻击,提高服务器的安全性。
四、文件加密与日志管理:防止监听和误操作
除了防止外部攻击,还需要防止内部数据泄露和误操作。
1. 文件加密
对于敏感文件,建议进行加密存储。
-
使用 GnuPG 加密文件:
系统会提示输入加密密码,生成加密文件 your_file.gpg
。
-
解密文件:
确保加密密码的安全性,并定期更换。
2. 日志管理
定期检查和管理日志文件,可以及时发现异常行为。
-
查看 SSH 登录日志:
-
设置日志轮转:
使用
logrotate
工具,定期轮转和压缩日志文件,防止日志文件过大。
通过日志管理,可以及时发现异常登录尝试和其他可疑行为。
五、定期更新与备份:保持系统安全
保持系统和软件的最新状态,可以修复已知的安全漏洞。
1. 系统更新
定期更新系统和软件包:
建议设置自动更新,确保系统始终处于最新状态。
2. 数据备份
定期备份重要数据,可以防止数据丢失和误操作带来的损失。
-
使用 rsync 备份数据:
-
使用 cron 定时备份:
设置定时任务,自动执行备份操作。
确保备份数据的安全性,建议将备份存储在不同的物理位置。
结语
通过以上措施,可以有效提高 VPS 的内部安全性,防止入侵、监听和误操作。在下一篇文章 《如何在 VPS 上部署匿名服务》 中,我们将探讨如何部署匿名服务,隐藏你的网站或代理节点的真实位置,进一步提升匿名性和安全性。