File: //opt/BCLinux/bse/README
## BC-Linux系统安全检测和配置工具(BSE)
>该工具为BC-Linux 6 & 7 & 8 系统提供深度安全扫描,致力于安全检测、系统加固、漏洞监测,同时检测一些系统配置、远程注入漏洞和软件包漏洞,以GPLv3协议开源并提供stable版本的spec文件以制作rpm包。
### 工具名称
**BCLinux-Secure-Enhancement** :BCLinux系统安全检测和配置工具
### 使用语法
bse <run mode> [other options]
### 描述
BCLinux-Secure-Enhancement(bse)主要是针对 BC-Linux7 & 8系统开发的安全检查工具(BC-Linux6系列后续将会支持)。 它主要负责检查**系统安全配置**、**软件包安全漏洞**和系统关键文件的安全性等,以确认是否BC-Linux系统在安全防御方面是否存在问题,或是否有更进一步的提升空间。
`bse`运行时会将所有的检测信息都存储在单独的日志文件中(`/var/log/bclinux.log`),用户可以通过日志文件来比较审计之间的差异。同时,`bse`它可以通过命令行交互式运行或作为`cronjob`运行。
另外,`bse`可以在特权和非特权这两种模式下运行,在特权模式下,其可以提供全部的功能支持,最终输出详细的检测信息。非特权模式下,bse运行受限,仅会执行很少部分的功能。*我们建议用户以特权身份来执行bse,以获取更好的用户体验*。
### bse的工作使命:
- 系统安全配置检查
- 软件包安全漏洞检测
- 系统关键文件夹和文件的检查
- 生成命令行、html格式的检测报告
### 安装bse
BC-Linux8 系统可以通过yum命令一键安装:
yum install bclinux-secure-enhancement
### 首次使用
如果用户首次使用bse,建议运行如下命令更新本地安全漏洞数据库(如果不执行,将会使用bse自带的漏洞库):
bse update database
### 配置说明:
bse在运行时提供普通和高级这两种模式,绝大部分情况下,我们只需要使用普通模式就可以满足需求。高级模式具备的功能一般会影响到用户的使用、业务的运行等,如果明确了解了这些影响之后,用户仍然想使用高级模式,则需要确认并修改如下的配置文件:
/etc/bse.conf
或
/opt/BCLinux/bse/default.prf
或
/etc/bclinux/default.prf
配置文件主要中包含了要加固的所有加固项的配置信息,每项配置均有一个开关,示例如下:
#配置密码复杂度
set_passComplex=yes|no #开关量,决定是否进行密码复杂度加固,如果为`no`表示不进行密码复杂度加固
minclass=4 #密码混合种类不低于4种
minlen=8 #长度不小于8位
ucredit=-1 #大写字母至少一个
lcredit=-1 #小写字母至少一个
dcredit=-1 #数字至少一个
ocredit=-1 #特殊字符至少一个
### 运行界面
用户可以在命令行终端,直接输入`bse`并回车,将会出现命令参数提示信息,具体如下:

### 命令详细解释
##### auto
自动运行bse check basic命令检测系统,检测完成之后再采用bse fix basic命令修复系统基线漏洞,整个过程无需用户干涉
##### check \<TYPES>
`check`命令用于执行对系统的**检测**操作,它会根据`TYPES`参数的不同执行不同的检测模式。`TYPES`取值为: [basic|adv]
*如果你不确定应该使用哪种模式,请永远选择`basic`模式*
check basic
以通用方式运行系统检测功能,此是check命令最通用、且最常用的功能,并不会影响到业务的运行
check adv|advance
以高级方式运行系统检测功能,此功能仅检测是否禁止了root登录、是否配置了IP过滤等功能,考虑到这些安全线配置后会影响业务,因此一般不会对这些安全项作要求。
##### fix \<TYPES>
`fix`命令用于执行对系统的安全配置项**加固**操作,它会根据`TYPES`参数的不同执行不同的加固模式。`TYPES`取值为: [basic|adv]
*如果你不确定应该使用哪种模式,请永远选择`basic`模式*
fix basic
以通用方式运行系统安全漏洞修复功能,此功能会将check basic运行后生成的不安全的项进行修复,修复后并不会影响到业务的运行
fix adv|advance
以高级方式运行系统安全漏洞修复功能,此功能会将check adv运行后生成的不安全的项均进行修复,如禁止root登录、设置IP过滤、创建新用户等功能,并不通用
##### restore \<TYPES>
`restore`命令用于执行对系统的安全配置项的**还原**操作,它会根据`TYPES`参数的不同执行不同的还原模式。`TYPES`取值为: [basic|adv]
*警告:执行此命令会将用户或应用程序的配置覆盖,很有可能造成上层应用运行异常等问题,因此,请谨慎执行,一般情况下不建议执行此操作*
*如果你不确定应该使用哪种模式,请永远选择`basic`模式*
restore basic
以通用方式运行加固操作还原功能,此会将`fix basic`执行的相关配置给还原
restore adv|advance
以高级方式运行加固操作还原功能,此会将`fix adv`执行的相关配置给还原
##### update \<TYPES>
`update`命令用于执行对系统的软件更新检测、漏洞数据库的更新操作。它会根据`TYPES`参数的不同执行不同的检测模式。`TYPES`取值为: [info|database]
update info
运行此命令,bse会立即检测当前系统软件包的版本是否需要更新,并将结果反馈给用户,但并不会主动更新软件包
update database
运行此命令,bse会更新本地系统安全漏洞数据库,以便为bse check命令提供最新的安全漏洞数据库。
### 选项说明
指定日志文件:
--logfile </path/to/logfile>
使用自定义的文件存放bse运行日志,而不适用bse默认的/var/log/bclinux/bclinux.log文件
关闭命令行消息颜色:
--no-colors
关闭命令行输出信息的字体颜色设置,采用系统模式值
禁止输出log:
--no-log
将bse运行时产生的信息全部转到/dev/null设备中,使用此参数,bse运行是只会在命令行输出相关的信息,但不会有运行信息写入到磁盘文件中。使用此参数后,也会影响bse的系统安全状态统计信息的输出,因为此功能依赖于本地日志文件。
禁止命令行打印运行信息:
--quiet (-q)
bse运行时不会产生绝大部分的日志信息到终端
取消淡色系颜色:
--reverse-colors
当终端为亮色时,为了使运行日志更易于阅读,可以使用此参数,取消一些亮色系字体颜色的设置
bse运行时允许多个参数,但一些参数只能与其他参数一起使用。 当bse运行时没有给其任何参数,其默认将显示帮助,并退出。
### 帮助信息
bse 会针对不同的命令提供不同的帮助提示信息,如下:
运行`bse check`,将会输出针对check命令的相关参数提示信息
运行`bse fix`,将会输出针对fix命令的相关参数提示信息
运行`bse update`,将会输出针对update命令的相关参数提示信息
### 退出参数
bse在运行时,如果遇到异常,将会根据异常的不同类型使用不同的退出码,当前bse使用的退出码如下:
0 bse运行正常
1 Fatal error
64 输入参数错误
65 遇到不正确的数据
66 无法打开相关的文件或文件夹
### 运行结果示意
##### 系统安全配置漏洞

##### 系统软件安全漏洞

##### 总体结果

### BUGS
如果在使用过程中遇到bug,用户可以将相关讯息提交到GitHub,帮助我们改进,地址为 https://github.com/BCLinux/sys-scan-fix-tool/
### 相关文件
目前我们在github上开放了相关的文件:https://github.com/BCLinux/sys-scan-fix-tool/
### 证书
BCLinux-Secure-Enhancement 使用 GPL v3 协议.
### 联系我们
如果用户想要寻求相关的技术支持,可以邮件我们,e-mail: admin@bclinux.org.