這篇文章給大家分享的是有關(guān)怎么對抗ssh探測問題的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
站在用戶的角度思考問題,與客戶深入溝通,找到錦州網(wǎng)站設(shè)計與錦州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋錦州地區(qū)。
通過日志,我們時??吹接腥讼胍鸾馕覀兊膕sh登錄密碼。我們現(xiàn)在要做的就是屏蔽這樣子的***。
首先,限制ssh的登錄回話:
man 5 sshd_config,可以看到如下的配置:
* LoginGraceTime 120
如果用戶在規(guī)定的時間之內(nèi)沒有正確的登錄,則斷開。如果為0,則不限制;默認(rèn)120秒
MaxStartups 10
設(shè)置同時發(fā)生的未驗證的并發(fā)量,即同時可以有幾個登錄連接,默認(rèn)為10
也可以使用start:rate:full這樣子的配置,例如:15:30:60,如果當(dāng)前的登錄連接數(shù)為15個,則30%被拋棄;如果達(dá)到了60個,則全部拋棄
然后,使用防火墻,限制多次失敗或者無效的ssh登錄。
其原理很簡單,通過檢查auth.log,如果一個ip登錄失敗達(dá)到或者超過5次,我們就認(rèn)為是搗亂的。
先檢查/etc/syslog.conf,看看是否存在:
auth.* /var/log/auth.log
沒有就加上,我們需要記錄登錄的日志來進(jìn)行判斷。
隨后,我們就使用防火墻來做我們想要做得事情了。
IPFW:
[Copy to clipboard]
CODE:
#!/bin/sh
if ipfw show | awk '{print $1}' | grep -q 20000 ; then
ipfw delete 20000
fi
for ips in `cat /var/log/auth.log | grep sshd | grep "Illegal" | awk '{print $10}' | uniq -d` ; do
ipfw -q add 20000 deny tcp from $ips to any
done
cat /var/log/auth.log | grep sshd | grep "Failed" | rev | cut -d\ -f 4 | rev | sort | uniq -c | \
( while read num ips; do
if [ $num -gt 5 ]; then
if ! ipfw show | grep -q $ips ; then
ipfw -q add 20000 deny tcp from $ips to any
fi
fi
done
)
IPF:
[Copy to clipboard]
CODE:
#!/bin/sh
IFS='
'
for rules in `ipfstat -i | grep "group 20000"` ; do
echo "$rules" | ipf -r -f -
done
for ips in `cat /var/log/auth.log | grep sshd | grep "Illegal" | awk '{print $10}' | uniq -d` ; do
echo "block in quick from $ips to any group 20000" | ipf -f -
done
cat /var/log/auth.log | grep sshd | grep "Failed" | rev | cut -d\ -f 4 | rev | sort | uniq -c | \
( while read num ips; do
if [ $num -gt 5 ]; then
if ! ipfstat -i | grep $ips ; then
echo "block in quick from $ips to any group 20000" | ipf -f -
fi
fi
done
)
PF:
[Copy to clipboard]
CODE:
#!/bin/sh
pfctl -t ssh-violations -T flush
for ips in `cat /var/log/authlog | grep sshd | grep "Illegal" | awk '{print $10}' | uniq -d` ; do
pfctl -t ssh-violations -T add $ips
done
cat /var/log/authlog | grep sshd | grep "Failed" | rev | cut -d\ -f 4 | rev | sort | uniq -c | \
( while read num ips; do
if [ $num -gt 5 ]; then
if ! pfctl -s rules | grep -q $ips ; then
pfctl -t ssh-violations -T add $ips
fi
fi
done
)
PF還需要如下設(shè)置:
/etc/pf.conf
[Copy to clipboard]
CODE:
table
...
block drop in from
然后設(shè)置crontab:
[Copy to clipboard]
CODE:
*/1 * * * * root /operator/sshd-fwscan.sh
好了,現(xiàn)在可以自己測試一下子。
注意,測試不要把自己搞定了啊,呵呵!
注意IPFW和IPF之中的2000,根據(jù)你自己的實際情況設(shè)定規(guī)則號或者組號。
把SSH的端口改了,然后裝上portsentry,把22端口打開,只要他一掃描你的22端口立馬讓他進(jìn)黑名單!
感謝各位的閱讀!關(guān)于“怎么對抗ssh探測問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!