• 使用DenyHosts阻止SSH暴力攻击


    概述: 现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进 行暴力破解(穷举扫描),所以建议vps主机的空间,尽量设置复杂的ssh登录 密码,关于如何配置安全的ssh服务,请查看:在 vps主机配置安全ssh服务这篇文章,那么有什么办法设法阻止这些,就可以使用denyhosts这款软件了,DenyHosts是 Python语言写的一个程序,它会分析SSHD的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽 IP的功能。

    DenyHosts官方网站为:http://denyhosts.sourceforge.net

    目的: 阻止非授权的大量访问我们的ssh端口,造成负载过高

    环境:vps主机 使 用型 centos5系统

    安装:

    一、使用原代码安装

    1、下载原文件且解压

    wget http://downloads.sourceforge.net/denyhosts/DenyHosts-2.6.tar.gz
    tar zxvf DenyHosts-2.6.tar.gz
    cd DenyHosts-2.6

    2、安装、配置和启动

    python setup.py install

    默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件

    cd /usr/share/denyhosts/
    cp denyhosts.cfg-dist denyhosts.cfg
    cp daemon-control-dist daemon-control

    默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详 细的解释
    接着使用下面命令启动denyhosts程序

    chown root daemon-control
    chmod 700 daemon-control
    ./daemon-control start

    如果要使DenyHosts每次重起后自动启动还需做如下设置:

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

    或者修改/etc/rc.local文件:

    echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local

    DenyHosts配置文件denyhosts.cfg说明:

    SECURE_LOG = /var/log/secure
     
    #sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。
     
    HOSTS_DENY = /etc/hosts.deny
     
    #控制用户登陆的文件
     
    PURGE_DENY = 5m
     
    #过多久后清除已经禁止的
     
    BLOCK_SERVICE  = sshd
     
    #禁止的服务名
     
    DENY_THRESHOLD_INVALID = 1
     
    #允许无效用户失败的次数
     
    DENY_THRESHOLD_VALID = 10
     
    #允许普通用户登陆失败的次数
     
    DENY_THRESHOLD_ROOT = 5
     
    #允许root登陆失败的次数
     
    HOSTNAME_LOOKUP=NO
     
    #是否做域名反解
     
    DAEMON_LOG = /var/log/denyhosts
     
    #DenyHosts的日志文件

    更多的说明请查看自带的README文本文件。

    二、使用yum命令安装

    1、下载和安装EPEL RPM

    cd /tmp
    wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
    rpm -Uhv epel-release-5-3.noarch.rpm

    2、使用yum命令安装denyhosts

    yum install denyhosts

    主要配置文件/etc/denyhosts.cfg ,您可以看看,确保配置合适你的环境
    3、添加系统启动自动运行

    chkconfig --add denyhosts
    chkconfig denyhosts on

    如何你想把某个ip或者ip段放入白名单,可以使用下列命令,这样就可以避免把自己的ip阻止了

    echo '208.85.151.*' >> /var/lib/denyhosts/allowed-hosts

    这样208.85.151.*就可以不受到此程序的约束,请根据自己的环境进行设置
    4、最后启动服务

    service denyhosts start

    参考文件:

    https://boxpanel.blueboxgrp.com/public/the_vault/index.php/Installing_DenyHosts

    http://www.sofee.cn/blog/2006/10/22/51/

  • 相关阅读:
    ASP.NET Core重写个人博客站点小结
    HoloLens开发手记
    HoloToolkit项目源码剖析
    .NET Core手记
    HoloLens开发手记
    HoloLens开发手记
    HoloLens开发手记
    对象序列化为何要定义serialVersionUID的来龙去脉
    jdbc连接sqlserver报错java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    Javascript eval()函数 基础回顾
  • 原文地址:https://www.cnblogs.com/google4y/p/2251393.html
Copyright © 2020-2023  润新知