购买VPS后必须要做的事情(2024年)

VPS的使用、运营维护,是一门学问。做好VPS安全防护,需要从点滴做起;作为小白用户,购买VPS之后,建议做好以下设置,最大程度地保护VPS的安全。

1.修改root密码,限制root登录

1.1修改root密码

通过SSH工具(如putty,Xshell等),输入VPS服务商提供的IP,端口(22),账号(root)和密码即可连接VPS。如果确定IP被屏蔽,则可以联系服务商更换可用IP(通常可以免费更换一次IP,具体要看各服务商的规定)。

用root登陆VPS之后,输入命令:passwd,并输入要设置的密码(输入的密码不可见),即可更改初始的root密码。

1.2修改VPS登录账户名

修改VPS登录账户名,限制root账户登陆,用普通账户提权后连接vps(谨慎操作)。此操作的原因在于:root账户容易被扫描、爆破,因而修改VPS登录账户名,增加被爆破的难度。具体步骤如下:

1.2.1 在root下创建普通用户:sudo adduser <username> (将<username>替换为你要设置的用户名);

1.2.2 将新用户(<username>里填的用户)添加到sudo组,以便获取管理员权限:sudo usermod -aG sudo <username>

1.2.3测试新用户名是否可以成功登录。

方式1:输入命令su - <username>即可切换到新用户环境,此时需要输入密码(刚刚修改的root密码);新用户登录成功后,输入sudo命令,即可进入新用户名管理员环境。方式2:在1.2.2步骤root登录设置之后,退出root账户的SSH连接,并重新以新用户名和root密码登录。

1.3 禁用Root登录

通过新用户名连接VPS之后,输入命令:sudo nano /etc/ssh/sshd_config进入编辑SSH配置文件;查询并修改“PermitRootLogin”项为PermitRootLogin no,保存文件并退出(ctrl+x保存并退出);重新启动SSH服务:sudo systemctl restart ssh。重启之后,VPS便无法通过root用户名登录。

1.4 防止SSH暴力破解

1.4.1创建shell脚本

首先,输入以下命令,进入禁止ssh暴力破解脚本文件,
vi /usr/local/bin/secure_ssh.sh

其次,在脚本文件中写入内容:

#! /bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt for i in cat /usr/local/bin/black.txt do IP=echo $i |awk -F= '{print $1}' NUM=echo $i|awk -F= '{print $2}' if [ $NUM -gt 7 ];then grep $IP /etc/hosts.deny > /dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" >> /etc/hosts.deny fi fi done

1.4.2 创建定时任务

首先输入crontab -e,进入定时编辑环境,在文件中加入以下内容(定时执行防ssh暴力破解脚本,每3分钟执行一次):

*/3 * * * * sh /usr/local/bin/secure_ssh.sh

2.进行系统更新和增删

2.1 更新系统、必要依赖、删除不再需要的安装包

Ubuntu/Debian输入:

apt update -y && apt full-upgrade -y && apt autoremove -y && apt autoclean -y
yum update -y && yum upgrade -y && yum autoremove -y && yum clean all

CentOS/RHEL输入:

2.2一键清理垃圾

Ubuntu/Debian输入:

sudo apt autoremove --purge -y

sudo apt clean -y

sudo apt autoclean -y

sudo apt remove --purge $(dpkg -l | awk '/^rc/ {print $2}') -y

sudo journalctl --rotate

sudo journalctl --vacuum-time=1s

sudo journalctl --vacuum-size=50M

sudo apt remove --purge $(dpkg -l | awk '/^ii linux-(image|headers)- +/{print $2}' | grep -v $(uname -r | sed 's/-.*//') | xargs) -y

CentOS系统输入:

sudo yum autoremove

sudo yum clean all

sudo journalctl --rotate

sudo journalctl --vacuum-time=1s

sudo journalctl --vacuum-size=50M

sudo yum remove $(rpm -qa kernel | grep -v $(uname -r)) 

3.禁用Virtio-Balloon,防止VPS服务商超售影响性能

Virtio-Balloon可以理解为VPS主体虚拟内存动态分配插件,但VPS服务商在超售之后,其他用户的VPS性能会受到影响。因而,我们需要查看是否有这个插件,如果有,建议禁用。

3.1查询命令:

lsmod | grep virtio_balloon

我的Racknerd启用了,如图:

Racknerd Virtio Ballon

3.2 禁用方法有二:

方法一:对于Racknerd,Virtio-Balloon并非系统内置,可以通过rmmod virtio_balloon命令临时卸载;如果想长期生效,需要修改相关系统规则:

                        vi /etc/modprobe.d/blacklist.conf

写入以下内容后保存、退出:

      blacklist virtio_balloon

更新系统信息:update-initramfs -u

方法一参考这篇文章:禁用Virtio-Balloon

方法二:通过修改Grub配置禁用

对于virtio_balloon内置的VPS,如Cloudcone,输入lsmod | grep virtio_balloon查询不到,但输入rmmod virtio_balloon之后,显示virtio_balloon为内置。此时,virtio_balloon不是以模块的形式加载,而是直接编译到内核当中。此时,需要修改Grub配置。

1.进入Grub配置文件:sudo nano /etc/default/grub

2.增加命令行:GRUB_CMDLINE_LINUX="virtio_balloon=0";或者在原来含有GRUB_CMDLINE_LINUX等号右边的参数最前面插入virtio_balloon=0并加入英文空格。

3.Ctrl+X保存退出,输入sudo update-grub更新配置,输入sudo reboot重启系统。

经过以上设置之后,我们VPS的安全性就可以相对地得到提高。

参考:Source1Source2

后一页 前一页