这篇文章给大家分享的是有关怎么对抗ssh探测问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

站在用户的角度思考问题,与客户深入沟通,找到锦州网站设计与锦州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖锦州地区。
通过日志,我们时常看到有人想要拆解我们的ssh登录密码。我们现在要做的就是屏蔽这样子的***。
  首先,限制ssh的登录回话:
  man 5 sshd_config,可以看到如下的配置:
    *  LoginGraceTime 120
        如果用户在规定的时间之内没有正确的登录,则断开。如果为0,则不限制;默认120秒
   MaxStartups 10
  设置同时发生的未验证的并发量,即同时可以有几个登录连接,默认为10
      也可以使用start:rate:full这样子的配置,例如:15:30:60,如果当前的登录连接数为15个,则30%被抛弃;如果达到了60个,则全部抛弃
  然后,使用防火墙,限制多次失败或者无效的ssh登录。
  其原理很简单,通过检查auth.log,如果一个ip登录失败达到或者超过5次,我们就认为是捣乱的。
  先检查/etc/syslog.conf,看看是否存在:
  auth.*                                          /var/log/auth.log
  没有就加上,我们需要记录登录的日志来进行判断。
  随后,我们就使用防火墙来做我们想要做得事情了。
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还需要如下设置:
/etc/pf.conf
 
[Copy to clipboard]
 
  
CODE:
table 
... 
  
block drop in from 
  然后设置crontab:
 
[Copy to clipboard]
 
  
CODE:
*/1 * * * * root /operator/sshd-fwscan.sh
  好了,现在可以自己测试一下子。
  注意,测试不要把自己搞定了啊,呵呵!
注意IPFW和IPF之中的2000,根据你自己的实际情况设定规则号或者组号。
把SSH的端口改了,然后装上portsentry,把22端口打开,只要他一扫描你的22端口立马让他进黑名单!
感谢各位的阅读!关于“怎么对抗ssh探测问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
本文题目:怎么对抗ssh探测问题
本文路径:http://www.scyingshan.cn/article/gsihhh.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 