3 Star 3 Fork 1

openEuler-competition / Summer2021-No.110 操作系统安全漏洞扫描与报警项目

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

Summer2021-No.110 Euler Guardian 操作系统安全漏洞扫描与报警项目

Euler Guardian: 为openEuler社区开发的Linux操作系统通用风险评估工具

gitee 地址: https://gitee.com/openeuler-competition/summer2021-110

配置

首先,在使用前进行配置。

当您仅使用应急响应模块时,本配置并不必要。

  1. 运行 config.sh
chmod +x config.sh
su
./config.sh
  1. 配置 ssmtp

当您不使用邮件预警通知用户时,本配置并不必要。

vi /etc/ssmtp/ssmtp.conf # root privilidge is needed

依照以下示例,更改配置

root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=authcode
FromLineOverride=YES
UseTLS=YES

注意:在发送邮件时,发件人地址需与此处填写地址相同

配色

color info
blue process display
default information display
green normal
yellow low risk
red high risk
purple suggesion to repair

front end 前端

初始化CSS来自:

https://necolas.github.io/normalize.css/8.0.1/normalize.css

模块说明

local scan 本地扫描模块

本模块需以root权限运行。运行完成后将生成报告。

Usage:
	-h	 help
	-f	 sender email addr
	-t	 receiver email addr

报告分为四部分:

  1. 扫描结果汇总,表格形式,点击超链接跳转查看详细信息

LS-index

  1. 详细信息报告。所有扫描结果的详细信息。(有锚点)

LS-report

  1. Secure configuration 报告

LS-SSG

  1. CVE 报告

LS-OVAL

PreOp 预操作

  1. 检查current id, 判断是否有root权限

  2. 检查SetUID

  3. 检查是否有之前检查留下的文件s.txt,若有,则删除

SysInfoChk 系统信息检查

检查系统信息。

SecCheck 安全策略检查

  1. 检查是否开启了SELinux
  2. 检查资源的限制情况

LS-sys

UserInfoChk 用户信息检查

检查用户信息。

LS-user

  1. 检查hostname
  2. id
  3. 检查口令是否以hash存储
  4. 检查上一次登录的用户。

UserIdenChk 用户身份检查

口令配置(时效+复杂度)

LS-UserIdenChk

1.口令有效期 PASS_MAX_DAYS

2.距上次更改口令后,最短多长时间可以再次更改 PASS_MIN_DAYS

3.口令最小长度 PASS_MIN_LEN

4.口令到期前多少天通知 PASS_WARN_AGE

5.口令已使用的时间

(to do)

2种计算方式

6.PAM的cracklib模块提供口令复杂度控制

auth类接口对用户身份进行识别认证

pam_env.so定义用户登录之后的环境变量

pam_unix.so提示用户输入口令,并与/etc/shadow进行对比

pam_succeed_if.so限制登录条件。在Linux系统中,一般系统用户的uid都在500之内,uid >= 500 quiet表示允许uid >= 500的用户登录,即使用useradd命令以及默认选项建立的普通用户直接由本地控制台登录系统。

pam_deny.so拒绝不匹配任何规则的登录

password接口确认用户使用的口令的合法性

|retry|difok|minlen|ucredit|lcredit|dcredit|dictpath| |---|---|---|---|---|---| |尝试次数|最少不同字符|最小口令长度|最少大写字母|最少小写字母|最少数字|密码字典路径|

7.空口令用户检查

FileChk 文件检查

LS-file

  1. 查找系统中所有含s权限的文件。

  2. 查找无属组的777权限文件。

  3. 查找孤儿文件。

  4. 检查加载到内核的不常见module

AuditChk 操作系统安全审计

Linux Auditing System

对于CentOS系:需要audit, audit-libs

对于debian系:需要auditd

对于openEuler的安全加固(to do)

文档:

https://docs.openeuler.org/zh/docs/20.03_LTS/docs/SecHarden/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8A%A0%E5%9B%BA%E6%A6%82%E8%BF%B0.html

https://docs.openeuler.org/zh/docs/20.03_LTS/docs/SecHarden/%E5%AE%89%E5%85%A8%E5%8A%A0%E5%9B%BA%E5%B7%A5%E5%85%B7.html

OVALChk 软件包版本漏洞检查

利用OVAL和oscap,根据软件包版本检查是否存在CVE漏洞和安全配置。

LS-SSG

基线库来自:

https://github.com/ComplianceAsCode/content

https://oval.cisecurity.org/repository/download

https://security-metadata.canonical.com

https://www.redhat.com/security/data/oval/v2/

SendEmail 邮件预警

发送邮件预警。

LS-SendEmail

LS-Succ

LS-Email

ER emergency response 应急响应模块

使用场景: Linux受到入侵后的自动化快速应急响应。

可以选择是否生成HTML报告。

ER-cli

生成报告为表格形式

ER-chart

BasicCheck

基本检查

ER-0

  1. iptables防火墙规则

  2. 开放的TCP, UDP端口

  • systemd-resolve systemd-resolve 是 Ubuntu 下 DNS 解析相关的命令,能使用它来操作 DNS 相关的功能。
  • avahi Zero configuration networking(zeroconf)零配置网络服务规范,是一种用于自动生成可用IP地址的网络技术,不需要额外的手动配置和专属的配置服务器。 Avahi 是Zeroconf规范的开源实现,常见使用在Linux上。包含了一整套多播DNS(multicastDNS)/DNS-SD网络服务的实现。
  1. init.d services

  2. $PATH

SensitiveFileCheck

敏感文件检查

ER-1

  1. 检查加载到内核的不常见module

tmpArr[]:

0 1 2
Module Size Used by

FilesChanged

被改变的文件检查

ER-2

  1. 文件打开,但是文件已被删除(除浏览器)

tmpArr[]

0 1 2 3 4 5 6 7 8 9
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
  1. 文件改变时间检查

检查7天之内,指定目录下ctime改变

  • atime: access time, 在读取文件或者执行文件时更改的
  • ctime: change time, 在写入文件、更改所有者、权限或链接设置时随Inode内容更改而更改
  • mtime:modify time, 写入文件时更改

ProcAnalyse

进程检查

ER-3

检查proc使用CPU的百分比是否多于n%

HiddenProc

检查隐藏的process, 并按升序排序

HistoryCheck

ER-4

  1. 检查history中wget

  2. 检查history中ssh

  3. 检查是否有ssh的root用户口令爆破

UserAnalyse

ER-5

  1. 检查有root权限的用户是否为root

  2. 检查空口令用户

  3. 可登陆用户

  4. 所有用户的上次登录情况

CronCheck

ER-6

  1. root的crontab files检查

  2. cron后门检查

WebshellCheck

ER-7

基于文件的webshell检查, 支持php asp jsp

Reference

  • Lynis
  • Vulmap
  • Nix Auditor
  • GScan
  • wooyun: Linux服务器应急事件溯源报告
  • 黑客入侵应急分析手工排查
  • 安恒: 勒索病毒应急与响应手册
  • 绿盟: 应急响应技术指南
  • 等保2.0: GBT25070-2019信息安全技术网络安全等级保护安全设计技术要求
  • Minimum Security Requirements for Multi-User Operating Systems
木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

https://gitee.com/openeuler-competition/summer-2021/issues/I3PRRT 展开 收起
Shell 等 3 种语言
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/openeuler-competition/summer2021-110.git
git@gitee.com:openeuler-competition/summer2021-110.git
openeuler-competition
summer2021-110
Summer2021-No.110 操作系统安全漏洞扫描与报警项目
master

搜索帮助