使用denyhost来防止ssh暴力破解

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

DenyHosts阻止攻击原理

DenyHosts会自动分析 /``var``/log/secure 等安全日志文件,当发现异常的连接请求后,会自动将其IP加入到 /etc/hosts.deny 文件中,从而达到阻止此IP继续暴力破解的可能。同时,Denyhosts还能自动在一定时间后对已经屏蔽的IP地址进行解封,非常智能。

DenyHost安装部署:

1``. 查看开发环境是否满足

rpm -qa | grep gcc

rpm -qa | python 为什么要看看python的原因是因为这个程序就是用python语言写的

2``. 下载安装Denyhost,可以在官方网站下载源码http:``//denyhosts.sourceforge.net/

tar xf DenyHosts-``2.6``.tar.gz

cd DenyHosts-``2.6

python setup.py install

3``. 查看修改配置文件;

cd /usr/share/denyhosts/

cp denyhosts.cfg-dist denyhosts.cfg

cp daemon-control-dist daemon-control

vim denyhosts.cfg

sed -e ``'/^$/d' -e ``'/^#/d' denyhosts.cfg

SECURE_LOG = /``var``/log/secure 生成的安全日志

HOSTS_DENY = /etc/hosts.deny 拒绝的IP地址

PURGE_DENY = 1h ``1``小时自动解锁,可以根据自己的环境来定义

BLOCK_SERVICE = sshd 需要拒绝的服务的名字

DENY_THRESHOLD_INVALID = ``5 某一个无效的用户名输入多少次自动锁定阻止;

DENY_THRESHOLD_VALID = ``10 一个有效的用户名尝试多少次登录后被阻止,

DENY_THRESHOLD_ROOT = ``2 root尝试登录多少次阻止

DENY_THRESHOLD_RESTRICTED = ``1

WORK_DIR = /usr/share/denyhosts/data 文件存放的路径

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES

HOSTNAME_LOOKUP=YES 是否尝试解析源IP的域名

LOCK_FILE = /``var``/lock/subsys/denyhosts

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

ADMIN_EMAIL = 设置管理员的邮箱密码

SMTP_HOST = localhost• 这是SMTP指向的地址

SMTP_PORT = ``25 SMTP的端口

SMTP_FROM = DenyHosts <nobody@localhost>

SMTP_SUBJECT = DenyHosts Report

AGE_RESET_VALID=5d

AGE_RESET_ROOT=25d

AGE_RESET_RESTRICTED=25d

AGE_RESET_INVALID=10d

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

DAEMON_LOG = /``var``/log/denyhosts

DAEMON_SLEEP = 30s

DAEMON_PURGE = 1h

######### THESE SETTINGS ARE SPECIFIC TO ##########

######### DAEMON SYNCHRONIZATION ##########

./daemon-control start 配置完成之后重启就可以

4``. 修改成开机启动就可以

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

chkconfig --add denyhost

chkconfig --level ``35 denyhost on

cat /etc/hosts.deny

/etc/rc.d/init.d/denyhost restart

5``. 测试

找一台测试机模拟测试;然后在/etc/hosts.deny中查看


文章作者: 物探网
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 物探网 !
 上一篇
使用Denyhosts防止黑客SSHD扫描 使用Denyhosts防止黑客SSHD扫描
denyhost是一个由python写的脚本,目前最新版本为2.6,可以实现对自动查找恶意ssh连接,然后把恶意ip加入到/etc/hosts.deny文件里面,以实现对服务器的安全防护 安装denyhost apt-get inst
2013-12-18
下一篇 
Ubuntu挂载新硬盘 Ubuntu挂载新硬盘
1、加挂硬盘 sudo hdparm -I /dev/sdb 硬盘硬件安装后,此命令测试linux系统是否能找到挂载的未分区硬盘 2、创建分区 sda是第一块SCSI硬盘,sdb第二块,以此类推…物理分区使用a、b编号,每个物理
2013-12-18
  目录