SSH后门账号检测方法、装置及电子设备和存储介质与流程

文档序号:20608380发布日期:2020-05-01 22:18阅读:178来源:国知局
SSH后门账号检测方法、装置及电子设备和存储介质与流程

本申请涉及计算机技术领域,更具体地说,涉及一种ssh后门账号检测方法、装置及一种电子设备和一种计算机可读存储介质。



背景技术:

ssh(secureshell,安全外壳协议),指专为远程登录会话和其他网络服务提供安全性的协议。在linux系统中,通常会使用ssh协议来进行远程登录管理,是攻击者安插后门的重点对象,因此经常需要对其后门账号的情况进行核查。当前大部分核查方式都采用对ssh服务进行的逆向分析或者运行时的调用分析,通过判断服务进程是否被修改来核查是否被攻击者安插了后门账号。然而,这种方式可能会有所遗漏,导致账号检测不够全面,对系统的安全性造成威胁。



技术实现要素:

本申请的目的在于提供一种ssh后门账号检测方法、装置及一种电子设备和一种计算机可读存储介质,能够弥补其他检测方式的检测遗漏,使账号检测更加全面,进一步提高了系统的安全性。

为实现上述目的,本申请提供了一种ssh后门账号检测方法,包括:

获取ssh配置文件;

对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

根据所述认证方式检测是否存在预先配置的ssh后门账号;

对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号。

可选的,所述根据所述认证方式检测是否存在预先配置的ssh后门账号,包括:

若所述认证方式为口令认证方式,则在用于配置用户属性的文件中查找所有允许登录的第一类配置账号;

在用于配置账号密码的文件中查找所述第一类配置账号对应的账号密码;

若所述账号密码非空,则将所述第一类配置账号确定为预先配置的ssh后门账号。

可选的,所述根据所述认证方式检测是否存在预先配置的ssh后门账号,包括:

若所述认证方式为pam认证方式和口令认证方式的组合,则获取pam配置文件中的认证配置信息;

判断所述认证配置信息中是否存在预设配置项;所述预设配置项为用于声明需要对账号进行认证的配置项;

如果是,则在用于配置用户属性的文件中查找所有允许登录的第二类配置账号;

在用于配置账号密码的文件中查找所述第二类配置账号对应的账号密码;

若所述账号密码非空,则将对应的所述第二类配置账号确定为预先配置的ssh后门账号。

可选的,所述对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号,包括:

获取已知的通过口令登录的第一类ssh合法账号;

对所述第一类ssh合法账号和检测得到的所有所述ssh后门账号进行匹配,识别所有所述ssh后门账号中的非法账号。

可选的,所述根据所述认证方式检测是否存在预先配置的ssh后门账号,包括:

若所述认证方式为密钥认证方式,则在操作系统所有用户目录下查找ssh目录;

判断所述ssh目录中是否存在非空的公钥文件;

如果是,则将当前所述ssh目录所属的用户账号确定为预先配置的ssh后门账号。

可选的,所述对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号,包括:

获取已知的通过密钥登录的第二类ssh合法账号;

对所述第二类ssh合法账号和检测得到的所有所述ssh后门账号进行匹配,识别所有所述ssh后门账号中的非法账号。

可选的,所述对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号之后,还包括:

将所有所述非法账号输出至预先创建的非法账号文件中,以便基于所述非法账号文件对ssh后门账号进行管理。

为实现上述目的,本申请提供了一种ssh后门账号检测装置,包括:

文件获取模块,用于获取ssh配置文件;

认证确定模块,用于对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

账号检测模块,用于根据所述认证方式检测是否存在预先配置的ssh后门账号;

账号识别模块,用于对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述公开的任一种所述ssh后门账号检测方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种所述ssh后门账号检测方法的步骤。

通过以上方案可知,本申请提供的一种ssh后门账号检测方法,包括:获取ssh配置文件;对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;根据所述认证方式检测是否存在预先配置的ssh后门账号;对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号。由上可知,本申请在通过获取ssh配置文件并对其进行解析,根据具体启用的认证方式检测是否存在预先配置的ssh后门账号,进而可识别上述ssh后门账号中是否存在非法账号,即通过合法配置安插的ssh后门账号,通过这种方式能够弥补其他检测方式的检测遗漏,使账号检测更加全面,进一步提高了系统的安全性。

本申请还公开了一种ssh后门账号检测装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种ssh后门账号检测方法的流程图;

图2为本申请实施例公开的ssh后门账号检测方法的一种具体实施方式的流程图;

图3为本申请实施例公开的ssh后门账号检测方法的另一种具体实施方式的流程图;

图4为本申请实施例公开的ssh后门账号检测方法的又一种具体实施方式的流程图;

图5为本申请实施例公开的一种具体的ssh后门账号检测方法的流程图;

图6为本申请实施例公开的一种ssh后门账号检测装置的结构图;

图7为本申请实施例公开的一种电子设备的结构图;

图8为本申请实施例公开的另一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在现有技术中,大部分核查方式都采用对ssh服务进行的逆向分析或者运行时的调用分析,通过判断服务进程是否被修改来核查是否被攻击者安插了后门账号。然而,这种方式可能会有所遗漏,导致账号检测不够全面,对系统的安全性造成威胁。

因此,本申请实施例公开了一种ssh后门账号检测方法,能够弥补其他检测方式的检测遗漏,使账号检测更加全面,进一步提高了系统的安全性。

参见图1所示,本申请实施例公开的一种ssh后门账号检测方法包括:

s101:获取ssh配置文件;

本申请实施例中,首先获取ssh配置文件。具体地,ssh是一种网络协议,用于计算机之间的加密登录。ssh配置文件可具体用于设定ssh使用的端口、是否允许使用口令验证、是否允许使用rsa算法进行安全验证等。

s102:对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

在本步骤中,可以通过对上述ssh配置文件进行解析来确定启用的认证方式。需要说明的是,从客户端来看,ssh协议可提供两种级别的安全认证。第一种为基于口令的安全认证,即只要知道账号和口令,即可登录到远程主机。第一种为基于密钥的安全认证,即需要依靠密钥,用户需要自己创建一对密钥,并将公用密钥存放在需要访问的服务器上,若需要连接ssh服务器,用户通过客户端软件会向服务器发出请求,服务器在接收到请求之后,现在该服务器中当前用户的主目录下查找对应的公用密钥,并对该公用密钥和当前用户发送的公用密钥进行比较。若两个密钥一致,即可利用公用密钥进行加密并返回客户端软件,以便客户端软件利用私用密钥进行解密。

s103:根据所述认证方式检测是否存在预先配置的ssh后门账号;

具体地,可以根据当前ssh配置文件启用的认证方式检测是否存在预先配置的ssh后门账号,即如果认证方式为基于口令的安全认证,则检测是否存在基于口令登录的ssh后门账号;如果认证方式为基于密钥的安全认证,则检测是否存在基于密钥的ssh后门账号。

s104:对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号。

可以理解的是,在检测到所有预先配置的ssh后门账号之后,可以对其进行识别,判别得到其中的合法账号和非法账号。在具体实施中,可以通过对所有预先配置的ssh后门账号和合法账号进行匹配,将匹配成功的账号确定为合法账号,匹配失败的账号确定为非法账号。

作为一种可选的实施方式,本申请实施例在对检测得到的所有ssh后门账号进行识别,得到其中的非法账号之后,可以将识别得到的所有非法账号输出至预先创建的非法账号文件中,以便管理员基于该非法账号文件对ssh后门账号进行管理,如采用直接删除非法账号或对其进行拦截等措施避免非法账号登录。

通过以上方案可知,本申请提供的一种ssh后门账号检测方法,包括:获取ssh配置文件;对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;根据所述认证方式检测是否存在预先配置的ssh后门账号;对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号。由上可知,本申请在通过获取ssh配置文件并对其进行解析,根据具体启用的认证方式检测是否存在预先配置的ssh后门账号,进而可识别上述ssh后门账号中是否存在非法账号,即通过合法配置安插的ssh后门账号,通过这种方式能够弥补其他检测方式的检测遗漏,使账号检测更加全面,进一步提高了系统的安全性。

本申请实施例公开了ssh后门账号检测方法的一种具体实施方式,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:

s201:获取ssh配置文件;

s202:对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

s203:若所述认证方式为口令认证方式,则在用于配置用户属性的文件中查找所有允许登录的第一类配置账号;

s204:在用于配置账号密码的文件中查找所述第一类配置账号对应的账号密码;

s205:若所述账号密码非空,则将所述第一类配置账号确定为预先配置的ssh后门账号;

本申请实施例中,若ssh配置文件启用的认证方式为口令认证方式,则首先获取用于配置用户属性的文件,并在该文件中查找所有允许登录的第一类配置账号。进而获取用于配置账号密码的文件,根据第一类配置账号的账号名称在密码文件中查找对应设置的账号密码。若账号密码为空,则表征该账号未进行配置,无需进一步检测;若账号密码非空,则表征该账号为经过配置的账号,将其确定为第一类配置账号,并可进一步输出至口令账号文件中。

s206:获取已知的通过口令登录的第一类ssh合法账号;

s207:对所述第一类ssh合法账号和检测得到的所有所述ssh后门账号进行匹配,识别所有所述ssh后门账号中的非法账号。

可以理解的是,本申请实施例可获取已知的通过口令登录的第一类ssh合法账号,并通过对第一类ssh合法账号和口令账号文件中的所有ssh后门账号进行匹配,识别得到未能匹配成功的ssh后门账号,即基于合法配置的非法账号。

本申请实施例公开了ssh后门账号检测方法的另一种具体实施方式,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体的:

s301:获取ssh配置文件;

s302:对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

s303:若所述认证方式为pam认证方式和口令认证方式的组合,则获取pam配置文件中的认证配置信息;

s304:判断所述认证配置信息中是否存在预设配置项;所述预设配置项为用于声明需要对账号进行认证的配置项;如果是,则进入步骤s305;

s305:在用于配置用户属性的文件中查找所有允许登录的第二类配置账号;

s306:在用于配置账号密码的文件中查找所述第二类配置账号对应的账号密码;

s307:若所述账号密码非空,则将对应的所述第二类配置账号确定为预先配置的ssh后门账号;

本申请实施例中,若ssh配置文件启用的认证方式为pam认证方式和口令认证方式的组合,则首先获取pam配置文件,并读取其中的认证配置信息。通过对认证配置信息进行解析,识别其中是否包含预设配置项。其中,预设配置项具体用于声明需要对账号进行认证。若包含预设配置项,则进一步获取用于配置用户属性的文件以及用于配置账号密码的文件,并在配置用户属性的文件中查找所有允许登录的第二类配置账号,根据第二类配置账号的账号名称在配置账号密码的文件中获取对应的账号密码。若账号密码为空,则表征该账号未进行配置,无需进一步检测;若账号密码非空,则表征该账号为经过配置的账号,将其确定为第二类配置账号,并可将其输出至口令账号文件中。

s308:获取已知的通过口令登录的第一类ssh合法账号;

s309:对所述第一类ssh合法账号和检测得到的所有所述ssh后门账号进行匹配,识别所有所述ssh后门账号中的非法账号。

具体地,本申请实施例获取已知的通过口令登录的第一类ssh合法账号,进而对第一类ssh合法账号和口令账号文件中的所有ssh后门账号进行匹配,以识别未能匹配成功的ssh后门账号,得到基于合法配置的非法账号。

本申请实施例公开了ssh后门账号检测方法的又一种具体实施方式,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图4所示,具体的:

s401:获取ssh配置文件;

s402:对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

s403:若所述认证方式为密钥认证方式,则在操作系统所有用户目录下查找ssh目录;

s404:判断所述ssh目录中是否存在非空的公钥文件;如果是,则进入步骤s405;

s405:将当前所述ssh目录所属的用户账号确定为预先配置的ssh后门账号;

本申请实施例中,若ssh配置文件启用的认证方式为密钥认证方式,则在当前操作系统的所有用户目录下查找ssh目录,并查看其中是否存在公钥文件且该公钥文件非空,如果是,则表征当前ssh目录所属的用户账号为预先通过配置的ssh后门账号,可将当前ssh目录的上级目录名称输出到密钥账号文件中。

s406:获取已知的通过密钥登录的第二类ssh合法账号;

s407:对所述第二类ssh合法账号和检测得到的所有所述ssh后门账号进行匹配,识别所有所述ssh后门账号中的非法账号。

需要说明的是,本申请实施例可以首先获取已知的通过密钥登录的第二类ssh合法账号,并通过对第二类ssh合法账号和密钥账号文件中的所有ssh后门账号进行匹配,识别未能匹配成功的ssh后门账号,即基于合法配置的非法账号。

下面通过具体实施场景下的实例对本申请实施例提供的ssh后门账号检测方法进行介绍。参见图5所示,具体地,首先查找/etc/ssh/sshd_config文件,即ssh配置文件,对其进行解析,查看下述三个条件是否成立。其中,条件a为“有usepamyes行且开头无#号”,即启用了pam认证方式;条件b为“有passwordauthenticationno行且开头无#号”,即未启用口令认证方式;条件c为“有rsaauthenticationno行且开头无#号”或“有pubkeyauthenticationno行且开头无#号”,即未启用密钥认证方式。

若条件b不成立且条件a不成立,即启用了口令认证方式、未启用pam认证方式,则查找/etc/passwd文件中所有非/bin/false和/sbin/nologin行的用户,其中,/etc/passwd文件为保存系统中所有的用户和用户的主要信息的文件,定义了用户及用户属性,/bin/false和/sbin/nologin行定义了禁止登录的用户,本申请实施例通过查找该文件中所有非禁止登录用户,即所有允许登录的用户。进而在/etc/shadow文件中查找对应用户的密码字段是否为空,如果为空则表示不存在问题,否则将用户名输出到结果文件x中。其中,/etc/shadow文件可称为影子文件,具体用于存储linux系统中用户的密码信息,与/etc/passwd文件对应。由于/etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此linux系统将用户的密码信息从/etc/passwd文件中分离出来,并单独存放在/etc/shadow文件中;结果文件x为用于保存口令账号结果的文件。

若条件b不成立且条件a成立,即同时启用了口令认证方式和pam认证方式,则首先查找/etc/pam.d/sshd文件,查找其中包含字符串“auth”的行项,如果其中存在pam_unix.so项,则进一步查找/etc/passwd文件中所有非/bin/false和/sbin/nologin行的用户,并在/etc/shadow文件中查找对应用户的密码字段是否为空,如果为空则表示不存在问题,否则将用户名输出到结果文件x中。具体地,上述/etc/pam.d/sshd文件为pam配置文件;查找其中包含字符串“auth”的行项即为查找针对认证的配置信息;pam_unix.so项具体用于声明账号需要进行认证才可登录。需要说明的是,如果不存在pam_unix.so项,则进一步判断条件c是否成立。

若条件b成立且条件c不成立,即只启用了密钥认证方式,则在/root目录下查找.ssh目录、在/home目录所有子目录下查找.ssh目录,即在操作系统所有用户目录下查找.ssh目录,进而查看.ssh目录中是否存在authorized_keys文件且不为空,authorized_keys文件为公钥文件。若存在不为空的公钥文件,则将.ssh上级目录名称输出到结果文件y中。其中,结果文件y为用于保存密钥账号结果的文件。

另外,若条件b不成立且条件a不成立,在输出结果文件x之后,将进一步判断条件c是否成立。如果是,则直接对结果文件x中的账号进行识别验证;如果否,则进入在密钥认证方式启用时查找预先配置的密钥账号的工作流程,即查找非空公钥文件的过程。

进一步地,通过查看结果文件x中的用户名是否为已知ssh允许的通过口令登录的用户名,查看结果文件y中的用户名是否为已知ssh允许的通过密钥登录的用户名,如果否,则认为是预先通过配置添加了非法的后门账号。

下面对本申请实施例提供的一种ssh后门账号检测装置进行介绍,下文描述的一种ssh后门账号检测装置与上文描述的一种ssh后门账号检测方法可以相互参照。

参见图6所示,本申请实施例提供的一种ssh后门账号检测装置包括:

文件获取模块501,用于获取ssh配置文件;

认证确定模块502,用于对所述ssh配置文件进行解析,确定所述ssh配置文件启用的认证方式;

账号检测模块503,用于根据所述认证方式检测是否存在预先配置的ssh后门账号;

账号识别模块504,用于对检测得到的所有所述ssh后门账号进行识别,得到所有所述ssh后门账号中的非法账号。

关于上述模块501至504的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。

本申请还提供了一种电子设备,参见图7所示,本申请实施例提供的一种电子设备包括:

存储器100,用于存储计算机程序;

处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。

具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的ssh后门账号检测方法的步骤。

在上述实施例的基础上,作为优选实施方式,参见图8所示,所述电子设备还包括:

输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。

显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。

网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。

图8仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图8示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

本申请还提供了一种计算机可读存储介质,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的ssh后门账号检测方法的步骤。

本申请在通过获取ssh配置文件并对其进行解析,根据具体启用的认证方式检测是否存在预先配置的ssh后门账号,进而可识别上述ssh后门账号中是否存在非法账号,即通过合法配置安插的ssh后门账号,通过这种方式能够弥补其他检测方式的检测遗漏,使账号检测更加全面,进一步提高了系统的安全性。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1