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

XShell实现自动化执行脚本.sh文件)(网络安全检查)

第二种方式:建立会话实现点击登录

XShell实现自动化执行脚本.sh文件)(网络安全检查)

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)

XShell实现自动化执行脚本.sh文件)(网络安全检查)

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 “sz securityReport.txt”
xsh.Screen.Send VbCr
xsh.Screen.Send VbCr
End Sub

5、脚本文件具体内容(securityCheck.sh文件)

!/bin/bash

echo “————————网络安全检查开始———————-” >> /home/securityCheck/securityReport.txt
echo “——————第一部分——网卡配置查询——————–” >> /home/securityCheck/securityReport.txt

01-网卡配置——查询命令总结

network_scripts=cat /etc/sysconfig/network-scripts/ifcfg-ens192
echo “1.1 系统网卡配置信息ifcfg-ens192:” >> /home/securityCheck/securityReport.txt
echo “$network_scripts” >> /home/securityCheck/securityReport.txt
ifconfig=ifconfig
echo “1.2 系统网卡ifconfig具体信息:” >> /home/securityCheck/securityReport.txt
echo “$ifconfig” >> /home/securityCheck/securityReport.txt

02-DNS文件配置——查询命令

echo “——————第二部分——DNS配置查询——————–” >> /home/securityCheck/securityReport.txt
DNS=cat /etc/resolv.conf
echo “2.1 系统DNS配置信息:” >> /home/securityCheck/securityReport.txt
echo “$DNS” >> /home/securityCheck/securityReport.txt

03-核查NTP文件配置-查询命令

echo “——————第三部分——NTP配置查询——————–” >> /home/securityCheck/securityReport.txt

查询NTP文件配置

NTP=ntpq -p
echo “3.1 系统NTP配置信息” >> /home/securityCheck/securityReport.txt
echo “$NTP” >> /home/securityCheck/securityReport.txt

显示网络时间同步状态

NTPstat=ntpstat
echo “3.2 系统网络时间同步状态信息” >> /home/securityCheck/securityReport.txt
echo “$NTPstat” >> /home/securityCheck/securityReport.txt

04-端口检查-查询命令

echo “——————第四部分——端口信息查询——————–” >> /home/securityCheck/securityReport.txt

所有端口检查

PORT=netstat -tunlp
echo “4.1 系统所有端口信息” >> /home/securityCheck/securityReport.txt
echo “$PORT” >> /home/securityCheck/securityReport.txt

查看所有的服务和端口

AllPORT=netstat -anlp
echo “4.2 系统所有的服务及端口信息” >> /home/securityCheck/securityReport.txt
echo “$AllPORT” >> /home/securityCheck/securityReport.txt

查看服务占用的端口(比如Nginx,mysqld)

JAVA=netstat -ntulp | grep java
echo “4.3-1 java服务占用的端口信息” >> /home/securityCheck/securityReport.txt
echo “$JAVA” >> /home/securityCheck/securityReport.txt
NGINX=netstat -ntulp | grep nginx
echo “4.3-2 nginx服务占用的端口信息” >> /home/securityCheck/securityReport.txt
echo “$NGINX” >> /home/securityCheck/securityReport.txt
REDIS=netstat -ntulp | grep redis
echo “4.3-3 redis服务占用的端口信息” >> /home/securityCheck/securityReport.txt
echo “$REDIS” >> /home/securityCheck/securityReport.txt

ssh服务器端/etc/ssh/sshd_conf配置文件详解

SSH=cat /etc/ssh/sshd_config
echo “4.4 SSH服务的具体配置信息” >> /home/securityCheck/securityReport.txt
echo “$SSH” >> /home/securityCheck/securityReport.txt

echo “——————第五部分——防火墙信息查询——————–” >> /home/securityCheck/securityReport.txt

05-核查防火墙-查询命令

查看防火墙的状态

FIREWALL=firewall-cmd --state
echo “5.1 防火墙的具体信息” >> /home/securityCheck/securityReport.txt
echo “$FIREWALL” >> /home/securityCheck/securityReport.txt

查看防火墙的规则

FIRERULE=firewall-cmd --list-all
echo “5.2 防火墙的具体信息” >> /home/securityCheck/securityReport.txt
echo “$FIRERULE” >> /home/securityCheck/securityReport.txt

echo “——————第六部分——系统用户信息查询——————–” >> /home/securityCheck/securityReport.txt

06-核查系统用户-查询命令

查询系统用户列表

SYSTEMUSER=cat /etc/passwd
echo “6.1 系统的用户状态信息” >> /home/securityCheck/securityReport.txt
echo “$SYSTEMUSER” >> /home/securityCheck/securityReport.txt

查询系统用户密码列表

USERPASSWORD=cat /etc/shadow
echo “6.2 系统的用户密码信息” >> /home/securityCheck/securityReport.txt
echo “$USERPASSWORD” >> /home/securityCheck/securityReport.txt

查看系统中有哪些用户

USER=cut -d : -f 1 /etc/passwd
echo “6.3 系统的用户列表” >> /home/securityCheck/securityReport.txt
echo “$USER” >> /home/securityCheck/securityReport.txt

查看可以登录系统的用户

LOGINUSER=cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
echo “6.4 系统中具有登录权限的用户信息” >> /home/securityCheck/securityReport.txt
echo “$LOGINUSER” >> /home/securityCheck/securityReport.txt

echo “——————第七部分——系统进程信息查询——————–” >> /home/securityCheck/securityReport.txt

07-核查进程-查询命令

查询系统的所有进程

PROCESS=ps aux --sort=-%mem
echo “7.1 系统所有的进程信息(按照占用内存大小排序)” >> /home/securityCheck/securityReport.txt
echo “$PROCESS” >> /home/securityCheck/securityReport.txt

查询所有正在运行中的进程

PROCESSING=ps aux | less
echo “7.2 系统中正在运行的进程信息” >> /home/securityCheck/securityReport.txt
echo “$PROCESSING” >> /home/securityCheck/securityReport.txt

显示系统所有进程的进程树

PTREE=pstree
echo “7.3 系统整体进程树信息” >> /home/securityCheck/securityReport.txt
echo “$PTREE” >> /home/securityCheck/securityReport.txt

查询特定服务的进程树

PTREE_JAVA=pstree -aup | grep java
echo “7.4.1 系统中java服务的进程树信息” >> /home/securityCheck/securityReport.txt
echo “$PTREE_JAVA” >> /home/securityCheck/securityReport.txt
PTREE_REDIS=pstree -aup | grep redis
echo “7.4.2 系统中redis服务的进程树信息” >> /home/securityCheck/securityReport.txt
echo “$PTREE_REDIS” >> /home/securityCheck/securityReport.txt
PTREE_NGINX=pstree -aup | grep nginx
echo “7.4.3 系统中nginx服务的进程树信息” >> /home/securityCheck/securityReport.txt
echo “$PTREE_NGINX” >> /home/securityCheck/securityReport.txt
PTREE_SSH=pstree -aup | grep ssh
echo “7.4.4 系统中SSH服务的进程树信息” >> /home/securityCheck/securityReport.txt
echo “$PTREE_SSH” >> /home/securityCheck/securityReport.txt

查询某一个服务的进程数

PROCESS_COUNT_JAVA=ps -ef | grep java | wc -l
echo “7.5.1 系统中java服务的进程数” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_COUNT_JAVA” >> /home/securityCheck/securityReport.txt
PROCESS_COUNT_REDIS=ps -ef | grep redis | wc -l
echo “7.5.2 系统中redis服务的进程数” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_COUNT_JAVA” >> /home/securityCheck/securityReport.txt
PROCESS_COUNT_NGINX=ps -ef | grep nginx | wc -l
echo “7.5.3 系统中nignx服务的进程数” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_COUNT_NGINX” >> /home/securityCheck/securityReport.txt
PROCESS_COUNT_SSH=ps -ef | grep ssh | wc -l
echo “7.5.4 系统中ssh服务的进程数” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_COUNT_SSH” >> /home/securityCheck/securityReport.txt

查询某一个服务的进程详细信息

PROCESS_DETAIL_JAVA=ps -ef | grep java
echo “7.6.1 系统中java服务的具体进程信息” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_DETAIL_JAVA” >> /home/securityCheck/securityReport.txt
PROCESS_DETAIL_REDIS=ps -ef | grep redis
echo “7.6.2 系统中redis服务的具体进程信息” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_DETAIL_REDIS” >> /home/securityCheck/securityReport.txt
PROCESS_DETAIL_NGINX=ps -ef | grep nginx
echo “7.6.3 系统中nignx服务的具体进程信息” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_DETAIL_NGINX” >> /home/securityCheck/securityReport.txt
PROCESS_DETAIL_SSH=ps -ef | grep ssh
echo “7.6.4 系统中ssh服务的具体进程信息” >> /home/securityCheck/securityReport.txt
echo “$PROCESS_DETAIL_SSH” >> /home/securityCheck/securityReport.txt

echo “——————第八部分——系统CPU信息查询——————–” >> /home/securityCheck/securityReport.txt

08-核查CPU信息-查询命令

cpu逻辑核个数

CPU_NUMBER_logistic=cat /proc/cpuinfo | grep "processor" | wc -l
echo “8.1 系统CPU逻辑核个数” >> /home/securityCheck/securityReport.txt
echo “$CPU_NUMBER_logistic” >> /home/securityCheck/securityReport.txt

cpu物理核个数

CPU_NUMBER_physical=cat /proc/cpuinfo | grep "cpu cores" | uniq
echo “8.2 系统CPU物理核个数” >> /home/securityCheck/securityReport.txt
echo “$CPU_NUMBER_physical” >> /home/securityCheck/securityReport.txt

cpu个数

CPU_NUMBER=cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
echo “8.3 系统CPU的个数” >> /home/securityCheck/securityReport.txt
echo “$CPU_NUMBER” >> /home/securityCheck/securityReport.txt

cpu是否启用超线程(siblings 大于 cpu cores,说明启用了超线程)

CHAO_THREAD=cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
echo “8.4 系统的超线程情况信息” >> /home/securityCheck/securityReport.txt
echo “$CHAO_THREAD” >> /home/securityCheck/securityReport.txt

cpu的具体信息查询

CPU_DETAIL=cat /proc/cpuinfo
echo “8.5 系统CPU的具体信息” >> /home/securityCheck/securityReport.txt
echo “$CPU_DETAIL” >> /home/securityCheck/securityReport.txt

查询CPU的主频

CPU_HZ=cat /proc/cpuinfo |grep MHz|uniq
echo “8.6 系统CPU的主频信息” >> /home/securityCheck/securityReport.txt
echo “$CPU_HZ” >> /home/securityCheck/securityReport.txt

查询内存的基本信息

RAM=cat /proc/meminfo
echo “8.7 系统内存信息” >> /home/securityCheck/securityReport.txt
echo “$RAM” >> /home/securityCheck/securityReport.txt

查看CPU的型号

CPU_TYPE=dmidecode -s processor-version
echo “8.7 系统内存信息” >> /home/securityCheck/securityReport.txt
echo “$CPU_TYPE” >> /home/securityCheck/securityReport.txt
echo “————————网络安全检查结束———————-” >> /home/securityCheck/securityReport.txt

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

综合以上脚本内容和执行顺序,具体的文件如下所示:

XShell实现自动化执行脚本.sh文件)(网络安全检查)

Original: https://www.cnblogs.com/Yanjy-OnlyOne/p/15669176.html
Author: The-Chosen-One
Title: XShell实现自动化执行脚本.sh文件)(网络安全检查)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529609/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL实现备份案例(2)

    案例1:MySQL8.0实现数据库冷备份和还原 10.0.0.10 — MySQL8.0 #停止数&a…

    Linux 2023年6月7日
    0109
  • python串口助手

    最近项目中要使用模拟数据源通过向外发送数据,以前都是用C#编写,最近在研究python,所以就用python写了一个串口助手,方便以后的测试。 在电脑上通过虚拟串口助手产生两个虚拟…

    Linux 2023年6月14日
    0106
  • 在Linux下的文件IO操作

    系统调用 为什么用户程序不能直接访问系统内核提供的服务,为了更好地保护内核空间,程序的运行空间被划分为内核空间和用户空间(俗称内核状态和用户模式),它们在不同的级别上逻辑上是相互隔…

    Linux 2023年5月27日
    092
  • 关于在Rocky linux下安装dotnet sdk不成功的问题

    Rocky Linux 9,运行 dnf install -y dotnet-sdk-6.0 一切正常,运行起来非常顺利,安装完毕。但是非常诡异,运行 dotnet –list-…

    Linux 2023年6月6日
    0125
  • redis的另一个分支 keydb

    今天无意间发现了redis还有一个分支keydb 是多线程的,貌似在机器内核多的情况下效果比redis效果好 执行这些命令 在这之前先把redis关掉 sudo systemctl…

    Linux 2023年5月28日
    085
  • 本地连接虚拟机redis,解决redis connection refused: connect问题

    VM VirtualBox安装虚拟机ubuntu16.04 1、redis.conf配置文件中注释 bind 127.0.0.1,重启redis: 2、防火墙关闭(或添加可访问的端…

    Linux 2023年5月28日
    0106
  • 六、基本权限

    (一)基本权限 文件系统权限1、权限的作用:保证系统安全性,称为普通权限或文件系统权限,作用是保护文件,让有权限的用户可以访问,否则不能访问,linux文件系统权限,主要设置在文件…

    Linux 2023年6月7日
    0110
  • nginx源码编译安装(详解)

    nginx编译安装 编译安装大致步骤: 安装步骤: 官网下载合适的版本,建议选择稳定版本。 官网地址:https://nginx.org wget https://nginx.or…

    Linux 2023年5月27日
    0151
  • 基本数据类型的长度

    32位机器和64位机器中int、char等数据类型所占字节长度对比。 在32位机器和64机器中int类型都占用4个字节。编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:s…

    Linux 2023年6月13日
    095
  • 操作系统实战45讲笔记-01 程序的运行过程:从代码到机器运行

    计算机硬件是无法直接运行C 语言文本程序代码的,需要 C 语言编译器,把这个代码编译成具体硬件平台的二进制代码。再由具体操作系统建立进程,把这个二进制文件装进其进程的内存空间中,才…

    Linux 2023年6月7日
    092
  • 《拉钩课程 – 重学操作系统 – Linux 指令入门》

    1、进程是什么?进程是应用的执行副本。应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进程。 2、Linux…

    Linux 2023年5月27日
    0114
  • 2021 — 冰与火之歌

    大半夜的睡不着,越发的想给 2021 年作个总结,一想更睡不着了,来唠叨下吧。 一拖再拖的婚礼。本来定在今年正月的婚礼,因为疫情,不敢办,村里也不让办;然后选在国庆吧,卧槽,封城了…

    Linux 2023年6月16日
    0124
  • 解决Docker容器iptables不能用

    最近使用frp做跳板远程运维内网的服务器,尽管已经屏蔽了海外IP对vps服务器的访问,但是总觉得直接暴露远程管理的端口在互联网上还是不安全。于是想着用Ocserv做服务端先vpn拨…

    Linux 2023年5月27日
    0107
  • jmeter并发设置的原理

    简介 广义并发 绝对并发 简介 ​ 性能测试过程中是否需要进行同步定时器的设置,需要根据实际情况来考虑。 ​ 举个栗子来讲是我们的双十一秒杀活动,这时候就必须实现请求数量达到一定数…

    Linux 2023年6月14日
    0148
  • POJ1475(Pushing Boxes)–bbffss

    假设只有一个箱子。游戏在一个R行C列的由单位格子组成的区域中进行,每一步, 你可以移动到相邻的四个格子中的一个,前提是那个格子是空的;或者,如果你在箱子旁边,你也可以推动箱子前进一…

    Linux 2023年6月7日
    0109
  • Linux系统编程 —线程同步概念

    同步概念 同步,指对在一个系统中所发生的事件之间进行协调,在时间上出现一致性与统一化的现象。 但是,对于不同行业,对于同步的理解略有不同。比如:设备同步,是指在两个设备之间规定一个…

    Linux 2023年6月14日
    0102
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球