前言
中午吃饭时才注意到腾讯云给我发了很多安全提示(惨无人性啊,一元一个月学生机都有人入侵,根据提示ssh端口再被爆破),上服务器看了下history,记录被清除了,根据腾讯的安全提示找到了相应可疑病毒文件,本地虚拟机做了分析这应该是一个十字符病毒,没看到可疑正在运行进程。亏我还是搞安全的,啪啪打脸,qwq
本来也就是一个测试机,索性直接重置系统了(如果是有各种服务的站点就要头疼了),这里对新重置的ubuntu16.04主机进行一个ssh的安全配置,供个人云主机用户参考~
更换ssh端口
或许你会说,这毫无意义,黑客依然能够发现我的端口,但是,你得注意到,除非你是被盯上了,否则批量自动化脚本在互联 上的爆破攻击,他们不会有耐心去扫描1-65535这么多端口,只会扫描一些常用的端口,将ssh端口更换成30000-40000之间是一个非常棒的做法~
打开配置文件
找到下面配置
将22更改为自己新的端口后别着急,这个时候前往自己云服务器的控制台,找到安全组,添加允许出入得端口,如下图:
效果:
管理ssh用户
很多ssh爆破问题都出在root用户身上,也许你认为你的密码强度差不多足够了,但不排除依旧被黑客给爆破出来,所以我们需要一个新的用户,去管理系统,比如这样:(ps:指令的具体参数操作自行百度)
这样我们就可以在登陆上,如233wahaha用户之后使用
切换到root进行其他操作
下面对root进行拒绝登陆设置
拒绝空密码登陆
连接数及配置权限管理
找到:
更改为:
可以注意到我们的很多操作都是在/etc/ssh/sshd_config进行的,所以对其修改权限我们必须要做限制
黑名单白名单操作
hosts.allow和 hosts.deny
服务器默认接受所有的请求连接,这是非常危险的,阻止或允许应用服务仅对某些主机开放,给系统在增加一道安全屏障。这部分设置共涉计到/etc/目录下的两个文件:hosts.allow和 hosts.deny。
将那些明确允许的请求添加到/etc/hosts.allow中。如系统仅允许IP地址为192.168.0.15和10.0.0.11的主机使用 sshd服务,则添加如下内容:
将需要禁止使用的信息添加到/etc/hosts.deny中。如对除了在hosts.allow列表中明确允许使用sshd的用户外,所有其他用户都禁止使用sshd服务,则添加如下内容到hosts.deny文件中:
注意:系统对上述两个文件的判断顺序是先检查hosts.allow文件再查看hosts.deny文件,因此一个用户在hosts.allow允许使用 络资源,而同时在hosts.deny中禁止使用该 络资源,在这种情况下系统优先选择使用hosts.allow配置,允许用户使用该 络资源。
使用DenyHosts
对这里可以有更多的利用点,这里介绍一个freebuf上看到的工具,原文点这里
使用DenyHosts软件来设置,其下载地址:
https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download
(1)安装cdDenyHosts
默认是安装到/usr/share/denyhosts目录的。
(2)配置cdDenyHosts
(3)设置启动脚本
完了之后执行daemon-contronstart就可以了。
如果要使DenyHosts每次重起后自动启动还需做如下设置:
可以看看/etc/hosts.deny内是否有禁止的IP,有的话说明已经成功了。
双因子登陆
(1)什么是双因子认证
在这种多重认证的系统中,用户需要通过两种不同的认证程序:提供他们知道的信息(如用户名/密码),再借助其他工具提供用户所不知道的信息(如用手机生成的一次性密码)。这种组合方式常叫做双因子认证或者两阶段验证。
(2)怎么去简单实现双因子认证登陆ssh
提到双因子登陆,或许大家知道的更多的是Google身份密钥管理器,但由于不能备份的原因,我是拒绝使用的,一但手机遗失,你的服务器就永远也上不去了
这里推荐Linux中国17年开发的一个微信小程序,运维密码
发布的具体介绍,点这里
详细的一些操作小程序上有介绍,不多介绍了~
总结
上述操作已经可以屏蔽掉普通站点的绝对多数针对ssh的攻击,对于大规模dos,我只能说能有价值让黑产去dos的,应该不差钱,做个cdn去吧
最后一句话,安全做的再好,也抵不住密码123456,抵制弱密码,从我做起~
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!