debian下安装denyhosts防止ssh暴力破解配置

denyhosts是一个非常好用的防SSH暴力破解的软件,感觉比fail2ban简单有效。
debian下安装denyhosts非常简单。直接apt安装即可。(debian强大的地方就是什么鸟东西他都可以apt-get安装)
屏蔽的IP会记录在/etc/hosts.deny这个文件里面,可随时查看。

1、清除SSH登录记录,防止装完屏蔽自己。

echo "" > /var/log/auth.log

2、安装denyhosts

apt-get install denyhosts

2、编辑Denyhosts配置文件vi /etc/denyhosts.conf

SECURE_LOG = /var/log/auth.log  #SSH日志
PURGE_DENY = 30m  #过多久后清除已阻止IP
HOSTS_DENY = /etc/hosts.deny  #将阻止IP写入到hosts.deny
BLOCK_SERVICE  = sshd  #禁止的服务名

DENY_THRESHOLD_INVALID = 1  #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = 3  #允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = 3  #允许root登录失败的次数
DENY_THRESHOLD_RESTRICTED = 1  #设定 deny host 写入到该资料夹
WORK_DIR = /var/lib/denyhosts  #将deny的host或ip纪录到Work_dir中

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES #如果为YES,所有在$WORK_DIR/allowed-host时面的IP地址将会被认为是可疑的,如果设置为NO,所有在allowd-hosts试图登陆的结果,将不会发送警告邮件!所有不在$WORK_DIR/allowed-host时面的IP地址将会发送警告!
HOSTNAME_LOOKUP=NO  #是否做域名反解,是否将IP地址解析为主机名。
LOCK_FILE = /var/run/denyhosts.pid  #定义PID文件的位置,确保同时只有一个Denyhost进程在运行

 ############ THESE SETTINGS ARE OPTIONAL ############这里的设置是可选的

ADMIN_EMAIL = root@localhost  #当有人试图登录发送邮件。前提是,本机一定要可以发送邮件才行!
SMTP_HOST = localhost  #指定smtp服务器
SMTP_PORT = 25  #指定SMTP端口号
SMTP_FROM = DenyHosts   #指定发件人
SMTP_SUBJECT = DenyHosts Report  #指定邮件主题
AGE_RESET_VALID=5d  #多长时间后,用户登录失败的次数被置为0,这里是指在/etc/passwd里面定义的用户,如果不设置,永远都不会置0

AGE_RESET_ROOT=25d  #多长时间后,root用户登录失败的次数置为0,如果不设置,永远都不会置0
AGE_RESET_RESTRICTED=25d  #在$WORK_DIR/hosts-restricted时面定义的用户,多长时间失败次数计数器被置为0
AGE_RESET_INVALID=10d   #无效用户(不在/etc/passwd里面的用户)的失败次数计数器,多长时间被置为0
RESET_ON_SUCCESS = yes  #当某个IP使用某个用户登录成功后,该IP对应的用户失败次数将会被置为0

DAEMON_LOG = /var/log/denyhosts  #当denyhost运行在守护进程模式的时候,日志文件存储的位置
DAEMON_SLEEP = 30s   #轮询查看SSHD日志的间隔
DAEMON_PURGE = 1h    #多长时间清空$HOSTS_DENY中的IP地址,如果PURGE_DENY为空,这个设置将无效
其实默认配置我觉得足够了,修改下root的失败次数,默认的是1,一般修改成3-5就行了,DENY_THRESHOLD_ROOT = 3
HOSTNAME_LOOKUP=NO 关闭反向解析,PURGE_DENY = 30m阻止30分钟!
3、重启/etc/init.d/denyhosts restart
4.设置开机自启动
# vi /etc/rc.local
加入下面这条命令
/usr/share/denyhosts/daemon-control start

注意:如果自己之前登录失败次数很多的话,装DenyHosts前最好先清除下SSH登录记录
echo "" > /var/log/auth.log,不然有可能装完会把自己给封了。
如果你已经被自己屏蔽了,可以使用下面方法给自己解封。

1.关闭denyhosts服务

/etc/init.d/denyhosts stop

2.把系统的登录log给清空

echo "" > /var/log/auth.log

3.进/var/lib/denyhosts目录,把目录下所有文件内容清空一遍(这个是DenyHosts自己的log目录)
4.运行vi /etc/hosts.deny 把里面自己的IP给删除。

5.重启denyhosts

/etc/init.d/denyhosts restart

centos更简单了。

rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
yum install denyhosts

chkconfig --add denyhosts
chkconfig denyhosts on

service denyhosts restart

时间: 2024-10-06 13:41:29

debian下安装denyhosts防止ssh暴力破解配置的相关文章

解决ssh暴力破解服务器密码

自从开通了阿里云态势感知后,经常收到提醒,你的服务器被攻击,我从后台查看大多数攻击都是ssh暴力破解密码,于是我就考虑如何解决这一问题,一开始想到的是,修改端口,接着就是封ip地址.那下边就看看我是如何操作的, 一.修改ssh默认端口(我是修改成2222) 1.首先如果有防火墙脚本需要将2222端口添加进去,允许通过2222端口访问服务器. 2编辑ssh/sshd_config vim /etc/ssh/sshd_config 在#Port 22下边添加 Port 2222 退出保存 3.重启s

debian下安装mysql mysql是.DEB后缀的文件包

问题描述 debian下安装mysql mysql是.DEB后缀的文件包 debian linux 操作系统下安装mysql数据库 mysql数据库的文件包是以.DEB结尾的 求安装方法 解决方案 http://www.2cto.com/database/201305/212200.html

Linux有问必答:如何在Debian下安装闭源软件包

Linux有问必答:如何在Debian下安装闭源软件包 提问: 我需要在Debian下安装特定的闭源设备驱动.然而, 我无法在Debian中找到并安装软件包.如何在Debian下安装闭源软件包? Debian是一个拥有48,000软件包的发行版. 这些软件包被分为三类: main, contrib 和 non-free, 主要是根据许可证要求, 参照Debian开源软件指南 (DFSG). main软件仓库包括符合DFSG的开源软件.contrib也包括符合DFSG的开源软件,但是依赖闭源软件来

Centos下防止ssh暴力破解密码2种方法

方法一, 收集 /var/log/secure 里面的信息,若是某个IP 链接次数超过一定次数 ,则把此ip记录到/etc/hosts.deny里面. 通过crontab来执行,每天的1点1分执行一次. 1 * * * sh /root/bin/Denyhosts.sh   #!/bin/bash #Denyhosts SHELL SCRIPT cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $

如何使用denyhost来防止ssh暴力破解

关于ssh的登录,作为一个合格的linux运维人员大家都是熟悉不能在熟悉的了,我们都知道,计算机本身暴露在互联网上就是危险的,当然我们不要因为我们的业务少,用户量不多而有侥幸心理,掉以轻心:互联网的大多数攻击都是没有目的性的,黑客大神们通过大范围的IP端口扫描探测到可能存在的漏洞bug主机,然后通过自动扫描工具来进行破解,那么我们来怎么防止黑客的大神暴力破解,要么自己手动的写防止暴力破解的脚本+任务计划来实施,要么通过开源软件来完成,Denyhost正是这样的一款工具,Denyhosts是一个L

linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法_Linux

使用iptables 现在每分钟连接ssh的次数 #允许本地环回接口访问 iptables -A INPUT -i lo -j ACCEPT #对已经建立的所有链接都放行 iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT #每分钟对ssh的新连接只允许两个,已建立的连接不限制 复制代码 代码如下: iptables -A INPUT -p tcp –dport 22 -m limit –limit 2/minute –limit-bu

DenyHosts 阻止SSH暴力攻击

当你的 Linux 服务器暴露在互联网之中,该服务器将会遭到互联网上的扫描软件进行扫描,并试图猜测SSH登录口令. 你会发现,每天会有多条SSH登录失败纪录.那些扫描工具将对你的服务器构成威胁,你必须设置复杂登录口令,并将尝试多次登录失败的IP给阻止掉,让其在一段时间内不能访问该服务器. 用DenyHosts可以阻止试图猜测SSH登录口令,它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该

Windows 环境下安装Apache与虚拟目录的配置

  本文极为简要的介绍了如何在Windows平台下安装Apache2.2.x并配置虚拟目录. 以作为快速安装的参考. 详细的设置最好的文档是官方的说明文档见下方的链接, 在安装配置的时候仔细的查阅文档是很好的解决办法. 1. Apache HTTP Server Version 2.2 英文文档 2. Apache HTTP Server Version 2.2 中文文档 ---------- 准备条件 ---------- 到 http://httpd.apache.org/ 下载相应版本的A

Centos下防止ssh暴力破解shell脚本

脚本 #! /bin/bash   cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt    #筛选出状态为Failed的ip和次数   cat /var/log/secure|awk '/Invalid user/{print $NF}'|sort|uniq -c|awk '{print $2"="$1;