CN111291380A - 一种命令行加固方法、系统、终端及存储介质 - Google Patents

一种命令行加固方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN111291380A
CN111291380A CN202010038032.6A CN202010038032A CN111291380A CN 111291380 A CN111291380 A CN 111291380A CN 202010038032 A CN202010038032 A CN 202010038032A CN 111291380 A CN111291380 A CN 111291380A
Authority
CN
China
Prior art keywords
command
necessary
user input
user
command line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202010038032.6A
Other languages
English (en)
Inventor
刘雁鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010038032.6A priority Critical patent/CN111291380A/zh
Publication of CN111291380A publication Critical patent/CN111291380A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种命令行加固方法、系统、终端及存储介质,包括:采集系统运维使用的必需命令;判断所述必需命令是否需要对本地数据进行读写:若是,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;若否,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。本发明能够实现对linux命令行的安全加固,减轻linux口令泄露或被暴力破解时造成的安全风险。

Description

一种命令行加固方法、系统、终端及存储介质
技术领域
本发明涉及服务器技术领域,具体涉及一种命令行加固方法、系统、终端及存储介质。
背景技术
对linux系统进行实际攻击或渗透测试场景中,经常会通过对SSH服务进行暴力破解或者社会工程学等方法来获取操作系统命令行权限,或者通过登录SSH后进行漏洞扫描以发现系统中的潜在问题并加以利用。当前常见的解决方法是禁用SSH服务、裁剪Linux系统等,但存在影响正常运维使用、修改工作量大等问题。
发明内容
针对现有技术的上述不足,本发明提供一种命令行加固方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种命令行加固方法,包括:
采集系统运维使用的必需命令;
判断所述必需命令是否需要对本地数据进行读写:
若是,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;
若否,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
进一步的,所述对所述必需命令的用户输入参数进行命令注入漏洞过滤,包括:
判断所述用户输入参数是否包括系统命令特殊字符:
若是,则输出错误提示;
若否,则调用所述必需命令。
进一步的,所述方法还包括:
通过修改用户文件中的默认访问命令行启动对登录用户的命令行加固。
第二方面,本发明提供一种命令行加固系统,包括:
命令梳理单元,配置用于采集系统运维使用的必需命令;
命令判断单元,配置用于判断所述必需命令是否需要对本地数据进行读写;
命令修改单元,配置用于若所述必需命令需要对本地数据进行读写,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;
漏洞过滤单元,配置用于若所述必需命令不需要对本地数据进行读写,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
进一步的,所述漏洞过滤单元包括:
字符判断模块,配置用于判断所述用户输入参数是否包括系统命令特殊字符;
错误输出模块,配置用于若所述用户输入参数包括系统命令特殊字符,则输出错误提示;
命令调用模块,配置用于若所述用户输入参数不包括系统命令特殊字符,则输出错误提示,则调用所述必需命令。
进一步的,所述系统还包括:
加固自启单元,配置用于通过修改用户文件中的默认访问命令行启动对登录用户的命令行加固。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的命令行加固方法、系统、终端及存储介质,通过对系统运维使用的必需命令进行梳理,将需要读写本地数据的必需命令进行自定义封装,将无需读写本地数据的必需命令的用户输入参数进行命令注入漏洞过滤,然后设置用户登录时的/bin/bash命令行为自定义命令行程序,来实现对linux命令行的安全加固,减轻linux口令泄露或被暴力破解时造成的安全风险。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种命令行加固系统。
如图1所示,该方法100包括:
步骤110,采集系统运维使用的必需命令;
步骤120,判断所述必需命令是否需要对本地数据进行读写:
步骤130,若是,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;
步骤140,若否,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
为了便于对本发明的理解,下面以本发明命令行加固方法的原理,结合实施例中对命令行进行安全加固的过程,对本发明提供的命令行加固方法做进一步的描述。
具体的,所述命令行加固方法包括:
S1、采集系统运维使用的必需命令。
梳理确定操作系统(或操作系统镜像文件)运维使用的必需命令,必需命令有多个。
S2、判断所述必需命令是否需要对本地数据进行读写:若是,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;若否,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
逐一排查步骤S1中采集的所有必需命令,必需命令中如有会造成文件或目录读写的命令,则进行自定义封装去除用户自由入参;将不需要读取文件或目录必需命令进行用户输入参数进行命令注入漏洞过滤,具体过滤方法为:如必需命令的用户输入参数中包含linux命令特殊字符(如:#;|&/\‘*?~%${}^[]()!.,)则报错;若用户输入参数中不包含linux命令特殊字符,则不对该必需命令做特殊处理,直接调用即可。
上述命令行加固方法写成命令行加固程序执行,将命令行加固程序放入/bin目录中,设置其访问权限为755(系统所有者具有访问权限)。
修改/etc/passwd(用户文件)中所有行的“/bin/bash”字符串(默认命令行)为自定义安全命令行程序,实现用户登录后自动启动命令行加固程序。
如图2示,该系统200包括:
命令梳理单元210,配置用于采集系统运维使用的必需命令;
命令判断单元220,配置用于判断所述必需命令是否需要对本地数据进行读写;
命令修改单元230,配置用于若所述必需命令需要对本地数据进行读写,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;
漏洞过滤单元240,配置用于若所述必需命令不需要对本地数据进行读写,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
可选地,作为本发明一个实施例,所述漏洞过滤单元包括:
字符判断模块,配置用于判断所述用户输入参数是否包括系统命令特殊字符;
错误输出模块,配置用于若所述用户输入参数包括系统命令特殊字符,则输出错误提示;
命令调用模块,配置用于若所述用户输入参数不包括系统命令特殊字符,则输出错误提示,则调用所述必需命令。
可选地,作为本发明一个实施例,所述系统还包括:
加固自启单元,配置用于通过修改用户文件中的默认访问命令行启动对登录用户的命令行加固。
图3为本发明实施例提供的一种终端系统300的结构示意图,该终端系统300可以用于执行本发明实施例提供的命令行加固方法。
其中,该终端系统300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过对系统运维使用的必需命令进行梳理,将需要读写本地数据的必需命令进行自定义封装,将无需读写本地数据的必需命令的用户输入参数进行命令注入漏洞过滤,然后设置用户登录时的/bin/bash命令行为自定义命令行程序,来实现对linux命令行的安全加固,减轻linux口令泄露或被暴力破解时造成的安全风险,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种命令行加固方法,其特征在于,包括:
采集系统运维使用的必需命令;
判断所述必需命令是否需要对本地数据进行读写:
若是,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;
若否,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
2.根据权利要求1所述的方法,其特征在于,所述对所述必需命令的用户输入参数进行命令注入漏洞过滤,包括:
判断所述用户输入参数是否包括系统命令特殊字符:
若是,则输出错误提示;
若否,则调用所述必需命令。
3.根据权利要求1所述的命令行加固方法,其特征在于,所述方法还包括:
通过修改用户文件中的默认访问命令行启动对登录用户的命令行加固。
4.一种命令行加固系统,其特征在于,包括:
命令梳理单元,配置用于采集系统运维使用的必需命令;
命令判断单元,配置用于判断所述必需命令是否需要对本地数据进行读写;
命令修改单元,配置用于若所述必需命令需要对本地数据进行读写,则通过对所述必需命令进行自定义封装去除所述必需命令的用户自由入参;
漏洞过滤单元,配置用于若所述必需命令不需要对本地数据进行读写,则对所述必需命令的用户输入参数进行命令注入漏洞过滤。
5.根据权利要求4所述的系统,其特征在于,所述漏洞过滤单元包括:
字符判断模块,配置用于判断所述用户输入参数是否包括系统命令特殊字符;
错误输出模块,配置用于若所述用户输入参数包括系统命令特殊字符,则输出错误提示;
命令调用模块,配置用于若所述用户输入参数不包括系统命令特殊字符,则输出错误提示,则调用所述必需命令。
6.根据权利要求4所述的系统,其特征在于,所述系统还包括:
加固自启单元,配置用于通过修改用户文件中的默认访问命令行启动对登录用户的命令行加固。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
CN202010038032.6A 2020-01-14 2020-01-14 一种命令行加固方法、系统、终端及存储介质 Withdrawn CN111291380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010038032.6A CN111291380A (zh) 2020-01-14 2020-01-14 一种命令行加固方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010038032.6A CN111291380A (zh) 2020-01-14 2020-01-14 一种命令行加固方法、系统、终端及存储介质

Publications (1)

Publication Number Publication Date
CN111291380A true CN111291380A (zh) 2020-06-16

Family

ID=71028339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010038032.6A Withdrawn CN111291380A (zh) 2020-01-14 2020-01-14 一种命令行加固方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN111291380A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181801A (zh) * 2020-08-20 2021-01-05 苏州浪潮智能科技有限公司 一种检测封装安全性的方法、系统、设备以及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181801A (zh) * 2020-08-20 2021-01-05 苏州浪潮智能科技有限公司 一种检测封装安全性的方法、系统、设备以及介质
CN112181801B (zh) * 2020-08-20 2022-06-14 苏州浪潮智能科技有限公司 一种检测封装安全性的方法、系统、设备以及介质

Similar Documents

Publication Publication Date Title
CN112256558B (zh) 一种测试用例的生成方法、装置、计算机设备及存储介质
CN111159691A (zh) 一种应用程序动态可信验证方法及系统
CN111131221A (zh) 接口校验的装置、方法及存储介质
CN108418787A (zh) 企业资源计划数据的采集方法、终端设备及介质
CN110674109A (zh) 数据导入方法、系统、计算机设备及计算机可读存储介质
CN112738094B (zh) 可扩展的网络安全漏洞监测方法、系统、终端及存储介质
CN111914250B (zh) 一种Linux系统脚本程序运行时验证与管控方法
CN111988302A (zh) 一种检测反弹程序的方法、系统、终端及存储介质
CN111291380A (zh) 一种命令行加固方法、系统、终端及存储介质
CN112052141B (zh) 数据分片校验方法、装置、计算机设备及可读存储介质
CN102436567B (zh) 信息处理装置及密码诊断方法
CN109992420B (zh) 一种并行pcie-ssd性能优化方法及系统
CN112835639A (zh) 一种Hook实现方法、装置、设备、介质及产品
CN116610336A (zh) 一种固件升级方法、系统、装置及可读存储介质
CN111475335A (zh) 一种数据库快速恢复的方法、系统、终端及存储介质
CN109582454A (zh) 一种分布式存储集群中的权限释放控制方法、装置及设备
CN110703988B (zh) 一种分布式存储的存储池创建方法、系统、终端及存储介质
CN109739565B (zh) 一种保证Bootrom正常运行的方法、装置、计算机设备及存储介质
CN109920466B (zh) 一种硬盘测试数据解析方法、装置、终端及存储介质
CN114157662A (zh) 一种云平台参数适配方法、装置、终端设备及储存介质
CN111966286A (zh) 一种多数据池分级迁移的方法及系统
CN110995526A (zh) 一种数据库资源隔离测试方法、系统、终端及存储介质
CN111143193A (zh) 基于RobotFramework的大数据服务测试方法、系统、终端及存储介质
CN111240990A (zh) 一种ismcli命令行测试方法、系统、终端及存储介质
CN112202730B (zh) 一种基于黑名单的访问控制方法、系统、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20200616

WW01 Invention patent application withdrawn after publication