Linux基线检查工具-Python
Created At :
Views 👀 :
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