XShell实现⾃动化执⾏脚本.sh⽂件)(⽹络安全检查)1、⾃动化登录服务器操作:
第⼀种⽅式:(login.vbs⽂件)
Sub Main
xsh.Screen.Send "ssh root@10.99.202.54"
xsh.Screen.Send VbCr
xsh.Screen.WaitForString "password: "
xsh.Screen.Send "TOYxmx$Hpv"
xsh.Screen.Send VbCr
xsh.Screen.Send "ifconfig"
xsh.Screen.Send VbCr
End Sub
第⼆种⽅式:建⽴会话实现点击登录
2、执⾏命令的脚本⽂件(basci.vbs⽂件)Sub Main
xsh.Screen.Send "yum install lrzsz -y"
xsh.Screen.Send VbCr
xsh.Screen.Send "yum -y install psmisc"
xsh.Screen.Send VbCr
xsh.Screen.Send "yum install -y ntp"
xsh.Screen.Send VbCr
xsh.Screen.Send "service ntpd start"
xsh.Screen.Send VbCr
xsh.Screen.Send "cd /home"
xsh.Screen.Send VbCr
xsh.Screen.Send "mkdir securityCheck"
xsh.Screen.Send VbCr
xsh.Screen.Send "cd /home/securityCheck"
xsh.Screen.Send VbCr
End Sub
3、上传⽂件
rz (enter)
4、执⾏脚本⽂件(查询信息,⽣成TXT⽂件并且导出到本地)run.vbs⽂件Sub Main
xsh.Screen.Send "chmod +x securityCheck.sh"
xsh.Screen.Send VbCr
xsh.Screen.Send "./securityCheck.sh"
xsh.Screen.Send VbCr
xsh.Screen.Send ""
xsh.Screen.Send VbCr
xsh.Screen.Send VbCr
End Sub
5、脚本⽂件具体内容(securityCheck.sh⽂件)
#!/bin/bash
echo "------------------------⽹络安全检查开始----------------------" >> /home/
echo "------------------第⼀部分——⽹卡配置查询--------------------" >> /home/
#01-⽹卡配置——查询命令总结
network_scripts=`cat /etc/sysconfig/network-scripts/ifcfg-ens192`
echo "1.1 系统⽹卡配置信息ifcfg-ens192:" >> /home/
echo "$network_scripts" >> /home/
ifconfig=`ifconfig`
echo "1.2 系统⽹卡ifconfig具体信息:" >> /home/
echo "$ifconfig" >> /home/
#02-DNS⽂件配置——查询命令
echo "------------------第⼆部分——DNS配置查询--------------------" >> /home/
DNS=`cat /f`
echo "2.1 系统DNS配置信息:" >> /home/
echo "$DNS" >> /home/
#03-核查NTP⽂件配置-查询命令
echo "------------------第三部分——NTP配置查询--------------------" >> /home/
#查询NTP⽂件配置
NTP=`ntpq -p`
echo "3.1 系统NTP配置信息" >> /home/
echo "$NTP" >> /home/
#显⽰⽹络时间同步状态
NTPstat=`ntpstat`
echo "3.2 系统⽹络时间同步状态信息" >> /home/
echo "$NTPstat" >> /home/
#04-端⼝检查-查询命令
echo "------------------第四部分——端⼝信息查询--------------------" >> /home/
#所有端⼝检查
PORT=`netstat -tunlp`
echo "4.1 系统所有端⼝信息" >> /home/
echo "$PORT" >> /home/
#查看所有的服务和端⼝
AllPORT=`netstat -anlp`
echo "4.2 系统所有的服务及端⼝信息" >> /home/
echo "$AllPORT" >> /home/
#查看服务占⽤的端⼝(⽐如Nginx,mysqld)
JAVA=`netstat -ntulp | grep java`
echo "4.3-1 java服务占⽤的端⼝信息" >> /home/
echo "$JAVA" >> /home/
NGINX=`netstat -ntulp | grep nginx`
echo "4.3-2 nginx服务占⽤的端⼝信息" >> /home/
echo "$NGINX" >> /home/
REDIS=`netstat -ntulp | grep redis`
echo "4.3-3 redis服务占⽤的端⼝信息" >> /home/
echo "$REDIS" >> /home/
#ssh服务器端/etc/ssh/sshd_conf配置⽂件详解
SSH=`cat /etc/ssh/sshd_config`
echo "4.4 SSH服务的具体配置信息" >> /home/
echo "$SSH" >> /home/
echo "------------------第五部分——防⽕墙信息查询--------------------" >> /home/ #05-核查防⽕墙-查询命令
#查看防⽕墙的状态
FIREWALL=`firewall-cmd --state`
echo "5.1 防⽕墙的具体信息" >> /home/
echo "$FIREWALL" >> /home/
#查看防⽕墙的规则
FIRERULE=`firewall-cmd --list-all`
echo "5.2 防⽕墙的具体信息" >> /home/
echo "$FIRERULE" >> /home/
echo "------------------第六部分——系统⽤户信息查询--------------------" >> /home/ #06-核查系统⽤户-查询命令
#查询系统⽤户列表
SYSTEMUSER=`cat /etc/passwd`
echo "6.1 系统的⽤户状态信息" >> /home/
echo "$SYSTEMUSER" >> /home/
#查询系统⽤户密码列表
USERPASSWORD=`cat /etc/shadow`
echo "6.2 系统的⽤户密码信息" >> /home/
echo "$USERPASSWORD" >> /home/
#查看系统中有哪些⽤户
USER=`cut -d : -f 1 /etc/passwd`
echo "6.3 系统的⽤户列表" >> /home/
echo "$USER" >> /home/
#查看可以登录系统的⽤户
LOGINUSER=`cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1`
echo "6.4 系统中具有登录权限的⽤户信息" >> /home/
echo "$LOGINUSER" >> /home/
echo "------------------第七部分——系统进程信息查询--------------------" >> /home/ #07-核查进程-查询命令
#查询系统的所有进程
PROCESS=`ps aux --sort=-%mem`
echo "7.1 系统所有的进程信息(按照占⽤内存⼤⼩排序)" >> /home/
echo "$PROCESS" >> /home/
#查询所有正在运⾏中的进程
PROCESSING=`ps aux | less`
echo "7.2 系统中正在运⾏的进程信息" >> /home/
echo "$PROCESSING" >> /home/
#显⽰系统所有进程的进程树
PTREE=`pstree`
echo "7.3 系统整体进程树信息" >> /home/
echo "$PTREE" >> /home/
#查询特定服务的进程树
PTREE_JAVA=`pstree -aup | grep java`
echo "7.4.1 系统中java服务的进程树信息" >> /home/
echo "$PTREE_JAVA" >> /home/
PTREE_REDIS=`pstree -aup | grep redis`
echo "7.4.2 系统中redis服务的进程树信息" >> /home/
echo "$PTREE_REDIS" >> /home/
PTREE_NGINX=`pstree -aup | grep nginx`
echo "7.4.3 系统中nginx服务的进程树信息" >> /home/
echo "$PTREE_NGINX" >> /home/
PTREE_SSH=`pstree -aup | grep ssh`
echo "7.4.4 系统中SSH服务的进程树信息" >> /home/
echo "$PTREE_SSH" >> /home/
#查询某⼀个服务的进程数
PROCESS_COUNT_JAVA=`ps -ef | grep java | wc -l`
echo "7.5.1 系统中java服务的进程数" >> /home/
echo "$PROCESS_COUNT_JAVA" >> /home/
PROCESS_COUNT_REDIS=`ps -ef | grep redis | wc -l`
echo "7.5.2 系统中redis服务的进程数" >> /home/
echo "$PROCESS_COUNT_JAVA" >> /home/
PROCESS_COUNT_NGINX=`ps -ef | grep nginx | wc -l`
echo "7.5.3 系统中nignx服务的进程数" >> /home/
echo "$PROCESS_COUNT_NGINX" >> /home/
PROCESS_COUNT_SSH=`ps -ef | grep ssh | wc -l`
echo "7.5.4 系统中ssh服务的进程数" >> /home/
echo "$PROCESS_COUNT_SSH" >> /home/
#查询某⼀个服务的进程详细信息
PROCESS_DETAIL_JAVA=`ps -ef | grep java`
echo "7.6.1 系统中java服务的具体进程信息" >> /home/
echo "$PROCESS_DETAIL_JAVA" >> /home/
PROCESS_DETAIL_REDIS=`ps -ef | grep redis`
echo "7.6.2 系统中redis服务的具体进程信息" >> /home/
echo "$PROCESS_DETAIL_REDIS" >> /home/
PROCESS_DETAIL_NGINX=`ps -ef | grep nginx`
echo "7.6.3 系统中nignx服务的具体进程信息" >> /home/
echo "$PROCESS_DETAIL_NGINX" >> /home/
shell脚本返回执行结果PROCESS_DETAIL_SSH=`ps -ef | grep ssh`
echo "7.6.4 系统中ssh服务的具体进程信息" >> /home/
echo "$PROCESS_DETAIL_SSH" >> /home/
echo "------------------第⼋部分——系统CPU信息查询--------------------" >> /home/
#08-核查CPU信息-查询命令
#cpu逻辑核个数
CPU_NUMBER_logistic=`cat /proc/cpuinfo | grep "processor" | wc -l`
echo "8.1 系统CPU逻辑核个数" >> /home/
echo "$CPU_NUMBER_logistic" >> /home/
#cpu物理核个数
CPU_NUMBER_physical=`cat /proc/cpuinfo | grep "cpu cores" | uniq`
echo "8.2 系统CPU物理核个数" >> /home/
echo "$CPU_NUMBER_physical" >> /home/
#cpu个数
CPU_NUMBER=`cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l`
echo "8.3 系统CPU的个数" >> /home/
echo "$CPU_NUMBER" >> /home/
#cpu是否启⽤超线程(siblings ⼤于 cpu cores,说明启⽤了超线程)
CHAO_THREAD=`cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq`
echo "8.4 系统的超线程情况信息" >> /home/
echo "$CHAO_THREAD" >> /home/
#cpu的具体信息查询
CPU_DETAIL=`cat /proc/cpuinfo`
echo "8.5 系统CPU的具体信息" >> /home/
echo "$CPU_DETAIL" >> /home/
#查询CPU的主频
CPU_HZ=`cat /proc/cpuinfo |grep MHz|uniq`
echo "8.6 系统CPU的主频信息" >> /home/
echo "$CPU_HZ" >> /home/
#查询内存的基本信息
RAM=`cat /proc/meminfo`
echo "8.7 系统内存信息" >> /home/
echo "$RAM" >> /home/
#查看CPU的型号
CPU_TYPE=`dmidecode -s processor-version`
echo "8.7 系统内存信息" >> /home/
echo "$CPU_TYPE" >> /home/
echo "------------------------⽹络安全检查结束----------------------" >> /home/ 6、结束脚本内容(end.vbs)
Sub Main
xsh.Screen.Send "cd /home"
xsh.Screen.Send VbCr
xsh.Screen.Send "rm -rf securityCheck"
xsh.Screen.Send VbCr
xsh.Screen.Send "ll"
xsh.Screen.Send VbCr
End Sub
综合以上脚本内容和执⾏顺序,具体的⽂件如下所⽰:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论