Euler Guardian: 为openEuler社区开发的Linux操作系统通用风险评估工具
gitee 地址: https://gitee.com/openeuler-competition/summer2021-110
首先,在使用前进行配置。
当您仅使用应急响应模块时,本配置并不必要。
chmod +x config.sh
su
./config.sh
当您不使用邮件预警通知用户时,本配置并不必要。
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 |
初始化CSS来自:
https://necolas.github.io/normalize.css/8.0.1/normalize.css
本模块需以root权限运行。运行完成后将生成报告。
Usage:
-h help
-f sender email addr
-t receiver email addr
报告分为四部分:
检查current id, 判断是否有root权限
检查SetUID
检查是否有之前检查留下的文件s.txt,若有,则删除
检查系统信息。
检查用户信息。
口令配置(时效+复杂度)
1.口令有效期 PASS_MAX_DAYS
2.距上次更改口令后,最短多长时间可以再次更改 PASS_MIN_DAYS
3.口令最小长度 PASS_MIN_LEN
4.口令到期前多少天通知 PASS_WARN_AGE
5.口令已使用的时间
(to do)
2种计算方式
对于CentOS系,利用changechange -l [user]
/etc/shadow
https://blog.csdn.net/xiezuoyong/article/details/49890695
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.空口令用户检查
查找系统中所有含s权限的文件。
查找无属组的777权限文件。
查找孤儿文件。
检查加载到内核的不常见module
Linux Auditing System
对于CentOS系:需要audit, audit-libs
对于debian系:需要auditd
对于openEuler的安全加固(to do)
文档:
利用OVAL和oscap,根据软件包版本检查是否存在CVE漏洞和安全配置。
基线库来自:
https://github.com/ComplianceAsCode/content
https://oval.cisecurity.org/repository/download
https://security-metadata.canonical.com
https://www.redhat.com/security/data/oval/v2/
发送邮件预警。
使用场景: Linux受到入侵后的自动化快速应急响应。
可以选择是否生成HTML报告。
生成报告为表格形式
基本检查
iptables防火墙规则
开放的TCP, UDP端口
init.d services
$PATH
敏感文件检查
tmpArr[]:
0 | 1 | 2 |
---|---|---|
Module | Size | Used by |
被改变的文件检查
tmpArr[]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
COMMAND | PID | USER | FD | TYPE | DEVICE | SIZE/OFF | NLINK | NODE | NAME |
检查7天之内,指定目录下ctime改变
进程检查
检查proc使用CPU的百分比是否多于n%
检查隐藏的process, 并按升序排序
检查history中wget
检查history中ssh
检查是否有ssh的root用户口令爆破
检查有root权限的用户是否为root
检查空口令用户
可登陆用户
所有用户的上次登录情况
root的crontab files检查
cron后门检查
基于文件的webshell检查, 支持php asp jsp
你可以在登录后,发表评论
仓库评论 ( 0 )