当前位置 博文首页 > Shell脚本实现检查服务器安全状态(用户、登录IP、防火墙检查)

    Shell脚本实现检查服务器安全状态(用户、登录IP、防火墙检查)

    作者:admin 时间:2021-06-24 17:44

    说明:大家平时对Linux服务器安全主要是对系统用户的检查,登陆服务器IP检查,以及防火墙状态检查!

    1.需要把正确系统用户名存储在/root/liu_shell/local_user.txt文件中,然后进行比较!
    2.对登陆IP判断是不是以192.168.1和192.168.2开头的IP为正常IP!
    3.判断iptables状态!

    复制代码 代码如下:
     
    #!/usr/bin/python
    #coding=utf-8
    import sys,os,re,socket
    host=str(socket.gethostname().strip())
    fuhao=os.linesep
    def user_panduan():
        file01=file('/etc/passwd')
        mmm=[]
        for xx in file01:
            mmm.append(re.split(':',xx)[0])
        file01.close()
        file02=file('/root/liu_shell/new_user.txt','w')
        for yy in mmm:
            file02.write('%s%s' %(yy,fuhao))
        file02.close()
        f_local=file('/root/liu_shell/local_user.txt')
        f_new=file('/root/liu_shell/new_user.txt')
        local_user=[]
        new_user=[]
        for line1 in f_local:
            line1=line1.strip()
            local_user.append(line1)
        for line2 in f_new:
            line2=line2.strip()
            new_user.append(line2)
        f_local.close()
        f_new.close()
        if local_user==new_user:
            print 'host:%s user ok' %host
        else:
            cmd="echo 'host:%s user error' |mail -s  user_error 331095659@qq.com " %host
            os.system(cmd)
    def ip_panduan():
        os.system("last|awk '{print $3}'|grep -v [a-z]|grep -v ^$|sort |uniq >/root/liu_shell/local_ip.txt")
        f_ip=file('/root/liu_shell/local_ip.txt')
        local_ip=[]
        for line in f_ip:
            line=line.strip()
            local_ip.append(line)
        for aa in local_ip:
            kk=re.match('192.168.1|192.168.2',aa)
            if kk:
                print 'host:%s ip ok' %host
            else:
                cmd="echo 'host:%s ip error' |mail -s  ip_error 331095659@qq.com " %host
                os.system(cmd)
    def iptables_panduan():
        iptables_status=int(os.popen("/sbin/iptables -nL|grep -v ^$|wc -l").readline().strip())
        if iptables_status==6:
            cmd="echo 'host:%s iptables not running!' |mail -s  iptables 331095659@qq.com " %host
            os.system(cmd)
        else:
            print 'host:%s iptable running ok' %host
    user_panduan()
    ip_panduan()
    iptables_panduan()

    js