■ 河南 郭建偉
編者按:在實(shí)際的網(wǎng)絡(luò)管理中,為了提高運(yùn)維效率,管理員會(huì)使用Zabbix,Ansible 等工具,來實(shí)現(xiàn)自動(dòng)管理行為。例如,監(jiān)控服務(wù)器的狀態(tài),部署各種軟件等。但是,這些工具配置和使用起來比較繁瑣,而且在一些特殊的場(chǎng)合并不適用。其實(shí),系統(tǒng)自身已經(jīng)提供了強(qiáng)大的Shell 腳本功能,利用各種簡(jiǎn)單的命令,可以很輕松的實(shí)現(xiàn)各種自動(dòng)化操作。這里就結(jié)合實(shí)例,來說明具體的實(shí)現(xiàn)方法。
對(duì)于公網(wǎng)上的服務(wù)器來說,如何提高其安全性,保證其可靠的運(yùn)行,是管理員必須面對(duì)的問題。
對(duì)于頻繁的攻擊行為,如何將其自動(dòng)屏蔽,避免其危害服務(wù)器的運(yùn)行呢?例如很多服務(wù)器開啟了SSH 遠(yuǎn)程訪問服務(wù),在利于管理員工作的同時(shí),也會(huì)招致諸如掃描端口、猜測(cè)密碼和非法登錄等攻擊。
除了設(shè)置復(fù)雜的密碼,啟用SSH 密鑰認(rèn)證的方法外,還可以利用系統(tǒng)NetFilter防火墻,配合Shell 腳本,自動(dòng)屏蔽各種惡意IP,來保護(hù)服務(wù)器的安全。例如,執(zhí)行“tail -fn 100 /var/log/secure”命令,可能會(huì)發(fā)現(xiàn)“Failed pasword”開頭的警告信息,說明系統(tǒng)已經(jīng)記錄了非法的嘗試登錄行為。
執(zhí) 行“vi zdfh.sh”命令,輸入“#!/bin/sh”,“SEC_File=/var/log/secure”,“I P_ADDDR= tail -n 1000 /va r/log/secure } grep "Fail ed password" | egrep -o "([0-9]{1.3}.){3}[0-9]{1.3}" sort -nr |uniq -c |awk ' $1>=3 {print $2}'”,“IPTABLE_CONF=/etc/sysconfig/iptables”,“ech o”,“cat <
保存該腳本。
該腳本的原理是從“/var/log/secure”文件中讀取針對(duì)SSH 訪問的非法的登錄信息,這里提取其后1 000行的紀(jì)錄,將所有的可疑IP提取出來,并計(jì)算出其嘗試登錄的次數(shù)。如果其登錄的此時(shí)超過3 次,那么就在防火墻規(guī)則中針對(duì)該IP 添加攔截紀(jì)錄。
例如,“-A INPUT -s x.x.x.x -m state --state NEW -m tcp -dport 22 -j DROP”等。如果在防火墻規(guī)則中已經(jīng)存在該IP 信息,那么僅僅顯示提示信息。當(dāng)配置好防火墻規(guī)則后,重啟防火墻時(shí)規(guī)則生效。除了手工執(zhí)行外,還可以將其和計(jì)劃任務(wù)結(jié)合起來使用。例如,執(zhí)行“crontab -e”命令,輸入“0/2 /opt/data/auto_deny.sh”行,每隔2 h 執(zhí)行一次該腳本。
在實(shí)際管理網(wǎng)絡(luò)時(shí),經(jīng)常需要批量復(fù)制文件到遠(yuǎn)程服務(wù)器。利用Shell 腳本,可以輕松解決該問題。
執(zhí) 行“vi zdfzfile.sh” 命 令,創(chuàng) 建 名 為“zdfzfile.sh” 的 文件, 輸 入“#!/bin/sh”,“#SRC=/etc/”,“if [! -f ip.txt ];then”,“echo -e " 中超| 梧州市| 龙胜| 宁夏| 顺昌县| 滁州市| 上林县| 南京市| 当雄县| 遵义市| 水城县| 项城市| 贺兰县| 梨树县| 新龙县| 吉林省| 乌拉特后旗| 普兰店市| 建宁县| 宁波市| 长葛市| 通海县| 古交市| 宁陕县| 西丰县| 宜君县| 张家界市| 达孜县| 怀远县| 延庆县| 宁陕县| 武宁县| 昌图县| 宁波市| 榆树市| 无极县| 夹江县| 固原市| 盐池县| 临洮县| 安阳县|