怎么用Shell腳本實現(xiàn)檢查服務器防火墻檢查
防火墻主要由服務訪問規(guī)則、驗證工具、包過濾和應用網關4個部分組成,防火墻就是一個位于計算機和它所連接的網絡之間的軟件或硬件。這篇文章主要介紹了Shell腳本實現(xiàn)檢查服務器安全狀態(tài),本文主要檢查3個方面,分別是系統(tǒng)用戶檢查、登錄IP檢查、防火墻狀態(tài)檢查,需要的朋友可以參考下
方法步驟
說明:大家平時對Linux服務器安全主要是對系統(tǒng)用戶的檢查,登陸服務器IP檢查,以及防火墻狀態(tài)檢查!
1.需要把正確系統(tǒng)用戶名存儲在/root/liu_shell/local_user.txt文件中,然后進行比較!
2.對登陸IP判斷是不是以192.168.1和192.168.2開頭的IP為正常IP!
3.判斷iptables狀態(tài)!
復制代碼 代碼如下:
#!/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()
補充閱讀:防火墻主要使用技巧
一、所有的防火墻文件規(guī)則必須更改。
盡管這種方法聽起來很容易,但是由于防火墻沒有內置的變動管理流程,因此文件更改對于許多企業(yè)來說都不是最佳的實踐方法。如果防火墻管理員因為突發(fā)情況或者一些其他形式的業(yè)務中斷做出更改,那么他撞到槍口上的可能性就會比較大。但是如果這種更改抵消了之前的協(xié)議更改,會導致宕機嗎?這是一個相當高發(fā)的狀況。
防火墻管理產品的中央控制臺能全面可視所有的防火墻規(guī)則基礎,因此團隊的所有成員都必須達成共識,觀察誰進行了何種更改。這樣就能及時發(fā)現(xiàn)并修理故障,讓整個協(xié)議管理更加簡單和高效。
二、以最小的權限安裝所有的訪問規(guī)則。
另一個常見的安全問題是權限過度的規(guī)則設置。防火墻規(guī)則是由三個域構成的:即源(IP地址),目的地(網絡/子網絡)和服務(應用軟件或者其他目的地)。為了確保每個用戶都有足夠的端口來訪問他們所需的系統(tǒng),常用方法是在一個或者更多域內指定打來那個的目標對象。當你出于業(yè)務持續(xù)性的需要允許大范圍的IP地址來訪問大型企業(yè)的網絡,這些規(guī)則就會變得權限過度釋放,因此就會增加不安全因素。服務域的規(guī)則是開放65535個TCP端口的ANY。防火墻管理員真的就意味著為黑客開放了65535個攻擊矢量?
三、根據法規(guī)協(xié)議和更改需求來校驗每項防火墻的更改。
在防火墻操作中,日常工作都是以尋找問題,修正問題和安裝新系統(tǒng)為中心的。在安裝最新防火墻規(guī)則來解決問題,應用新產品和業(yè)務部門的過程中,我們經常會遺忘防火墻也是企業(yè)安全協(xié)議的物理執(zhí)行者。每項規(guī)則都應該重新審核來確保它能符合安全協(xié)議和任何法規(guī)協(xié)議的內容和精神,而不僅是一篇法律條文。
四、當服務過期后從防火墻規(guī)則中刪除無用的規(guī)則。
規(guī)則膨脹是防火墻經常會出現(xiàn)的安全問題,因為多數(shù)運作團隊都沒有刪除規(guī)則的流程。業(yè)務部門擅長讓你知道他們了解這些新規(guī)則,卻從來不會讓防火墻團隊知道他們不再使用某些服務了。了解退役的服務器和網絡以及應用軟件更新周期對于達成規(guī)則共識是個好的開始。運行無用規(guī)則的報表是另外一步。黑客喜歡從來不刪除規(guī)則的防火墻團隊。
怎么用Shell腳本實現(xiàn)檢查服務器防火墻檢查相關文章: