Linux终端如何检查远程主机策略配置

本文发布时间: 2019-Mar-22
最近在做一个风险评估和等保测评相结合项目,需要对某单位的4套核心系统进行风险评估和等保测评,其中有2套系统还是等保定级的4级系统,非常重要。在进行主机和数据库的策略审计时,遇到一点小麻烦,情况是这样的,传统的譬如说银行证券行业、政府行业、通信行业,他们的运维终端一般都是windows的,所以对主机和数据库的配置检查可以通过windows终端的SecureCRT等工具连接,并记录检查日志来实现,或许和直接上传sh脚本执行,然后将结果传下来即可。但是要评估的单位的系统部署在比较特殊的网络架构中,且运维终端都是linux或者hp-ux。在不能使用SecureCRT的情况下,也就无法复制粘贴直接运行如下命令了。hostnameifconfiguname-awho-rnetstat-nrnetstat-anetstat-lnptps-efps-ef|greptelnetps-ef|grepsshps-ef|grepsyslogps-ef|grepauditls-l/etcls-l/etc/security....在这种情况下如何处理呢?目前运维终端都是图形化界面的linux系统(PS:未安装ssh连接工具),既然无法使用工具连接,那么自然也无法设置自动日志配置输出。解决的办法就是将检查的结果输出到指定文件中,最后再导出文件即可。当然此时可使用windows终端也通用的方法就是直接上传sh脚本到每一台服务器上,然后直接脚本,最后再将结果导到本地终端上。但是好多客户是禁止直接往服务器上传脚本、工具等的。那只有最后一个方法,就是制作直接可在运维终端本地运行的脚本。核心思路就是在linux运维终端上ssh远程连接数据库等服务器,然后打开并复制粘贴上传到linux运维终端上的脚本内容并执行,在远端服务器上生成诸多配置文件,然后打包,最后再将结果导到本地终端上,并记得删除远端服务器上的生成的检查的配置文件。具体的脚本内容如下,此处先只介绍远程服务器是linux系统的linuxscript.txt脚本情况:linuxscript.txtmkdir./syschecklogcd./syschecklogecho'#superOrder0001********************hostname*****************#'>>0001hostname.loghostname>>0001hostname.logecho'#superOrder0002********************ifconfig*****************#'>>0002ifconfig.logifconfig>>0002ifconfig.logecho'#superOrder0003********************uname-a*****************#'>>0003uname.loguname-a>>0003uname.logecho'#superOrder0004********************who-r*****************#'>>0004who_r.logwho-r>>0004Who_r.logecho'#superOrder0005********************ifconfig-a*****************'>>0005ifconfig_a.logifconfig-a>>0005ifconfig_a.logecho'#superOrder0006********************netstat-nr*****************'>>0006netstat_nr.lognetstat-nr>>0006netstat_nr.logecho'#superOrder0007********************netstat-a*****************'>>0007netstat_a.lognetstat-a>>0007netstat_a.logecho'#superOrder0008********************ps-ef*****************'>>0008ps_ef.logps-ef>>0008ps_ef.logecho'#superOrder0009********************ls-l/etc*****************'>>0009etc_filelist.logls-l/etc>>0009etc_filelist.logecho'#superOrder0010********************ls-l/etc/security*****************'>>0010etc_security.logls-l/etc/security>>0010etc_security.logecho'#superOrder0011********************etc/hosts.equiv*****************'>>0011etc_hosts.equivcat/etc/hosts.equiv>>0011etc_hosts.equivecho'#superOrder0014********************df-h*****************'>>0014df_h.logdf-h>>0014df_h.logecho'#superOrder0015********************cat/etc/inittab*****************'>>0015etc_inittab.logcat/etc/inittab>>0015etc_inittab.logecho'#superOrder0016********************cat/etc/rc.d/rc.sysinit*****************'>>0016etc_rcd_rc.sysinit.logcat/etc/rc.d/rc.sysinit>>0016etc_rcd_rc.sysinit.logecho'#superOrder0017********************cat/etc/rc.d/rc.local*****************'>>0017rcd_rc_local.logcat/etc/rc.d/rc.local>>0017rcd_rc_local.logecho'#superOrder0018********************ls-l/etc/rc.d/rc0.d*****************'>>0018rcd_rc0d.logls-l/etc/rc.d/rc0.d>>0018rcd_rc0d.logecho'#superOrder0019********************ls-l/etc/rc.d/rc1.d*****************'>>0019rcd_rc1d.logls-l/etc/rc.d/rc1.d>>0019rcd_rc1d.logecho'#superOrder0020********************ls-l/etc/rc.d/rc2.d*****************'>>0020rcd_rc2d.logls-l/etc/rc.d/rc2.d>>0020rcd_rc2d.logecho'#superOrder0021********************ls-l/etc/rc.d/rc3.d*****************'>>0021rcd_rc3d.logls-l/etc/rc.d/rc3.d>>0021rcd_rc3d.logecho'#superOrder0022********************ls-l/etc/rc.d/rc4.d*****************'>>0022rcd_rc4d.logls-l/etc/rc.d/rc4.d>>0022rcd_rc4d.logecho'#superOrder0023********************ls-l/etc/rc.d/rc5.d*****************'>>0023rcd_rc5d.logls-l/etc/rc.d/rc5.d>>0023rcd_rc5d.logecho'#superOrder0024********************ls-l/etc/rc.d/rc6.d*****************'>>0024rcd_rc6d.logls-l/etc/rc.d/rc6.d>>0024rcd_rc6d.logecho'#superOrder0025********************cat/etc/fstab*****************'>>0025etc_fstab.logcat/etc/fstab>>0025etc_fstab.logecho'#superOrder0026********************cat/etc/profile*****************'>>0026etc_profile.logcat/etc/profile>>0026etc_profile.logecho'#superOrder0027********************cat/etc/environment*****************'>>0027etc_environment.logcat/etc/environment>>0027etc_environment.logecho'#superOrder0028********************printenv*****************'>>0028printenv.logprintenv>>0028printenv.logecho'#superOrder0029********************cat/etc/syslog.conf*****************'>>0029etc_syslog_conf.logcat/etc/syslog.conf>>0029etc_syslog_conf.logecho'#superOrder0030********************ls-l/var/log*****************'>>0030var_log_list.logls-l/var/log>>0030var_log_list.logecho'#superOrder0031********************crontab-l*****************'>>0031crontab_l.logcrontab-l>>0031crontab_l.logecho'#superOrder0032********************at-l*****************'>>0032at_l.logat-l>>0032at_l.logecho'#superOrder0033********************cat/etc/passwd*****************'>>0033etc_passwd.logcat/etc/passwd>>0033etc_passwd.logecho'#superOrder0034********************cat/etc/shadow*****************'>>0034etc_shadow.logcat/etc/shadow>>0034etc_shadow.logecho'#superOrder0035********************cat/etc/group*****************'>>0035etc_group.logcat/etc/group>>0035etc_group.logecho'#superOrder0036********************cat/etc/pam.d/system-auth*****************'>>0036etc_pamd_system_auth.logcat/etc/pam.d/system-auth>>0036etc_pamd_system_auth.logecho'#superOrder0037********************cat/etc/login.defs*****************'>>0037etc_login_defs.logcat/etc/login.defs>>0037etc_login_defs.logecho'#superOrder0038********************cat/etc/ssh/sshd_config*****************'>>0038etc_ssh_sshd_config.logcat/etc/ssh/sshd_config>>0038etc_ssh_sshd_config.logecho'#superOrder0039********************cat/etc/logrotate.conf*****************'>>0039etc_logrotate_conf.logcat/etc/logrotate.conf>>0039etc_logrotate_conf.logecho'#superOrder0040********************chkconfig--list*****************'>>0040chkconfig_list.logchkconfig--list>>0040chkconfig_list.logecho'#superOrder0041********************cat/etc/security/limits.conf*****************'>>0041etc_security_limits_conf.logcat/etc/security/limits.conf>>0041etc_security_limits_conf.logecho'#superOrder0042********************cat/etc/hosts.allow*****************'>>0042etc_hosts_allow.logcat/etc/hosts.allow>>0042etc_hosts_allow.logecho'#superOrder0043********************cat/etc/hosts.deny*****************'>>0043etc_hosts_deny.logcat/etc/hosts.deny>>0043etc_hosts_deny.logecho'#superOrder0044********************cat/etc/snmp/snmpd.conf*****************'>>0044etc_snmp_snmpd_conf.logcat/etc/snmp/snmpd.conf>>0044etc_snmp_snmpd_conf.logecho'#superOrder0045********************service--status-all*****************'>>0045service_status.logservice--status-all>>0045service_status.logcat *.logcd../dateInfo=`date+"%Y%m%d"`tar -cvf linuxcheck$dateInfo.tar./syschecklog但是实际操作时还是出现了一些小插曲。此脚本的结构是先在当前目录下建立一个新的syschecklog目录,然后进入此目录,将45个检查项的提示语和命令执行结果输入到对应的文件中,最终会生成45个结果文件,然后在syschecklog的上一目录中生成一个对syschecklog目录的压缩包。出现的第一个问题是权限问题。远端服务器的root用户已配置高强度密码,已密封不让使用,另外设置了一个管理员叫sysroot。在用sysroot用户登录后,原本预想在根目录下保存检查结果,复制粘贴脚本内容运行,大批量的报错无权限,然后依次换了/var/和/tmp/目录都不行。说明管理员对sysroot用户的可建立目录的权限范围限制的很死。最后只好在/home/sysroot/这一用户自身的目录下建立syschecklog目录来保存检查结果了。接下来遇到了第二个问题脚本格式问题。脚本上传到linux终端上去后,打开后复制粘贴运行后,只生成35个文件。其中编号第32到41的检查结果没生成,检查脚本执行情况,发现命令被断开执行了,自然会报错。解决办法是将编号第32到41的命令了重新执行一遍即可。经测试脚本运行还存在另外一个问题是偶尔会出现tar包失败的情况,解决方法是单独执行tar包命令即可,tar -cvf linuxcheck1.tar./syschecklog接下来是导出tar包到本地,因为运维终端连接远端服务器使用了ssh协议。故可使用scp命令进行远程文件传输。格式是scp远端服务器用户名@远端服务器ip:/要复制文件的路径/文件发送目的地的路径,即scp [email protected]:/home/sysroot/linuxcheck1.tar /d8003/home/checklog然后输入sysroot用户的密码即可下载。等批量检查完近百台服务器后,在终端上拷贝走所有tar包即可。文章中以列出了针对风险评估的linux检查的命令脚本。希望这个能对大家有用。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表