Denyhosts 防止SSH暴力破解服务器密码-1

Denyhosts是python语言程序,借用tcp_wrapper程序来进行主机防护。防止暴力破解服务器用户密码。

DenyHosts可以阻止试图猜测SSH登录口令,它会分析sshd的日志文件(/var/log/secure),当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。

1.安装

# cd /usr/local

DenyHosts-2.6.tar.gz

# tar -zxvf DenyHosts-2.6.tar.gz

# cd DenyHosts-2.5

# python setup.py install

默认是安装到/usr/share/denyhosts目录

2.配置

# cd /usr/share/denyhosts/

# cp denyhosts.cfg-dist denyhosts.cfg

# vi denyhosts.cfg

相关参数解释:

############ THESE SETTINGS ARE REQUIRED ############

SECURE_LOG = /var/log/secure    //存放安全日志

HOSTS_DENY = /etc/hosts.deny    //指定黑名单

PURGE_DENY = 1w             //过多久后清除已经禁止的用户,其中w代表周,d代表天,h代表                         小时,s代表秒,m代表分钟

BLOCK_SERVICE  = sshd

DENY_THRESHOLD_INVALID = 3    #允许无效用户失败的次数

DENY_THRESHOLD_VALID = 5    #允许普通用户登陆失败的次数

DENY_THRESHOLD_ROOT = 5    #允许root登陆失败的次数

DENY_THRESHOLD_RESTRICTED = 1

WORK_DIR = /usr/share/denyhosts/data

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES

HOSTNAME_LOOKUP=YES

LOCK_FILE = /var/lock/subsys/denyhosts

############ THESE SETTINGS ARE OPTIONAL ############

ADMIN_EMAIL = [email protected]   #若有ip被禁用发邮件通知

SMTP_HOST = localhost

SMTP_PORT = 25

SMTP_FROM = DenyHosts <[email protected]>

SMTP_SUBJECT = DenyHosts Report

AGE_RESET_VALID=1d           #有效用户登录失败计数归零的时间  d代表(天)

AGE_RESET_ROOT=1d            #root用户登录失败计数归零的时间

AGE_RESET_RESTRICTED=1d

AGE_RESET_INVALID=10d         #无效用户登录失败计数归零的时间

######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########

DAEMON_LOG = /var/log/denyhosts

DAEMON_SLEEP = 30s

DAEMON_PURGE = 1h

登录[email protected]邮箱查看是否有IP被禁用。######################################################

设置启动脚本

# cp daemon-control-dist daemon-control

# chown root daemon-control

# chmod 700 daemon-control

#./daemon-control start  (启动)

#ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts

#chkconfig --add denyhosts

#chkconfig --list denyhosts

#chkconfig denyhosts on

设置开机启动

# vi /etc/rc.local

/usr/share/denyhosts/daemon-control start  //添加

3.启动服务

service denyhosts start

4. denyhos使用

如果不想让主机拒绝某一个ip,做法如下:

vi /etc/hosts.allow

sshd: 192.168.0.1  #允许192.168.0.1访问该主机的ssh服务

如果想拒绝某一个ip同样使用vi /etc/hosts.deny添加就Ok

时间: 2024-12-15 08:25:41

Denyhosts 防止SSH暴力破解服务器密码-1的相关文章

用fail2ban防止黑客暴力破解服务器密码

简单来介绍一下fail2ban的功能和特性 1.支持大量服务.如sshd,apache,qmail,proftpd,sasl等等 2.支持多种动作.如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通知)等等. 3.在logpath选项中支持通配符 4.需要Gamin支持(注:Gamin是用于监视文件和目录是否更改的服务工具) 5.需要安装python,iptables,tcp-wrapper,shorewal

Denyhosts 防止暴力破解服务器密码-1

Denyhosts是python语言程序,借用tcp_wrapper程序来进行主机防护.防止暴力破解服务器用户密码. DenyHosts可以阻止试图猜测SSH登录口令,它会分析sshd的日志文件(/var/log/secure),当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的. 1.安装 # cd /usr/local DenyHosts-2.6.tar.gz # tar -zxvf DenyHosts-2.6.tar.gz

防止ssh暴力破解linux密码

网上看到一篇安全方面的文章,常用的网站收藏无法收藏,于是放这里先.具体功能还未测试,请慎用. 下面是博客原文转载,感谢作者辛苦劳动: 服务器在互联网中,每天都有些没事儿干的人在你的机器端口扫来扫去,让管理员非常烦恼.本文描述一个方法,利用本文介绍的脚本结合iptables服务一并使用,用来防止公网计算机通过ssh进行用户口令暴力破解.目前稳重脚本已经在其他项目的实际运营环境中得到验证. 脚本内容: #!/bin/bash # 防SSH密码暴力破解脚本 # 通过分析secure日志文件使用ipta

linux安全---利用DenyHosts防止ssh暴力破解

1.了解denyhosts 在运维过程中,经常会暴力破解ssh密码:denyhosts是使用python2.3编写的利用/etc/hosts.deny对非法破解进行过滤的工具.它先检查/var/log/secure日志监控同一个ip,当错误登录次数达到预定值时将ip禁止登录. 2.使用脚本安装denyhosts [[email protected] ~]# cat install_denyhosts.sh ##全自动安装脚本 #!/bin/bash ###1.download and unpac

【Python】HackBack(获取暴力破解服务器密码的IP来源)

1.前言 又在0x00sec上翻到好东东. https://0x00sec.org/t/python-hackback-updated/882 帖子里的脚本会得到那些暴力服务器密码失败的IP和用户名,并且使用shodan api做一个溯源定位. #!/usr/bin/python3.4 import re import urllib.request import json log_path = "/var/log/auth.log" hosts = [] key = "{YO

linux下使用denyhosts防止ssh暴力破解

1.DenyHosts介绍 DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能. DenyHosts官方网站为:http://denyhosts.sourceforge.net 2. 安装DenyHosts wget "downloads.sourceforge.net/project/denyhosts/denyhosts/2.6/Deny

利用iptables防止ssh暴力破解和控制网速

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --setiptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP第一句是说,对于外来数据,如果是 TCP 协议,目标端口号是 22,网络接口是 eth0,状态是新连接,那

python暴力破解root密码

环境准备:     1.安装paramiko模块     2.服务器ssh服务开启22号端口             下面请看代码 #!/usr/bin/py #-*- coding: utf-8 -*- import paramiko ssh = paramiko.SSHClient() #实例化类 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接时自动回答为yes d = file('/root/a.txt') #字典

树莓派保卫战--防止SSH暴力破解

自己用树莓派搭建了个小server,用了很长时间了,最近查看log发现有很多SSH登陆失败,瞬间心就碎了,一直没关心小派的安全问题,怪我咯! 马上行动,首先研究下log:/var/log/auth.log记录了SSH登陆等权限安全信息,如何知道自己被攻击了呢? # grep sshd.\*Failed /var/log/auth.log | less Nov 16 11:26:44 raspberrypi2 sshd[4876]: Failed password for root from 61