Ngnix IP封禁以及實(shí)現(xiàn)自動(dòng)封禁IP
-
在ngnix的conf目錄下創(chuàng)建一個(gè)blockip.conf文件
-
里面放需要封禁的IP,格式如下
deny?1.2.3.4;
- 在ngnix的HTTP的配置中添加如下內(nèi)容
include?blockips.conf;

- 重啟 ngnix
/usr/local/nginx/sbin/nginx?-s?reload
- 然后你就會(huì)看到IP被封禁了,你會(huì)喜提403;

- 小思考:如何實(shí)現(xiàn)使用ngnix自動(dòng)封禁ip的功能
1.AWK統(tǒng)計(jì)access.log,記錄每分鐘訪(fǎng)問(wèn)超過(guò)60次的ip,然后配合nginx進(jìn)行封禁
2.編寫(xiě)shell腳本
3.crontab定時(shí)跑腳本
好了上面操作步驟列出來(lái)了,那我們先來(lái)實(shí)現(xiàn)第一個(gè)吧

操作一:AWK統(tǒng)計(jì)access.log,記錄每分鐘訪(fǎng)問(wèn)超過(guò)60次的ip
awk?'{print?$1}'?access.log?|?sort?|?uniq?-cd?|?awk?'{if($1>60)print?$0}'
1.?awk?'{print?$1}'?access.log ??取出access.log的第一列即為ip。
2.?sort?|?uniq?-cd??去重和排序
3.?awk?'{if($1>60)print?$0}'?判斷重復(fù)的數(shù)量是否超過(guò)60個(gè),超過(guò)60個(gè)就展示出來(lái)
操作二:編寫(xiě)shell腳本,實(shí)現(xiàn)整體功能(寫(xiě)了注釋代碼)
#不能把別人IP一直封著吧,這里就清除掉了
echo?""?>?/usr/local/nginx/conf/blockip.conf
#前面最開(kāi)始編寫(xiě)的統(tǒng)計(jì)數(shù)據(jù)功能
ip_list=$(awk?'{print?$1}'?access.log?|?sort?|?uniq?-cd?|?awk?'{if($1>60)print?$0}')
#判斷這個(gè)變量是否為空
if?test?-z?"$ip_list"
then
????????#為空寫(xiě)入?11.log中,并重新啟動(dòng)ngnix
????????echo?"為空"??>>?/usr/local/nginx/logs/11.log
????????/usr/local/nginx/sbin/nginx?-s?reload
else
????????#如果不為空?前面加上?deny格式和ip寫(xiě)入blockip.conf中
????????echo?"deny"?$ip_list?>?/usr/local/nginx/conf/blockip.conf
????
????????#因?yàn)榍懊鏀y帶了行數(shù),所有我們需要去除掉前面的行數(shù),寫(xiě)入后在讀取一次
????????ip_list2=$(awk?'{print?$3}'?/usr/local/nginx/conf/blockip.conf)
????????
????????#最后再把讀取出來(lái)的值,在次寫(xiě)入到blockip.conf中
????????echo?"deny"?$ip_list2";">?/usr/local/nginx/conf/blockip.conf
????????#重啟ngnix
????????/usr/local/nginx/sbin/nginx?-s?reload
????????#清空之前的日志,從最新的開(kāi)始截取
????????echo?""?>?/usr/local/nginx/logs/access.log
fi
操作三:使用crontab定時(shí),來(lái)實(shí)現(xiàn)訪(fǎng)問(wèn)每分鐘超過(guò)60的
crontab?-e?
*?*?*?*?*?cd?/usr/local/nginx/logs/?&&?sh?ip_test.sh??每一分鐘運(yùn)行一次
systemctl?restart?crond.service?重啟一下配置既可

鏈接:https://blog.csdn.net/qq_38925100/article/details/123742463
(版權(quán)歸原作者所有,侵刪)
--完--
讀到這里說(shuō)明你
喜歡
本公眾號(hào)的文章,歡迎?
置頂(標(biāo)星)
本公眾號(hào) 信安黑客技術(shù),這樣就可以第一時(shí)間獲取推送了~
在本公眾號(hào)?信安黑客技術(shù),后臺(tái)回復(fù):
黑客
,領(lǐng)取2T學(xué)習(xí)資料?!
推
薦
閱
讀
1.?淺談九款黑客必備工具(小白必看)
2.?10款最佳免費(fèi)WiFi黑客工具(附傳送門(mén))
3.
?5種最常用的黑客工具,以及如何防御
4.?最受歡迎的20款黑客工具
評(píng)論
圖片
表情
