博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux防止sshd被爆破(安装denyhosts)
阅读量:7236 次
发布时间:2019-06-29

本文共 2217 字,大约阅读时间需要 7 分钟。

  这是一篇收集在日志里的文档,当初查看服务器sshd日志发现很多不明IP尝 试登陆,因此想用什么办法阻止这样的事情发生。网上找了下用denyhosts可以解决这样的问题,因而也就将其收集在日志里了。由于时间较久远,找不到 原文的出处,如果你知道原文出处,可以联系我加上。好了,入正题。

  Denyhosts 是一个以Python2.3编写的程序,它主要根据系统日志文件/var/log/secure文件分析,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。

  一、检查安装环境:

    1) 判断系统安装的sshd是否支持tcp_wrappers(默认都支持),命令如下:

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

    如果有输出:libwrap.so.0 => /lib64/libwrap.so.0 则为支持

    2)判断是否有python(centos默认都有):

python -V

    只要系统Python版本不小于2.3版本即可(本机版本为Python 2.6.5)。

  二、安装DenyHosts

    1、下载DenyHosts-2.6.tar.gz并上传到服务器,可以在http://denyhosts.sourceforge.net/上下载最新的程序。

    2、安装

      1)、解压

tar -zxvf DenyHosts-2.6.tar.gz

      2)、安装

cd DenyHosts-2.6python setup.py install

程序脚本自动安装在:/usr/share/denyhosts目录

库文件安装在:/usr/lib/python2.6/site-packages/DenyHosts目录下
denyhosts.py默认安装在:/usr/bin/目录下

    3、设置启动脚本

cd /usr/share/denyhosts/cp daemon-control-dist daemon-controlchown root daemon-controlchmod 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

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

1)、自启动

vi /etc/rc.local

在末尾添加以下行

/usr/share/denyhosts/daemon-control start

2)、添加至系统服务

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

5、启动denyhosts

service denyhosts start

    6、查看denyhosts是否运行成功

service denyhosts status

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

    7、至此,denyhosts也就配置完成了;此外将sshd的默认端口修改掉,再结合denyhosts可以防止大部分sshd的暴力破解了。

转载地址:http://lngfm.baihongyu.com/

你可能感兴趣的文章
文件系统
查看>>
我的友情链接
查看>>
网络协议图形化分析工具EtherApe
查看>>
微软私有云分享(R2)17SCAC被精简的功能
查看>>
关于antd的icon字体图标的扩展
查看>>
Django框架设置session存储在redis数据库中
查看>>
基于swoole的job调度组件
查看>>
Exception loading sessions from persistent storage
查看>>
Android应用程序键盘(Keyboard)消息处理机制分析(18)
查看>>
linux内存机制简记
查看>>
【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节①...
查看>>
Spark on Yarn with Hive实战案例与常见问题解决
查看>>
ASP.NET中的三层结构解读
查看>>
如何使用js来获取cookie的值
查看>>
Intellij IDEA 下的版本控制VCS的启用与关闭
查看>>
实验6:使用安装模式配置路由器
查看>>
【菜鸟必读】Cubieboard驱动1602 LCD显示屏显示信息 (支持一键安装,含电路图)
查看>>
rpm软件包制作
查看>>
最短路径 Floyd算法
查看>>
MySQL 用户管理----匿名用户登陆问题解析
查看>>