Linux基线检查工具-Python

aqjxpz 工具是基于 python 语言开发的工具,主要针对 Linux 进行进行基线检测。主要针对 Linux 6/7 的操作系统做基线检查和配置,其他版本系统可能部分检测无效。

主要功能包括如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
>>>>>>>>>>>>>>>>>>>>>>1、账号管理<<<<<<<<<<<<<<<<<<<<<<<<<<<<
NO1.1、【配置要求】:删除或锁定无关的系统用户和用户组;
基线符合性判断依据:判断是否为常规用户,具体系统无关用户,根据运维人员确定(脚本通过匹配系统用户和运维用户字典,对无关用户进行锁定。)

NO1.2、【配置要求】:检查是否存在除root之外UID为0的用户
基线符合性判断依据:执行命令awk -F ':' '$3==0 { print $1 }' /etc/passwd 根据检查结果判断是否存在除root之外UID为0的用户,如存在锁定该用户passwd –l <username> #锁定该用户

NO1.3、【配置要求】:登录超时设置
基线符合性判断依据:判断是否配置"TMOUT=",建议配置TMOUT=300,并且值不大于600

NO1.4、【配置要求】:限制管理员root远程登录
基线符合性判断依据:设置/etc/ssh/sshd_config文件中,第一次出现PermitRootLogin no为准; 如存在PermitRootLogin yes改为PermitRootLogin no,并且检查/etc/ssh/sshd_config,是否存在:

>>>>>>>>>>>>>>>>>>2、口令管理配置要求说明<<<<<<<<<<<<<<<<<<<<<<<<<<<<
NO2.1、【配置要求】:密码复杂度要求
1)采用数字、字母、符号的无规律混排方式;
2)口令的长度至少为8位,并且每90天至少更换1次
3)如果系统长度不支持上述口令复杂度要求,应使用所支持的最长长度并适当缩小更换周期;也可以使用动态密码卡等一次性口令认证方式。
4)修改操作系统账户的默认口令,系统无法实现的除外。
基线符合性判断依据:执行命令cat /etc/pam.d/system-auth|grep "password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1"是否存在。

NO2.2、【配置要求】:禁止空口令登录
检查方法:awk -F ':' 'length($2)==0 { print $1 }' /etc/shadow;[空]:表示无空口令登录的用户,否则存在空口令用户将它锁住或删除。

NO2.3、【配置要求】:检查是否设置口令最小长度[标准值10,建议配置12及以上]
检查方法:查看文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值(10)
NO2.4、【配置要求】密码更新周期和口令更改最小天数要求
检查方法:检查/etc/login.defs参数,
PASS_MAX_DAYS 90
PASS_WARN_AGE 30
PASS_MIN_DAYS 6
[检查最长期限是否生效]passwd -S [USERNAME]|awk '{ print $5 }'
[检查警告期限是否生效]passwd -S [USERNAME]|awk '{ print $6}'
>>>>>>>>>>>>>>>>>>3、访问控制及认证授权<<<<<<<<<<<<<<<<<<<<<<<<<<<<

NO3.1、【配置要求】:用户缺省访问权限
控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限。防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。
基线符合性判断依据:
1)执行:more /etc/profile检查是否包含 umask 值且 umask=027(同理/etc/csh.login、/etc/csh.cshrc、/etc/bashrc中查看umask 077)
2)如果没有执行:echo "umask 027" >> /etc/profile 或 echo "umask 077" >> /etc/csh.login等

NO3.2、【配置要求】:授权账户SSH访问控制
>>对于使用IP 协议进行远程维护的系统,应配置使用SSH 等加密协议,并安全配置SSHD 的设置。
检查方法:在/etc/ssh/sshd_config配置文件中确认如下配置是否存在:
Protocol 2
LogLevel INFO
MaxAuthTries 5
IgnoreRhosts yes
RhostsAuthentication no
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
PermitUserEnvironment no
ClientAliveInterval 60
ClientAliveCountMax 3
LoginGraceTime 60
X11Forwarding yes
配置之后,重启服务:service sshd restart

NO3.3、【配置要求】:允许和限制SSH远程访问主机
>>对物理主机/虚拟机进行IP地址访问限制,防止异常陌生IP地址访问攻击。
1)第一种方法(废弃):
配置 /etc/hosts.deny 与 /etc/hosts.allow文件
配置 /etc/hosts.deny 文件
# no sshd
sshd:ALL //禁止所有IP地址ssh访问
配置 /etc/hosts.allow 文件
根据业务需求配置相关IP地址
例如:sshd:192.168.220. //允许192.168.220.0 IP段访问
2)第二种方法(推荐):
/etc/ssh/sshd_config
allowusers [username]@[IP或IP段]
特殊说明:第一种方法不一定完全生效,脚本只对第二种配置进行检查,第一种配置是不符合规范的。

NO3.4、【配置要求】登录失败处理功能策略(不做检查,此方法存在争议)
设置登录失败功能,建议设置5次,防止恶意攻击者可以对系统口令进行反复暴力破解(设置登录失败功能策略,通过PAM限制用户登录失败次数,如果次数达到设置的阈值,则锁定用户)
检查方法:
1)vim /etc/pam.d/sshd (远程ssh)
在文件首行#%PAM-1.0下增加:
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600
2)vim /etc/pam.d/login (终端)
在文件首行#%PAM-1.0下增加:
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600
3)vim /etc/pam.d/system-auth (服务器终端)
在文件首行#%PAM-1.0下增加:
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=600

NO3.5、【配置要求】检查是否使用PAM认证模块禁止wheel组之外的用户su为root
为了安全性,只允许部分普通用户能切换到root,其他用户做限制不能切换

>>>>>>>>>>>>>>>>>>4、重要目录和文件权限设置<<<<<<<<<<<<<<<<<<<<<<<<<<<<

NO4.1、【配置要求】:配置重要目录和文件的权限
控制用户对有敏感标记重要信息资源的操作。
检查方法:
ls –l /etc/ [不做检查,配置之后存在异常]
ls -l /etc/passwd
ls -l /etc/group
ls -l /etc/shadow
ls -l /etc/services
ls -l /etc/security
ls -l /etc/rc*.d/
ls -l /etc/rc.d/init.d/
按照如下建议修改
chmod 750 /etc #(由于会影响普通用户家目录[chmod 755 /etc/])
chmod 750 /tmp #(如果安装图形界面 chmod 777 /tmp,否则会报错"服务器有错/usr/libexec/gconf-sanity-check-2的退出状态为256)
chmod 750 /etc/rc.d/init.d
chmod 644 /etc/passwd
chmod 644 /etc/group
chmod 400 /etc/shadow
chmod 644 /etc/services
chmod 600 /etc/security
chmod 750 /etc/rc*.d/
chmod 750 /etc/rc.d/init.d
对于重要目录,建议执行如下类似操作:chmod 750 /etc/rc.d/init.d/*;只有 root 可以读、写和执行这个目录下的脚本

NO4.2、【配置要求】:检查重要文件是否存在suid和sgid权限
为降低风险,防止未授权用户通过sudo执行相关重要文件命令
检查方法:
执行命令:
find /usr/bin/chage /usr/bin/gpasswd /usr/bin/wall /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /usr/bin/write /usr/sbin/usernetctl /usr/sbin/traceroute /bin/mount /bin/umount /bin/ping /sbin/netreport -type f -perm +6000 2>/dev/null
如果存在输出结果,则使用chmod 755 文件名 命令修改文件的权限。
例如:chmod a-s /usr/bin/chage

NO4.3、【配置要求】:检查系统引导器配置文件权限
为降低风险,检查系统引导器配置文件权限
检查方法:
查看如下文件权限是否为600
#Linux6
chmod 600 /etc/grub.conf [非链接文件]
chmod 600 /boot/grub/grub.conf
chmod 600 /etc/lilo.conf
#Linux7
chmod 600 /etc/grub2.cfg [非链接文件]
chmod 600 /boot/grub2/grub.cfg

>>>>>>>>>>>>>>>>>>5、日志审核<<<<<<<<<<<<<<<<<<<<<<<<<<<<

NO5.1、【配置要求】:开启系统日志记录
应开启主机操作系统审核功能,审核内容包括但不限于运行状态日志、系统事件、账户管理、登录事件、操作事件、配置文件的修改,日志保存期限至少6个月。
检查方法:
1)查看日志服务是否安装并且进程是否已启动:
rpm -qa|grep rsyslog
ps -elf |grep rsyslogd
2)开启日志审核:
/etc/init.d/rsyslog start
或service rsyslog start
3)日志加固,确保已配置rsyslog默认文件权限:
vim /etc/rsyslog.conf
在#### GLOBAL DIRECTIVES ####段中添加:
$FileCreateMode 0640

NO5.2、【配置要求】:开启操作日志记录,记录用户的操作日志。
应开启主机操作系统审核功能,审核内容包括但不限于运行状态日志、系统事件、账户管理、登录事件、操作事件、配置文件的修改,日志保存期限至少6个月。
检查方法:在/etc/profile中检查是否存在如下配置

NO5.3、【配置要求】:检查日志文件权限设置
设备应配置权限,控制对日志文件读取、修改和删除等操作(权限小于等于775)
[检查方法]
%s 文件权限权限小于等于775,建议设置600
[加固建议]
chmod 600 /var/log/cron
chmod 600 /var/log/secure
chmod 600 /var/log/messages
chmod 600 /var/log/maillog
chmod 600 /var/log/boot.log
chmod 600 /var/log/mail
chmod 600 /var/log/localmessages
chmod 600 /var/log/spooler

>>>>>>>>>>>>>>>>>>>>>>>>>>>6、安全管理<<<<<<<<<<<<<<<<<<<<<<<<<<<<

NO6.1、【配置要求】:关闭不必要的服务和端口
关闭telnet、autofs、acpid、cpus、ipsec、ip6tables、rpcbind、postfix等服务
检查方法:
chkconfig --list |grep 3:on 查看哪些正运行的服务
Linux6:
使用下面命令关闭无关的服务:
chkconfig --level 12345 autofs off
chkconfig --level 12345 acpid off
chkconfig --level 12345 cups off
chkconfig --level 12345 cups-config-daemon off
chkconfig --level 12345 ipsec off
chkconfig --level 12345 ip6tables off
chkconfig --level 12345 rpcbind off
chkconfig --level 12345 postfix off
chkconfig --level 12345 pppoe-server off
chkconfig --level 12345 sendmail off
chkconfig --level 12345 isdn off
chkconfig --level 12345 mdmonitor off
chkconfig --level 12345 rhnsd off
chkconfig --level 12345 smartd off
chkconfig --level 12345 gpm off
chkconfig --level 12345 telnet off
chkconfig --level 12345 nfslock off
Linux7:
systemctl list-unit-files|grep enabled|awk -F '.' '{ print $1}'
关闭以上服务 systemctl disable [服务名称]

NO6.2、【配置要求】:互联网DMZ区服务器开启iptables服务
对于检查互联网服务器IP为%s进行防火墙状态和规则检查
检查方法:
1)检查iptables是否安装或firewalld服务状态。
rpm –qa|grep iptables 或 rpm –qa|grep firewalld
2)安装完成后查询iptables或firewalld服务是否运行:
service iptables status 或 systemctl status firewalld
NO6.3、【配置要求】:按安全组检查安全狗软件是否安装
对操作系统操作审计。
检查方法:
1)检查safedog服务状态。
service safedog status
2)查看到控制中心端口80端口是否能通:
telnet 10.116.124.65 80

>>>>>>>>>>>>>>>>>>>>>>7、系统优化与运维管理<<<<<<<<<<<<<<<<<<<<<<<<<<<<

NO7.1、【配置要求】:swappiness配置优化
[检查方法]
cat /proc/sys/vm/swappiness值是否<=10,建议配置为10。
[加固建议]
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p
cat /proc/sys/vm/swappiness
NO7.2、【配置要求】:建立系统维护账号和建立互信
用于普通用户或root无法登录出现异常时候,通过此账号进行维护处理。
[检查方法]
检查是否存在xtyw账号,过期时间是否设置为永不过期,互信密钥是否添加,sudoer配置文件是否添加
检查用户是否存在:id xtyw
检查用户是否设置密码:passwd -S xtyw|awk '{ print $2 }'" [P或PS:正常状态,L或LK:为锁定状态,NP:用户密码未空的状态]
检查是否设置为永不过期:passwd -S xtyw
检查是否设置为互信:首先判断:/home/xtyw/.ssh/authorized_keys文件是否存在,然后检查cat /home/xtyw/.ssh/authorized_keys|grep 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1wYTh7cw1lUBcgr5kMKtLilh3CwbxhCJDITgZfYDlbNtPiURtrvpamBMHMYz9EuuBmXyXSF9D18oD/HmFiIXzgqobTGw2asNxwbpoPBY1YxvHJAZUV99ml/GrqdIFbLW2lgDsojIkXA0rnxZ1G/uHOaZBPuKKnvlaXyhtMV4NdZFK3UuzDyz82Bx8FLGVo+clkkZ9BeOWyOrTi5ihk/6ime24WdiSue2XwXxjrGCSu4oKBDNj778ytl31HSUz14gBrH4em1nLM22+P6ddVhrKp4oJgvY7IqAG1ibhuxUNXWkf3Q5EM5ZKdchK9TCKdKhiFqwGgiCmQAonjRD8Cx9H xtyw@hxq-poller21'
检查是否设置sudoers:grep -iE 'xtyw ALL=\(ALL\) NOPASSWD:ALL' /etc/sudoers
[加固建议]
useradd xtyw
echo `< /dev/urandom tr -dc 0-9-A-Z-a-z-/|head -c ${1:-16};echo`|passwd --stdin xtyw
chage -M 99999 xtyw
mkdir /home/xtyw/.ssh
chmod 700 /home/xtyw/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1wYTh7cw1lUBcgr5kMKtLilh3CwbxhCJDITgZfYDlbNtPiURtrvpamBMHMYz9EuuBmXyXSF9D18oD/HmFiIXzgqobTGw2asNxwbpoPBY1YxvHJAZUV99ml/GrqdIFbLW2lgDsojIkXA0rnxZ1G/uHOaZBPuKKnvlaXyhtMV4NdZFK3UuzDyz82Bx8FLGVo+clkkZ9BeOWyOrTi5ihk/6ime24WdiSue2XwXxjrGCSu4oKBDNj778ytl31HSUz14gBrH4em1nLM22+P6ddVhrKp4oJgvY7IqAG1ibhuxUNXWkf3Q5EM5ZKdchK9TCKdKhiFqwGgiCmQAonjRD8Cx9H xtyw@hxq-poller21" >>/home/xtyw/.ssh/authorized_keys
chmod 600 /home/xtyw/.ssh/authorized_keys
chown -R xtyw:xtyw /home/xtyw/.ssh
chmod u+w /etc/sudoers
sed -i '/^root/a xtyw ALL=(ALL) NOPASSWD:ALL' /etc/sudoers
chmod u-w /etc/sudoers

'''
>>>>>>>>>>>>>>>>>>>>>>>>>>8、其他配置要求<<<<<<<<<<<<<<<<<<<<<<<<<<<<

NO8.1、【配置要求】:检查是否设置ssh登录前警告Banner
SSH登录时显示警告信息,在登录成功前不泄漏服务器信息。
[检查方法]
查看文件/etc/ssh/sshd_config,检查是否存在如下配置:banner <file_path>,且<file_path>内容不为空
[加固方法]
touch /etc/ssh_banner
  chown bin:bin /etc/ssh_banner
  chmod 644 /etc/ssh_banner
  echo " Authorized only. All activity will be monitored and reported " > /etc/ssh_banner
  echo "Banner /etc/ssh_banner" >> /etc/ssh/sshd_config
  service sshd restart
  
NO8.2、【配置要求】:检查是否修改SNMP默认团体字.
SNMP服务未开启或者修改了默认的团体名则合规,否则不合规。
[检查方法]
  1)查看snmpd进程是否存在。
  #ps -ef|grep "snmpd"|grep -v "grep"
  2)查看文件/etc/snmp/snmpd.conf,检查SNMP团体名配置。
[加固建议]
1)修改snmp配置文件/etc/snmp/snmpd.conf找到类似如下配置,修改默认团体名public为其他用户自己可识别的字符串。
com2sec notConfigUser default public #<notConfigUser>为连接snmp的用户名 <default>为可以连接snmp的地址范围 <public>为团体名
2)、重启snmp服务
#service snmpd restart

NO8.3、【配置要求】:检查系统是否禁用Ctrl+Alt+Delete组合键
禁止Ctrl+Alt+Delete,防止非法重新启动服务器。禁用了使用组合键Ctrl+Alt+Delete重启系统则合规,否则不合规
[检查方法]
Linux7:
  检查是否存在这个文件/usr/lib/systemd/system/ctrl-alt-del.target
Linux6
  查看文件/etc/init/control-alt-delete.conf,是否存在使用组合键control+alt+delete控制系统重启的配置。
exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
Linux5
查看/etc/inittab文件
ca::ctrlaltdel:/sbin/shutdown -t3 -r now //默认为启用,在前面加上#号进行关闭
[加固建议]
 Linux7:
 mv /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target.bak
 init q 重新加载配置文件使配置生效或注释掉/usr/lib/systemd/system/ctrl-alt-del.target所有内容
Linux 6
  编辑文件/etc/init/control-alt-delete.conf,将如下行删除或注释:
  exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
Linux 5
  编辑文件cat /etc/inittab,将如下行删除或注释:
  ca::ctrlaltdel:/sbin/shutdown -t3 -r now
  
NO8.4、【配置要求】:主机须启用时钟同步
对应区域配置对应NTP时间源:{%s}
[检查方法]
   1.确认是否安装NTP组件
rpm -qa|grep -E 'ntp-'
2.检查是否配置对应区域的时间源
server XXX.XXX.XXX.XXX
3、是否运行,然后是否自动启动
ps -fe|grep ntpd
Linux6
chkconfig --list ntpd
Linux7
systemctl list-unit-files|grep enabled|awk -F '.' '{ print $1}'|grep ntpd是否存在
[加固建议]
编辑/etc/ntp.conf文件,对NTP服务进行配置,可在文件中加一行:
server XXX.XXX.XXX.XXX #将时钟源指定为已设好的时钟同步服务器
service ntpd start #启用服务
chkconfig ntpd on #设置自动运行

NO8.5、【配置要求】:禁用core dump
core dump 中可能包括系统信息,易被入侵者利用。
[检查方法]
   1)执行:more /etc/security/limits.conf 检查是否包含下列项:
* soft core 0
* hard core 0
2)若没有,执行:vi /etc/security/limits.conf 添加
* soft core 0
* hard core 0
[加固建议]
echo "* soft core 0" >> /etc/security/limits.conf
echo "* hard core 0" >> /etc/security/limits.conf

NO8.6、【配置要求】:用户使用最大进程数及文件打开数配置
建议根据业务需求对单个用户使用的进程数、文件打开数等进行设置。
[检查方法]
脚本通过检查操作系统是否存在%s,对用户是否全部配置 /etc/security/limits.conf进行检查。
[加固建议]
vi /etc/security/limits.conf 添加
* soft nproc 65535(后面值根据业务情设定)
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
重新ssh连接建立会话ulimit -a检查是否生效。

NO8.7、【配置要求】:系统服务优先级配置
当系统服务水平降低时,通过renice命令修改已经存在进程的NI值
[检查方法]
检查/etc/sudoers中是否存在[%s] ALL=(ALL) NOPASSWD:/usr/bin/renice
检查方式:cat /etc/sudoers|grep -v '^#'|grep 'NOPASSWD:/usr/bin/renice'
[加固建议]
1)、配置以weblogic用户为例能够sudo执行renice 命令,在/etc/sudoers 文件中添加
例如:weblogic ALL=(ALL) NOPASSWD:/usr/bin/renice

2)、用top和ps aux 命令查看存在进程的NI值和进程号
3)、手动修改已经存在进程的NI值
renice -n -15 -p {weblogic pid} -n后面是优先级的值,-p后面是进程号

NO8.8、【配置要求】:检查/etc/aliases是否禁用不必要的别名
        检查/etc/aliases是否禁用不必要的别名
      [检查方法]
编辑别名文件vi /etc/aliases,删除或注释掉下面的行
#games: root
#ingres: root
#system: root
#toor: root
#uucp: root
#manager: root
#dumper: root
#operator: root
#decode: root
#root: marc
补充操作说明
更新后运行/usr/bin/newaliases,使改变生效
[加固建议]
sed -i '/^games/s/^/#/g' /etc/aliases
sed -i '/^ingres/s/^/#/g' /etc/aliases
sed -i '/^system/s/^/#/g' /etc/aliases
sed -i '/^toor/s/^/#/g' /etc/aliases
sed -i '/^uucp/s/^/#/g' /etc/aliases
sed -i '/^manager/s/^/#/g' /etc/aliases
sed -i '/^dumper/s/^/#/g' /etc/aliases
sed -i '/^operator/s/^/#/g' /etc/aliases
sed -i '/^decode/s/^/#/g' /etc/aliases
sed -i '/^root/s/^/#/g' /etc/aliases
/usr/bin/newaliases

NO8.9、【配置要求】:检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备)
检查是否配置定时自动屏幕锁定(只对安装了图形界面系统生效)
[检查方法]
检查是否安装GConf2
rpm -qa|grep GConf2

NO8.10、【配置要求】:检查密码重复使用次数限制
对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用最近5次(含5次)内已使用的口令。
[检查方法]
检查/etc/pam.d/system-auth中是否存在password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
[加固建议]
sed -i '/try_first_pass use_authtok/s/sha512/md5/g' /etc/pam.d/system-auth
sed -i '/try_first_pass use_authtok/s/$/ remember=5/g' /etc/pam.d/system-auth


NO8.11、【配置要求】:检查系统内核参数配置
检查系统内核参数配置
[检查方法]
检查是否禁止icmp源路由(0):cat /proc/sys/net/ipv4/conf/all/accept_source_route
检查是否禁止icmp重定向报文(0):cat /proc/sys/net/ipv4/conf/all/accept_redirects
检查send_redirects配置(0):cat /proc/sys/net/ipv4/conf/all/send_redirects
检查icmp_echo_ignore_broadcasts配置(1):cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
检查ip_forward配置(0):cat /proc/sys/net/ipv4/ip_forward
[加固建议]
echo "net.ipv4.conf.all.accept_source_route=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.accept_redirects=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.send_redirects=0" >> /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf
echo "net.ipv4.ip_forward=0" >> /etc/sysctl.conf
sysctl -p

使用举例:
检查 Linux 基线:python %s ‘PWD’ –check
配置 Linux 基线:python %s ‘PWD’ –config
不检查防火墙基线检查: python %s ‘PWD’ –check –skipiptables


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 dacker1993@gmail

💰

×

Help us with donation