There were 1978 failed login attempts since …… denyhosts阻止SSH暴力攻击

今天登录服务器,发现一条不得了的提示:

天啊, 1978 次尝试登录失败,是不是有坏人盯上我的服务器了!!

(相信很多人都遇到过这种问题,不用过分担心,一般这种都是好事者的机器人在扫描弱端口。)

解决

查询了资料,主要有以下几种解决方式:

  1. 更换端口(简单省事);
  2. 合理使用安全组,限制22端口的流入ip;
  3. iptables中加上只允许你的ip段访问22端口;
  4. 使用 fail2ban、denyhosts等工具;
  5. and so on...

接下来重点说一下 denyhosts 工具的使用,其余方法大家自行搜索哈

1. 登录服务器后最好先检查一下安装环境

   1.1 判断系统安装的sshd是否支持tcp_wrappers(默认都支持)

ldd /usr/sbin/sshd |grep libwrap.so.0

        输出: libwrap.so.0 => /lib64/libwrap.so.0 表示支持

    1.2 判断Python版本,2.3版本及以上支持 (注意是大V)

python -V

2. 安装

    可yum安装或者自行下载安装包(我选后者)

    2.1 在http://denyhosts.sourceforge.net/ 下载压缩包并上传至服务器

    2.2 安装解压

        在安装包所在目录执行

        解压(2.6版本)

tar -zxvf DenyHosts-2.6.tar.gz

        安装

cd DenyHosts-2.6
python setup.py install

        程序脚本自动安装在:/usr/share/denyhosts目录
        库文件安装在:/usr/lib/python2.6/site-packages/DenyHosts目录下
        denyhosts.py默认安装在:/usr/bin/目录下

    2.3 设置启动脚本

cd /usr/share/denyhosts/
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control

        ##将denyhosts.cfg-dist中不是以"#"开头的行,写入denyhosts.cfg文件

grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg

        配置denyhosts.cfg

vi denyhosts.cfg

        具体配置项参考:

############ THESE SETTINGS ARE REQUIRED ############
            ##分析源文件
            SECURE_LOG = /var/log/secure
            ##禁止sshd登陆的IP存放文件
            HOSTS_DENY = /etc/hosts.deny
            
            ##过多久后清除已经禁止的IP
            PURGE_DENY =  1d
            
            
            ##监控的服务名
            BLOCK_SERVICE  = sshd
            
            ##表示允许无效用户登录失败的次数
            DENY_THRESHOLD_INVALID = 3
            
            ##表示允许普通用户登录失败的次数
            DENY_THRESHOLD_VALID = 3
            
            ##表示允许root用户登录失败的次数
            DENY_THRESHOLD_ROOT = 3
            
            
            DENY_THRESHOLD_RESTRICTED = 1
            
            
            WORK_DIR = /usr/share/denyhosts/data
            
            SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
            
            ##是否做域名反解
            HOSTNAME_LOOKUP=NO
            
            
            LOCK_FILE = /var/lock/subsys/denyhosts

    2.4  将denyhosts添加到系统服务并自动启动

vi /etc/rc.local 

        在末尾添加下边内容

/usr/share/denyhosts/daemon-control start

        添加至系统服务

ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
chkconfig --add denyhosts
chkconfig --level 345 denyhosts on

    2.5 启动denyhosts

service denyhosts start

    2.6 查看denyhosts是否运行成功

service denyhosts status

        提示: DenyHosts is running with pid = XXXX,即运行成功。

内容参考:https://www.cnblogs.com/rwxwsblog/p/4590608.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端卡卡西呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值