vps安全配置
TODO:
为了加强vps安全,我们得在远程登录安全和端口安全入手
参考文章:购买了VPS之后你应该做足的安全措施
远程登录安全
-
使用RSA密钥对登陆SSH
- RSA密钥对生成
ssh-keygen -b 2048 -t rsa
注:一般会自动创建并生成密钥对在./ssh文件目录中。RSA密钥对在本地和服务端都可以生成
- 将id_rsa.pub文件复制到ssh的相应目录里,然后改名为 authorized_keys
mv id_rsa.pub authorized_keys chmod 600 authorized_keys
- 保存生成的RSA密钥对,想要这对密钥登录哪个账户,就把authorized_keys放到哪个账户下
mkdir ~/.ssh //如果当前用户目录下没有 .ssh 目录,就先创建目录 chmod 700 ~/.ssh mv id_rsa.pub ~/.ssh cd .ssh mv id_rsa.pub authorized_keys chmod 600 authorized_keys
- sshd_config配置文件修改
vim /etc/ssh/sshd_config Port 31260 #ssh登录端口 PermitRootLogin no # 不允许root用户登录 PubkeyAuthentication yes # 公钥验证 PasswordAuthentication no # 不允许密码登录
重启ssh服务
/etc/init.d/ssh restart
-
添加对普通用户相关配置
- 添加用户
adduser xxx passwd xxx
- 给用户添加sudo权限
chmod u+w /etc/sudoers #增加sudoers文件的写权限 echo "xxx ALL=(ALL) ALL" >> /etc/sudoers # chmod u-w /etc/sudoers #除去sudoers文件的写权限
- 仿照1.3使用RSA密钥对登录
-
安装 CSF 防火墙
通过安装csf防火墙,可以有效的屏蔽尝试入侵你vps的IP,进阶的配置我们也不需要知道,但至少你应该安装它:
rm -fv csf.tgz wget http://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh //使用下边的命令来验证csf正确安装并已经运行 perl /usr/local/csf/bin/csftest.pl
-
安装 fail2ban 软件
这个软件将通过使用 iptables 防火墙,将尝试爆破 ssh 密码的 IP 封停,默认10分钟,这样可以有效防止攻击。
apt-get install fail2ban
-
禁用Linux多余端口
禁用掉所有端口,只留下需要使用的端口永远都是正确的选择:
使用如下命令来检测是否存在 ufw,不再推荐直接编辑 iptables 了,这东西不是一般人玩得转的,所以 Ubuntu 官方也推出了一个更简单易用的 iptables 前端来供一般管理员使用,其实功能也挺强大,但是命令精简了不少😃,具体介绍请移步:Ubuntu 下更简单的防火墙 Uncomplicated Firewall
ufw status
如果终端显示防火墙未激活(理论上都应该是这样,因为 ufw 是系统内置的。
我们使用如下命令来添加规则:
ufw allow ssh ufw allow http ufw allow https //你也可以使用端口来开启 ufw allow 53 //请务必开启 ssh 端口,如果你不是标准端口,请记得开启,否则后果自负! ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y //会提示你影响ssh 连接,但只要提前加入了规则,就不会影响。
要做就做到极致 -----智博这样说。