增强VPS 安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

VPS主机   2023年10月09日 12:35  

增强VPS 账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

VPS 账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要。以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门,导致好几个有名的站点信息泄露,损失惨重。

如何知道自己的VPS账号正在遭受坏人的扫描和暴力破解呢?简单的方法就是查看日志:cat /var/log/auth.log。如何来增强VPS 账号的安全性呢?除了养成使用正规软件的好习惯外,还要从VPS本身来加强VPS 账号的安全性。

默认的SSH端口都是22,通过修改自己的VPS的端口先为扫描者增加一道端口门槛,VPS默认的账号是Root,如果我们禁用了Root,那么要攻破账号又得先暴力猜测VPS的账号,难度又增加几分。如果还不放心,我们可以直接禁用密码登录验证VPS的方式,改用密钥登录,这样安全系数是相当高了。

Linux还有一个自动统计VPS登录错误工具:Denyhosts,一旦登录VPS账号错误次数超过了Denyhosts安全设置,Denyhosts就会将该IP记录下来,同时将其放入黑名单当中,禁止该IP在某一段时间内继续访问VPS,通过Denyhosts可以实现自动封锁恶意IP。

VPS主机和网站安全优化是一个持久的问题,没有一劳永逸的“安全设置”,道高一尺,魔高一丈,我们只有不断地发现问题,才能最大限度地保护自己网站和VPS安全

增强VPS 账号安全:改端口,禁止Root,密钥登录,Denyhosts防暴力攻击

一、增强VPS 账号安全方法一:修改SSH登录端口

1、用下面命令进入配置文件。


 vi /etc/ssh/sshd_config

2、找到#port 22,将前面的#去掉,然后修改端口 port 123(自己设定)。

3、然后重启ssh服务。


/etc/init.d/ssh restart

二、增强VPS 账号安全方法二:使用密钥登录SSH

1、SSH登录方式有账号+密码和密钥两种形式,为了阻止暴力破解VPS的账号和密码,我们可以放弃密码验证的方式,改用密钥文件验证。

2、执行以下命令在VPS上生成密钥文件。


ssh-keygen -t rsa

3、生成密钥时会询问你密钥保存的位置,默认即可,还有你可以为你的密钥还设置一个密码,默认为空。

VPS安全生成密钥

4、密钥生成后,进入密钥存放的目录中,执行以下命令,将公钥生成一个新的文件。


cat id_rsa.pub >> authorized_keys

VPS安全生成新文件

5、将id-rsa这个私钥文件下载到本地,打开PuTTYGen软件,执行Conversions->Import Key,导入这个私钥文件。

VPS安全导入私钥文件

6、Putty使用密钥登录SSH方法:如果你要使用Putty,在PuTTYGen中选择Save private key,这时会在本地生成一个PPK文件。

VPS安全保存本地文件

7、然后在Putty中填入服务器名,在SSH授权方式中选择密钥,导入刚刚保存的PPK文件。

VPS安全Putty授权方式

8、使用Xshell通过密钥登录VPS方法:如果要使用Xshell,请在PuTTYGen的Conversions中选择Export Open#SSH Key,设置一个名称保存。

VPS安全新的格式

9、然后启用Xshell,填入服务器IP,在用户身份验证中选择“Public Key”,然后浏览导入刚刚你保存的Key文件。

VPS安全Xshell导入密钥

10、导入了Key后,你就可以直接打开登录VPS了,不需要输入密码,即可进入VPS。

VPS安全直接进入

11、有了密钥登录VPS,我们就可以禁止用密码登录这种验证方式了,还是编辑配置:vim /etc/ssh/sshd_config,添加一行:PasswordAuthentication no,如果有了这一行,请把yes改成no,保存,重启SSH服务,生效。

VPS安全不用密码了

三、增强VPS 账号安全方法三:禁用Root账号

1、如果你已经设置SSH密钥登录的方式,就可以禁用Root账号了,或者你可以新建一个VPS账号。执行以下命令:


useradd freehao123 #添加用户名
passwd freehao123 #为freehao123用户名设置密码

VPS安全增加新的用户

2、然后编辑进入配置:vim /etc/ssh/sshd_config,找到PermitRootLogin yes,然后后面的Yes改no,如果没有这一行命令,直接将:PermitRootLogin no 加进去。

VPS安全不用Root

3、保存后,重启SSH服务,生效。

四、增强VPS 账号安全方法四:Denyhosts防暴力攻击

1、Linux各平台现在基本上都可以直接安装Denyhosts了,执行以下命令:


Debian/Ubuntu:
sudo apt-get install 
 
RedHat/CentOS
yum install 
 
Archlinux
yaourt 
 
Gentoo
emerge -av 

2、安装好了Denyhosts,默认的配置基本上就可以防御一定的暴力攻击了,/etc/hosts.deny 文件里保存了被屏蔽的记录。

VPS安全自定义设置

3、如果你要自定义Denyhosts的相关配置,执行:vim /etc/denyhosts.conf,以下是相关参数的说明:



SECURE_LOG = /var/log/auth.log #ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件
PURGE_DENY = #过多久后清除已经禁止的,空表示永远不解禁
BLOCK_SERVICE = sshd #禁止的服务名,如还要添加其他服务,只需添加逗号跟上相应的服务即可
DENY_THRESHOLD_INVALID = 5 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 10 #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 1 #允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts #运行目录
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES #是否进行域名反解析
LOCK_FILE = /var/run/denyhosts.pid #程序的进程ID
ADMIN_EMAIL = root@localhost #管理员邮件地址,它会给管理员发邮件
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts 
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d #用户的登录失败计数会在多久以后重置为0,(h表示小时,d表示天,m表示月,w表示周,y表示年)
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
RESET_ON_SUCCESS = yes #如果一个ip登陆成功后,失败的登陆计数是否重置为0

五、增强VPS 账号小结

1、上面讲到了四个方法来增强VPS 账号的安全性,那么如何得知自己的VPS曾经或正在遭受账号暴力破解登录呢?执行以下命令,查询出来的结果中包含了“ip地址=数量”就是攻击者信息。


cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'

VPS是不是安全了

2、目前在Putty官网上没有看到中文版本的Putty,所以网上流行的一些汉化版本的Putty很有可能被植入了后门,大家在使用时一定要特别留心。Xshell官网直接提供了多国语言,包括中文在内。

文章出自:免费资源部落 / 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

在这个部落村庄里,已经有78 位神马家族成员冒出泡来在农场开始干活了
  • 夕虚 4

    我居然又抢到了沙发…

    包子 回复:

    @夕虚, 抢沙发的MJJ

    包子 回复:

    @包子, 抢到沙发的MJJ

    这是农场的第 1 块农田,部落批准 [夕虚] 在[2013-10-9 17:23]开垦完成.
  • 时晞 2

    前排,学习了 :)

    这是农场的第 2 块农田,部落批准 [时晞] 在[2013-10-9 17:24]开垦完成.
  • yeendoin 5

    看完之后是第几楼了?
    安全很重要啊

    这是农场的第 3 块农田,部落批准 [yeendoin] 在[2013-10-9 17:34]开垦完成.
  • 包子 3

    改端口意义不大,第4天更实用

    qi 回复:

    @包子, DenyHosts会造成屏蔽自己的IP地址。

    王琪亮 回复:

    @qi, 是的。这个软件对于国人的动态IP宽带十分麻烦。

    包子 回复:

    @王琪亮, 这跟国人的动态IP宽带没什么关系,它针对的是IP对应登陆失败的次数,跟你每一次登陆用什么IP没那么大的关系

    包子 回复:

    @qi, 用key登陆,为什么会“造成屏蔽自己的IP地址”?没遇到过这种情况

    这是农场的第 4 块农田,部落批准 [包子] 在[2013-10-9 17:38]开垦完成.
  • Kung 23

    反正我也不大用VPS..家里穷啊..

    包子 回复:

    @Kung, 去捐@精,买独服呗,骚年

    Kung 回复:

    @包子, 国内捐@精不是没多少钱么..

    包子 回复:

    @Kung, 5000不少了

    Kung 回复:

    @包子, 卧槽..有5000?

    包子 回复:

    @Kung, 是哦,快去报名

    Kung 回复:

    @包子, – -等有时间吧..

    包子 回复:

    @Kung, 这个不需要挑黄道吉日哦

    小白兔 回复:

    @包子, 5000我草。。。

    包子 回复:

    @小白兔, 哈哈,小兔子有啥想法???

    yeendoin 回复:

    @小白兔, 还有那种直接捐献的,你懂的哦

    小白兔 回复:

    @yeendoin, -_- 会不会是恐龙

    包子 回复:

    @小白兔, 可能遇上大.

    包子 回复:

    @yeendoin, 那么多经验的哦

    这是农场的第 5 块农田,部落批准 [Kung] 在[2013-10-9 17:57]开垦完成.
  • 逗婦乳 13

    前排劉明

    这是农场的第 6 块农田,部落批准 [逗婦乳] 在[2013-10-9 18:07]开垦完成.
  • Nin 3

    一般来说直接使用Key和关闭密码登陆就行了
    除非自己的电脑失陷或者你碰上的不是普通的攻击者

    包子 回复:

    @Nin, 我也是这样干的,其它的也没什么必要

    qi 回复:

    @Nin, 对,用密钥登录已经是相当安全了。

    这是农场的第 7 块农田,部落批准 [Nin] 在[2013-10-9 18:07]开垦完成.
  • 小6 6

    我从来不看日志,反正我的vPS也没有站,

    这是农场的第 8 块农田,部落批准 [小6] 在[2013-10-9 18:57]开垦完成.
  • 神父 20

    这篇文章是干货啊

    这是农场的第 9 块农田,部落批准 [神父] 在[2013-10-9 18:57]开垦完成.
  • 这个比较好,需要这种文章。

    这是农场的第 10 块农田,部落批准 [心随梦飞] 在[2013-10-9 19:06]开垦完成.
  • Vsen 4

    啥时候出个DA面板防暴力破解的教程

    包子 回复:

    @Vsen, DA面板不是很安全吗

    Vsen 回复:

    @包子, 过几天就收到一堆尝试暴力破解的消息…

    包子 回复:

    @Vsen, 那么利害哦

    Harry 回复:

    @包子, 的确的 我Gmail已经一大堆了

    qi 回复:

    @Vsen, DA面板也有人专门攻击?

    Vsen 回复:

    @qi, 你用DA面板的时候,后台没有收到过类似暴力破解的系统提示消息吗?

    qi 回复:

    @Vsen, 没有,估计我的演示不被人知道。

    这是农场的第 11 块农田,部落批准 [Vsen] 在[2013-10-9 19:15]开垦完成.
  • 嘴角12 12

    都没有vps这个就不用想了。qi有多余的了忙?

    包子 回复:

    @嘴角12, 去注个免费的吧,别指望他了

    qi 回复:

    @嘴角12, 暂时还没有。

    这是农场的第 12 块农田,部落批准 [嘴角12] 在[2013-10-9 19:28]开垦完成.
  • babytomas

    防止穷举密码强烈建议使用 Fail2Ban,一般的主机商也有用

    qi 回复:

    @babytomas, 这是个好东西,忘记加进去了。

    这是农场的第 13 块农田,部落批准 [babytomas] 在[2013-10-9 19:35]开垦完成.
  • babytomas

    看这里的 [url]https://www.zntec.cn/url?https://myownfreehost.net/cpanel-api.php[/url]

    BYET 也可以支持 WHMCS 了,不过根据我测试还是有问题。

    这是农场的第 14 块农田,部落批准 [babytomas] 在[2013-10-9 19:40]开垦完成.
  • 免费部落 16

    QI这是上次被攻击后在做恶补习啊!想来效果应该不错,这几天打开网站都很正常!

    qi 回复:

    @免费部落, 我发现这年头做了一个个人网站,除了要写文章,还得是个技术狂,什么CSS\Html\Linux\DNS\VPS等都要懂一点。

    免费部落 回复:

    @qi, 何止,SEO最重要,现在想起,做男人难,做站长更难。不过我发现这几天,我的网站权重突然变成2了。也是时候换个主机了!

    qi 回复:

    @免费部落, 坚持下去就成功了。

    免费部落 回复:

    @qi, 现在的关健是,我想找个产品在网站上卖,你有推荐的吗?要不然,只能从网上去找模具设计这一方面的事情了。

    qi 回复:

    @免费部落, 其实我也不知道卖什么赚钱。

    这是农场的第 15 块农田,部落批准 [免费部落] 在[2013-10-9 20:09]开垦完成.
  • musk 18

    我发现现在的与计算主机产品是主流了,不用担心安全问题,只要担心价格问题…

    qi 回复:

    @musk, 好产品价格也贵。

    这是农场的第 16 块农田,部落批准 [musk] 在[2013-10-9 20:51]开垦完成.
  • babytomas

    BYET 在 WHMCS 开通搞定了 :twisted: 明天下午有时间的话来发帖 。。

    包子 回复:

    @babytomas, 什么是BYET?

    qi 回复:

    @babytomas, 博主自己的WHMCS ?

    这是农场的第 17 块农田,部落批准 [babytomas] 在[2013-10-9 21:57]开垦完成.
  • 超級efly 17

    很好啊,我已經裝上了什麼Deny。。。了

    qi 回复:

    @超級efly, 据说会屏蔽自己的IP。

    这是农场的第 18 块农田,部落批准 [超級efly] 在[2013-10-9 22:51]开垦完成.
  • 叶小沫 2

    这个比较好,需要这种文章。

    这是农场的第 19 块农田,部落批准 [叶小沫] 在[2013-10-10 09:14]开垦完成.
  • Small Desert 4

    这个不错,装毒妇上去–

    qi 回复:

    @Small Desert, 博主哪里买的?便宜不?

    Small Desert 回复:

    @qi, 直接从机房买的==价格还不错

    这是农场的第 20 块农田,部落批准 [Small Desert] 在[2013-10-10 10:39]开垦完成.
  • shizzmk 1

    這個的確很不錯了 

    这是农场的第 21 块农田,部落批准 [shizzmk] 在[2013-10-11 22:25]开垦完成.
  • 情书网 4

    [root@AY1303090******* ~]# yum install denyhosts
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.163.com
    * extras: mirrors.163.com
    * updates: mirrors.163.com
    Setting up Install Process
    No package denyhosts available.
    Error: Nothing to do
    好像失败了

    这是农场的第 22 块农田,部落批准 [情书网] 在[2013-10-12 16:10]开垦完成.
  • shenqi 3

    太好了,除了禁止root登陆和修改sh端口,之前还真不知道怎么保护自己的VPS了。感谢分享

    qi 回复:

    @shenqi, 这只是基本的防护措施,还要更高级的手段。

    shenqi 回复:

    @qi, 那就得等你的教程了。

    这是农场的第 23 块农田,部落批准 [shenqi] 在[2013-10-12 22:08]开垦完成.
  • 小V 9

    这个不错

    这是农场的第 24 块农田,部落批准 [小V] 在[2013-11-13 23:30]开垦完成.
  • 这糖

    禁用 root 帐号 这条也可以吧?sudo passwd -l root

    qi 回复:

    @这糖, 是的,这个也可以。

    这是农场的第 25 块农田,部落批准 [这糖] 在[2013-12-29 13:48]开垦完成.
  • 这糖

    Denyhosts 的BLOCK_SERVICE = *d 导致SSA@H无法连接,怎么办?

    qi 回复:

    @这糖, 应该是屏蔽了个别的IP,你换个IP登录进去,然后将自己的IP从黑名单中删除,就行了。或者直接重启VPS。

    这是农场的第 26 块农田,部落批准 [这糖] 在[2013-12-30 01:08]开垦完成.
  • con 2

    按照你说的禁用了root,设置了秘钥;后来自己在控制面板把系统由centos换成ubuntu了,root有限制登录不进去,用秘钥说的根目录没有该文件,怎么登录s.@s.h?求解

    qi 回复:

    @con, 重装了系统了?重装之后,之前的设置都没有效了。用的是什么控制面板?

    这是农场的第 27 块农田,部落批准 [con] 在[2014-10-26 00:11]开垦完成.
  • 好像设置密钥关密码功能后,如果禁示ROOT,那用密钥就会登不进去,而且创小号也不让登

    qi 回复:

    @马, 确实是这样的。

    这是农场的第 28 块农田,部落批准 [马] 在[2015-4-27 09:32]开垦完成.
  • 禅猫 4

    其实吧,允儿,可以设置指定某个IP才可以登录* 其他都被阻挡

    qi 回复:

    @禅猫, 自己的登录的IP也是不固定了,不好设置。

    这是农场的第 29 块农田,部落批准 [禅猫] 在[2017-2-18 03:02]开垦完成.
看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部