您好,登錄后才能下訂單哦!
本篇內容介紹了“如何編寫Shell腳本實現檢查服務器安全狀態”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
說明:大家平時對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()
“如何編寫Shell腳本實現檢查服務器安全狀態”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。