VPS加固

一、SSH防爆破

顾名思义,防止SSH密码被爆破以及减小VPS压力。
这里我们使用fail2ban,各位应该都听说过这个程序,可以根据SSH登录失败记录来屏蔽某个IP,该脚本有以下几个功能:

  1. 自助修改SSH端口
  2. 自定义SSH尝试连接次数
  3. 自定义最高封禁IP的时间(以小时为单位)
  4. 一键完成SSH防止暴力破解

    安装

    运行命令

    wget --no-check-certificate https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log

    根据提示输入相应信息;

  5. 第一步:选择是否修改SSH端口。
  6. 第二步:输入最多尝试输入SSH连接密码的次数
  7. 第三步:输入每个恶意IP的封禁时间(单位:小时)

    卸载

    运行命令

    wget --no-check-certificate https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/uninstall.sh && bash uninstall.sh

    注意事项:

  8. 如果你需要更改SSH端口,请记得在防火墙或者安全组中开放新的SSH端口
  9. 安装完成后请会重启SSH服务,请重新连接SSH会话
  10. 若出现SSH无法连接的情况,请检查是否修改过SSH端口,请填写写改后的正确端口进行连接

    反正我是没用这个,因为之前有一次把我自己的IP屏蔽了一天,23333

    二、使用密钥登录VPS

    密钥的安全性可谓是远大于密码登录,所以,为什么不使用密钥登录呢?还不用担心自己把自己ban掉......

    生成密钥对

    在你的VPS或者本地Linux系统运行命令:

    ssh-keygen -t rsa

    通过上述方式,密钥生成在/root/.ssh/你的用户根目录/.ssh下,分别为私钥和公钥文件,公钥文件id_rsa.pub就是在接下来需要放置在要VPS的文件,而id_rsa就是要保存到本地的私钥文件。

    将密钥保存到VPS

    我们需要将id_rsa.pub公钥文件放置到VPS用户主目录/root/.ssh下,可以使用scp命令,例:scp 本地文件 用户名@VPS地址:远程文件路径,之后我们需要进行一下操作

  11. id_rsa.pub文件,重命名为 authorized_keys;
  12. 执行chmod 600 ./authorized_keys 命令,修改权限;
  13. 执行命令 sudo nano /etc/ssh/sshd_config进行配置,将RSAAuthenticationPubkeyAuthentication 后面的值都改成yes ,将PasswordAuthentication yes 修改成 PasswordAuthentication no,然后保存;
  14. 重启sshd服务,Debian/Ubuntu执行sudo /etc/init.d/ssh restart
  15. CentOS执行:sudo /etc/init.d/sshd restart
  16. 注:centos7重启服务方式与以前不同,请执行systemctl restart sshd.service

最后,你就可以使用密钥登录你的VPS了~

这是一般VPS的修改方法,但是类似Google Cloud之类的实在你创建实例之前就让你填写公钥的。

VPS优化

这里主要讲解开启魔改版BBR,为什么是魔改版呢?从玄学角度讲因为它比普通版更快呀~

普通VPS开启魔改版BBR

首先,我们要确认一下VPS是否能开启BBR,可以直接使用此命令进行开启

wget --no-check-certificate -qO 'BBR.sh' 'https://moeclub.org/attachment/LinuxShell/BBR.sh' && chmod a+x BBR.sh && bash BBR.sh -f

注意:执行此命令会自动重启.
之后我们执行以下命令安装魔改版BBR

wget --no-check-certificate -qO 'BBR_POWERED.sh' 'https://moeclub.org/attachment/LinuxShell/BBR_POWERED.sh' && chmod a+x BBR_POWERED.sh && bash BBR_POWERED.sh

最后执行lsmod |grep 'bbr_powered',如返回结果不为空,则安装成功。

Google Cloud开启魔改版BBR

Google Cloud使用上面方法开启魔改版BBR会失败,原因以后再说,这里先立个Flag......
对于Google Cloud,我们需要使用以下命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh install

安装过程中如果出现这张图片,请选择NO 来删除其他内核(原谅我无耻的盗个图):
然后根据提示重启系统,之后运行

bash bbr.sh start

即可启用魔改版BBR。

查看魔改BBR状态

运行命令:

sysctl net.ipv4.tcp_available_congestion_control

如果看到有tsunami就表示开启成功!

参考
使用SSH密钥登录让Linux VPS服务器更安全
Debian/Ubuntu TCP BBR 改进版/增强版/魔改版
魔改版BBR一键安装脚本 For Debian8 / Ubuntu16 +