Linux服务器安全配置基线

基线要求:

安全类别

|

检查项

|

检查要求

|

检查步骤

|

备注

—|—|—|—|—

账户及口令安全

|

1.1 检查是否设置口令生存周期

|

应配置口令生存周期,密码最长使用期限应小于等于90天,密码最短使用期限应非0。

|

执行:cat /etc/login.defs,检查是否配置了以下参数。
PASS_MAX_DAYS 配置项决定密码最长使用期限;
PASS_MIN_DAYS 配置项决定密码最短使用期限;
要求:PASS_MAX_DAYS为小于等于90。
PASS_MIN_DAYS为非0。

|

针对程序帐号之类的不能完全使用上述策略的帐号口令应予以原因说明。

1.2 检查是否设置口令复杂度策略

|

最短密码长度8个字符,启用本机组策略中密码必须符合复杂性要求的策略。即密码至少包含以下四种类别的字符中的三种:
·英语大写字母 A, B, C, … Z
·英语小写字母 a, b, c, … z
·西方阿拉伯数字 0, 1, 2, … 9
·非字母数字字符,如标点符号,@, #, $, %, &, *等

|

1、执行:cat /etc/login.defs,检查是否配置了以下参数。
PASS_MIN_LEN 配置项决定密码最小长度。
要求:PASS_MIN_LEN为8。
2、执行:cat /etc/pam.d/system-auth,检查是否配置了以下参数。
password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1
dcredit=-1 ocredit=-1
或者为pam_pwquality.so模块,最早之前使用的是 pam_cracklib.so ,后来改成
pam_pwquality.so 这个模块,但此模块完全兼容于 pam_cracklib.so
minlen 配置项决定了新密码最短长度。
ucredit 配置项限定了新密码中至少有多少个大写字符。
lcredit 配置项限定了新密码中至少有多少个小写字符。
dcredit 配置项限定了新密码中至少有多少个数字。
ocredit 配置项限定了新密码中至少有多少个其他字符。

|

针对程序帐号之类的不能完全使用上述策略的帐号口令应予以原因说明。

1.3 检查是否设置口令失效提示

|

应设置口令在失效前7天进行提示。

|

执行:cat /etc/login.defs,检查是否配置了以下参数。
PASS_WARN_AGE 配置项决定密码到期提醒时间。
要求:PASS_WARN_AGE为7。

|

针对程序帐号之类的不能完全使用上述策略的帐号口令应予以原因说明。

1.4 检查是否设置口令重复使用次数

|

不能复用近期使用过的5个密码

|

执行:cat /etc/pam.d/system-auth以及cat /etc/pam.d/passwd,检查是否配置了以下参数。
password required pam_unix.so remember=5
remember 指新密码不能和之前的5个密码相同。
要求:remember为5

|

1.5 检查是否存在空口令账号

|

应不存在空口令的账号。

|

执行:awk -F: ‘($2 == “”) { print $1 }’ /etc/shadow,检查是否有输出账号,若有输出则该账号为空口令账号。

|

1.6 检查除root账户以外是否存在uid为0的账户

|

uid为0的账户应只有root。

|

执行:awk -F: ‘($3 == 0) { print $1 }’ /etc/passwd,检查是否输出条目是否只有root。

|

1.7 检查是否删除或锁定无用账户

|

应删除或锁定与设备运行、维护等工作无关的账号。需锁定daemon、bin、sys、nuucp、lpd、imnadm、ipsec、ldap、nobody、snapp、invscout、Adm、lp、sync、shutdown、halt、news、uucp、operator、games等系统默认账户

|

1、执行:cat /etc/shadow,检查无用账户。
2、执行:passwd -l username,锁定无用账户。
要求:锁定的用户为daemon、bin、sys、nuucp、lpd、imnadm、ipsec、ldap、nobody、snapp、invscout、Adm、lp、sync、shutdown、halt、news、uucp、operator、games等系统默认账户。
可通过passwd -S username查看用户状态。
3、执行:awk -F: ‘($2 == “*”) { print $1 }’ /etc/shadow,查看已锁定的账户。
4、执行:awk -F: ‘($2 == “!!”) { print $1 }’ /etc/shadow,查看密码已过期的账户,判断其是否需要删除。

|

若需系统默认账号登录系统,需管理员提供设置密码的原因。

1.8 检查是否有登录失败处理功能

|

应启用登录失败处理功能,在登录失败5次后,锁定账户10分钟,包括root账户。

|

1、执行:cat /etc/pam.d/system-auth以及cat /etc/pam.d/sshd,检查第一行是否配置了以下参数。
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600
even_deny_root root_unlock_time=600
deny 表示最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
onerr 表示出现异常时的处理。
unlock_time 表示认证被锁后,多长时间自动解锁用户。
even_deny_root 指root用户在认证出错时,一样被锁定。
root_unlock_time 指root用户在失败时,锁定多长时间。
要求:onerr 为fail
deny 为5
ulock_time 为600秒
root_ulock_time 为600秒
2、执行 cat /etc/ssh/sshd_config,检查以下参数。
MaxAuthTries 决定进行SSH登录时的最大尝试次数。
要求:MaxAuthTries为5

|

1.9 检查是否禁用root用户远程ssh登录

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

一. 账号口令 1.1 检查设备密码复杂度策略(高危) 1.2 检查口令最小长度(高危) 1.3 检查是否设置口令更改最小间隔天数(高危) 1.4 检查是否设置口令生存周期(高危) 1.5 检查是否设置口令过期前警告天数(高危) 1.6 检查是否存在空口令账号(高危) 1.7 检查是否设置除root之外UID为0的用户(中危) 二. 认证授权 2.1 检查用户目录缺省访问权限设置(高危) 2.2 检查用户umask设置(中危) 2.3 检查重要文件属性设置(中危) 2.4 检查重要目录或文件权限设置(中危) 2.5 检查是否设置ssh登录前警告Banner(低危) 三. 日志审计 3.1 检查是否对登录进行日志记录(高危) 3.2 检查是否启用cron行为日志功能(低危) 3.3 检查是否配置su命令使用情况记录(低危) 3.4 检查日志文件是否非全局可写(低危) 3.5 检查安全事件日志配置(低危) 3.6 检查是否记录用户对设备的操作(低危) 3.7 检查是否配置远程日志功能(低危) 四. 协议安全 4.1 检查是否禁止root用户远程登录(高危) 4.2 检查是否禁止匿名用户登录FTP(高危) 4.3 检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议(高危) 4.4 检查是否修改snmp默认团体字(中危) 4.5 检查系统openssh安全配置(中危) 4.6 检查是否禁止root用户登录FTP(中危) 五. 其他安全 5.1 检查是否使用PAM认证模块禁止wheel组之外的用户su为root(高危) 5.2 检查是否设置命令行界面超时退出(高危) 5.3 检查是否关闭不必要的服务和端口(高危) 5.4 检查是否关闭系统信任机制(高危) 5.5 检查是否删除了潜在危险文件(高危) 5.6 检查系统core dump设置(中危) 5.7 检查root用户的path环境变量(中危) 5.8 检查系统是否禁用ctrl+alt+del组合键(中危) 5.9 检查密码重复使用次数限制(中危) 5.10 检查是否配置用户所需最小权限(中危) 5.11 检查系统内核参数配置(中危) 5.12 检查FTP用户上传的文件所具有的权限(低危) 5.13 检查/usr/bin/目录下可执行文件的拥有者属性(低危) 5.14 检查是否按用户分配账号(低危) 5.15 检查历史命令设置(低危) 5.16 检查系统磁盘分区使用率(低危) 5.17 检查日志文件权限设置(低危) 5.18 检查是否设置系统引导管理器密码(低危) 5.19 检查是否限制FTP用户登录后能访问的目录(低危) 5.20 检查是否设置ssh成功登录后Banner(低危) 5.21 检查是否使用NTP(网络时间协议)保持时间同步(低危) 5.22 检查是否关闭IP伪装和绑定多IP功能(低危) 5.23 检查是否限制远程登录IP范围(低危) 5.24 检查NFS(网络文件系统)服务配置(低危) 5.25 检查拥有suid和sgid权限的文件(低危) 5.26 检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备)(低危) 5.27 检查是否安装chkrootkit进行系统监测(低危) 5.28 检查是否对系统账号进行登录限制(低危) 5.29 检查是否禁用不必要的系统服务(低危) 5.30 检查别名文件/etc/aliase(或/etc/mail/aliases)配置(低危) 5.31 检查账户认证失败次数限制(低危) 5.32 检查telnet Banner 设置(低危) 5.33 检查FTP Banner设置(低危) 5.34 检查是否关闭数据包转发功能(适用于不做路由功能的系统)(低危) 5.35 检查是否安装OS补丁(低危) 5.36 检查是否按组进行账号管理(低危) 5.37 检查是否删除与设备运行、维护等工作无关的账号(低危)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值