Linux VPS安全设置 – 修改端口,禁止ROOT用户登陆以及使用SSH密钥登陆

说实话,如果我们的网站/项目在没有必要用到VPS、服务器的时候,还是选择一款性价比较好且稳定性妥当的虚拟主机比较好,因为虚拟主机的运维服务都交由服务商解决。而如果我们使用VPS或者服务器之后,所有的运维、安全,网站项目的数据维护都需要我们自己来解决,而服务商只要保证线路和母鸡的稳定和安全就可以。

我们可以从网络上看到各种新手入门级的VPS使用、操作教程,其实上手还是比较容易的,购买VPS的价格也不是很贵,有些甚至比虚拟主机便宜,而且我们可以使用各种一键环境包、WEB面板等来搭建VPS网站环境。但是,如果在后面遇到问题,最为可怕的是数据丢失等,都可能是因为VPS和服务器的安全设置没有做导致的。

所以,既然我们有使用VPS,那VPS的安全还是有需要做的,之前国外主机优惠也有分享过几篇VPS的安全文章。

Linux VPS修改默认ROOT用户密码 确保VPS安全

Linux VPS主机安全设置 – 修改VPS默认SSH端口

最为简单的是,在我们开通VPS之后,可能商家默认给予我们的是明码(在主机商后台还可以看到),这样万一主机商的后台不安全,可能就被获取,或者是给予的密码简单,我们只需要通过passwd命令,然后重新设置较为复杂的密码就 可以,至少需要设置超过16位的数字、字母、大小写、甚至字符组合,这样是比较安全的。

而且,我们还可以采用国外一些平台的做法,一个月或者3个月更换一次密码,这样即便从基础的密码破解,也比较难的。修改密码往往还是不够的,我们最好还需要处理这几个方面。

第一、SSH端口的修改

无论是我们使用WEB面板,还是使用一键包,默认的安装页面或者是端口都需要修改,这个具体有看我们安装的面板修改方法。在这里我们是需要修改VPS的SSH端口,也就是我们使用SSH工具时候的端口,因为默认端口是22,很容易被猜到,我们可以修改稍微复杂点的。

A  –  vi  /etc/ssh/sshd_config

登录SSH之后,我们输入上面红字部分。

默认端口是22,我们需要修改他。一般建议修改5个数字的,这样安全度高一些。

B – 保存重启生效

    #centos
/etc/init.d/sshd restart

#debian或者ubuntu
/etc/init.d/ssh restart

设置保存退出之后,需要根据系统进行重启保存。

C – 防火墙设置

有些VPS开启防火墙设置,也需要在防火墙添加新修改的端口,要不到时候重启VPS之后新端口还是启动不了。

/sbin/iptables -I INPUT -p tcp –dport 28888(你修改的端口) -j ACCEPT
/etc/init.d/iptables save

这样可以确保防火墙对这个端口开启。且,以后我们SFTP或者SSH登陆的时候就要用新的端口。

第二、禁止ROOT用户登陆且授权未知用户名

因为我们的所有VPS,默认用户名都是ROOT用户,如果知道端口或者猜测破解到端口,那我们就肯定知道ROOT用户名,然后通过各种破解方式进行猜测密码。

解决这样的问题,可以我们新增一个大部分猜不到的用户名,然后授权这个用户名具有ROOT的权限。

A – 添加新的用户且授权密码

useradd itbulucom
passwd itbulucom

添加itbulucom,且准备设置itbulucom的密码,后面会提示需要输入密码,且需要设置两次。

B – 设置新用户权限

这个时候新用户没有权限,我们需要授权,输入 visudo,然后可以打开一个文件编辑界面。找到

在上面界面位置,添加一行,授权新用户权限,然后保存退出。

C – 禁止ROOT用户

在ROOT用户下执行\”vi /etc/ssh/sshd_config\”,把PermitRootLogin yes修改成PermitRootLogin no

D – 重启SSH服务器

sh /etc/init.d/sshd restart

然后就生效了,我们可以用新用户登陆且使用ROOT权限。

第三、使用SSH密钥登陆SSH工具

为了更好的且安全的登录SSH工具,我们可以使用密钥登陆,这样即便知道SSH用户名和密码也无法登陆,需要我们使用的SSH工具加载对应的密钥才可以。这个需要配合我们的SSH工具。

具体的方法我们可以参考老左博客的\”Xshell设置密钥登录确保Linux VPS及服务器更加安全\”,后面如果有时间我也专门写一篇出来。

总结,其实对于VPS的安全设置不仅仅局限在这里,还有包括安装防火墙等软件工具,这个后面再慢慢完善,总之,只要我们开始使用VPS主机,需要学习和应用的东西还真的比较多。