腳本防止SSH和vsftpd的代碼分享
發(fā)布時(shí)間:2012-01-29 16:36:57 作者:佚名
我要評(píng)論

我的一臺(tái)公網(wǎng)服務(wù)器,由于網(wǎng)站采取的是雙備份策略,所以開放了vsftpd的21端口,近來發(fā)現(xiàn)許多人在嘗試vsftpd和ssh
我隨便看了看/var/log/secure日志,顯示如下:
復(fù)制代碼
代碼如下:118.33.110.52=2834
119.145.254.77=37
121.254.179.199=226
121.88.250.243=35
200.29.110.104=168
202.78.173.199=250
222.221.2.210=373
這里面除了119.145.254.77和121.88.250.243是正常的外,其它的基本都是惡意IP。
由于服務(wù)器是置于LVS集群后面,所以我原來想用iptables的recent模塊解決這個(gè)問題的方法估計(jì)是行不通的。而且,服務(wù)器的系統(tǒng)安裝的是CentOS 5.5 x86_64,iptables還暫時(shí)不支持此模塊,報(bào)錯(cuò)如下:
iptables: Unknown error 18446744073709551615
iptables: Unknown error 18446744073709551615而由于機(jī)器已經(jīng)在跑重要的業(yè)務(wù),我又不想去升級(jí)內(nèi)核,免得影響正常的網(wǎng)站運(yùn)營,所以iptables的想法暫時(shí)告一段落;后來我又想到用HostsDeny的方法來解決這個(gè)問題,感覺這個(gè)方法還是比較繁瑣,還不如自己手動(dòng)寫腳本來解決這個(gè)麻煩,腳本內(nèi)容如下:
復(fù)制代碼
代碼如下:#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt
DEFINE="100"
for i in `cat /root/black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ];
then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];
then
echo "sshd:$IP" >> /etc/hosts.deny
echo "vsftpd:$IP" >> /etc/hosts.deny
fi
fi
done
腳本思路如下:
由于/var/log/secure是以星期為輪詢的,所以我們每次可以查看這個(gè)文件,利用SHELL腳本統(tǒng)計(jì)出其中訪問失敗比較頻繁的IP,并定義一個(gè)閥值為100,如果大于100的話就將其放進(jìn)/etc/hosts.deny文件,阻止其繼續(xù)訪問vsftpd和ssh;然后將其寫進(jìn) crontab計(jì)劃列表里,每隔一段時(shí)間進(jìn)行一次排查,如果下次排查的某IP次數(shù)又大于100,首先檢查它在不在我們的黑名單,如果在的話就無視過去;如果不在,就繼續(xù)添加進(jìn)/etc/hosts.deny文件。
我的/etc/crontab文件最后一行為
* */1 * * * root sh /root/hosts_deny.sh即每隔1小時(shí)就重復(fù)執(zhí)行一次這個(gè)腳本,這里也有一個(gè)情況要說明下,/var/log/secure是每隔一個(gè)星期輪詢一次的,所以我們這里可以根據(jù)服務(wù)器的具體情況來配置多少時(shí)間執(zhí)行一次此腳本,頻繁的機(jī)器可適當(dāng)縮小這個(gè)周期。
我的公網(wǎng)機(jī)器運(yùn)行腳本一段時(shí)間后,/etc/hosts.deny文件如下:
復(fù)制代碼
代碼如下:sshd:119.145.254.77
vsftpd:119.145.254.77
sshd:222.221.2.210
vsftpd:222.221.2.210
sshd:118.218.136.25
vsftpd:118.218.136.25
sshd:118.33.110.52
vsftpd:118.33.110.52
sshd:123.196.113.11
vsftpd:123.196.113.11
sshd:14.140.172.74
vsftpd:14.140.172.74
sshd:200.29.110.104
vsftpd:200.29.110.104
sshd:202.102.89.81
vsftpd:202.102.89.81
sshd:202.78.173.199
vsftpd:202.78.173.199
相關(guān)文章
thinkphp代碼執(zhí)行g(shù)etshell的漏洞解決
本文來介紹一下thinkphp官方修復(fù)的一個(gè)getshell漏洞,框架對(duì)控制器沒有進(jìn)行足夠的檢測導(dǎo)致的一處getshell,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨2018-12-12記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊
這篇文章主要介紹了記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊,需要的朋友可以參考下2018-11-30- 這篇文章主要介紹了Linux 下多種反彈 shell 方法,需要的朋友可以參考下2017-09-06
- 這篇文章主要為大家介紹了基于反射的XSS攻擊,主要依靠站點(diǎn)服務(wù)端返回腳本,在客戶端觸發(fā)執(zhí)行從而發(fā)起Web攻擊,需要的朋友可以參考下2017-05-20
- 這篇文章主要介紹了SQL注入黑客防線網(wǎng)站實(shí)例分析,需要的朋友可以參考下2017-05-19
ASP+PHP 標(biāo)準(zhǔn)sql注入語句(完整版)
這里為大家分享一下sql注入的一些語句,很多情況下由于程序員的安全意識(shí)薄弱或基本功不足就容易導(dǎo)致sql注入安全問題,建議大家多看一下網(wǎng)上的安全文章,最好的防范就是先學(xué)2017-05-19- 對(duì)于目前流行的sql注入,程序員在編寫程序時(shí),都普遍的加入防注入程序,有些防注入程序只要在我們提交一些非法的參數(shù)后,就會(huì)自動(dòng)的記錄下你的IP地址,提交的非法參數(shù)和動(dòng)作等,2017-04-29
XSS繞過技術(shù) XSS插入繞過一些方式總結(jié)
我們友情進(jìn)行XSS檢查,偶然跳出個(gè)小彈窗,其中我們總結(jié)了一些平時(shí)可能用到的XSS插入方式,方便我們以后進(jìn)行快速檢查,也提供了一定的思路,其中XSS有反射、存儲(chǔ)、DOM這三類2016-12-27Python 爬蟲使用動(dòng)態(tài)切換ip防止封殺
這篇文章主要介紹了Python 爬蟲使用動(dòng)態(tài)切換ip防止封殺的相關(guān)資料,需要的朋友可以參考下2016-10-08使用爬蟲采集網(wǎng)站時(shí),解決被封IP的幾種方法
這篇文章主要介紹了使用爬蟲采集網(wǎng)站時(shí),解決被封IP的幾種方法的相關(guān)資料,需要的朋友可以參考下2016-10-08