- 浏览: 2542801 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。
如果你在SSH下看到好多SSH进程,说明有人破解SSH,那么可以用这个阻止
========================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.conf ,您可以看看,确保配置合适你的环境
3、添加系统启动自动运行
chkconfig –add denyhosts
chkconfig denyhosts on
4启动
service denyhosts start
============================================源码安装 :测试成功
我的服务器每天都会有无数的SSH失败尝试记录,有些无聊的人一直不停的扫描,这些人真够无聊的,没事吃饱了撑着,老找些软件在那里穷举扫描,所以大家第一要记的设置一个好的够复杂的密码。
怎么样防,如果要一条一条将这些IP阻止显然治标不治本,还好有DenyHosts软件来代替我们手搞定他。
DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。
DenyHosts官方网站为:http://denyhosts.sourceforge.net
以下是安装记录(以CentOS 4.3, DenyHosts 2.5 为例)
安装
# cd /usr/local/src
# wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.5.tar.gz
# tar -zxvf DenyHosts-2.5.tar.gz
# cd DenyHosts-2.5
# python setup.py install
默认是安装到/usr/share/denyhosts目录的。
配置
# cd /usr/share/denyhosts/
# cp denyhosts.cfg-dist denyhosts.cfg
# vi denyhosts.cfg
根据自己需要进行相应的配置(解释见下文件的配置文件)
设置启动脚本
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
完了之后执行daemon-contron start就可以了。
# ./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文件:
# vi /etc/rc.local
加入下面这条命令
/usr/share/denyhosts/daemon-control start
---------------DenyHosts配置文件:
vim /usr/share/denyhosts/denyhosts.cfg
SECURE_LOG = /var/log/secure
#ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny
#控制用户登陆的文件
PURGE_DENY = 1d
#过多久后清除已经禁止的
'm' = minutes
'h' = hours
'd' = days
'w' = weeks
'y' = years
BLOCK_SERVICE = sshd
#禁止的服务名
DENY_THRESHOLD_INVALID = 100
#允许无效(非法)用户失败的次数
/usr/share/denyhosts/data/users-invalid
显示test:18:Wed Apr 13 14:49:57 2011 表示用户test非法登录了18次
DENY_THRESHOLD_VALID = 100
#允许普通(合法)用户登陆失败的次数
/usr/share/denyhosts/data/users-valid
/usr/share/denyhosts/data/hosts-valid
DENY_THRESHOLD_ROOT = 100
#允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED = 100
这个选项用来确定受限用户登陆次数限制
WORK_DIR = /usr/share/denyhosts/data
这个选项用来确定数据存储文件夹,DenyHosts会定期检查该文件下数据,分析非法数据并定期加入host.deny。
LOCK_FILE = /var/lock/subsys/denyhosts
这个选项用来确定防止系统运行多个检测程序。
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
以上这四条选项可以用来配置屏蔽的时间长短,‘d’表示天数,对于非法用户可以相对设置时间长一些
HOSTNAME_LOOKUP=NO
#是否做域名反解
ADMIN_EMAIL = test@163.com
#管理员邮件地址,它会给管理员发邮件,若不需要邮件通知,请把smtp注释掉
DAEMON_LOG = /var/log/denyhosts
#自己的日志文件
然后就可以启动了:
/usr/share/denyhosts/daemon-control start
可以看看/etc/hosts.deny内是否有禁止的IP,有的话说明已经成功了。
如果有被禁止的ip连接,会提示
server responded "connection close by remote host"
安装注意:
首先要看系统 /var/log 下有那种可供读取的日志 193 #
194 # Redhat/Fedora:
195 LOCK_FILE = /var/lock/subsys/denyhosts
196 #
197 # Debian
198 #LOCK_FILE = /var/run/denyhosts.pid
199 #
200 # Misc
201 #LOCK_FILE = /tmp/denyhosts.lock
其次 还要选择操作系统
====================================
Denyhost安装
Linux 2010-05-02 19:44:38 阅读48 评论0 字号:大中小 订阅
1、检查安装环境
检查Sshd是否支持Tcpwrap
ldd /usr/sbin/sshd |grep wrap
2、检查python版本
python –V
3、安装Denyhost
官方地址:http://denyhost.sourceforge.net
python setup.py install
程序脚本自动安装到联盟/usr/share/denyhostsEqRLinux
库文件自动安装到联盟/usr/lib/python2.3/site-packages/DenyHostsEqRLinux
denyhosts.py自动安装到/usr/bin
设置启动脚本
联盟SECURE_LOG = /var/log/secure EqRLinux
#RedHat/Fedora Core分析该日志文件EqRLinux联盟
#其它版本linux根据denyhosts.cfg-dist内提示选择。EqRLinux联盟联盟联盟
EqRLinux
PURGE_DENY = 30mEqRLinux
#过多久后清除EqRLinux联盟联盟联盟
EqRLinux
DENY_THRESHOLD_INVALID = 1EqRLinux
#允许无效用户(/etc/passwd未列出)登录失败的次数EqRLinux联盟联盟联盟
EqRLinux
DENY_THRESHOLD_VALID = 5EqRLinux
#允许有效(普通)用户登录失败的次数EqRLinux联盟联盟联盟
EqRLinux
DENY_THRESHOLD_ROOT = 3EqRLinux
#允许root登录失败的次数EqRLinux联盟联盟联盟
EqRLinux
HOSTNAME_LOOKUP=NOEqRLinux
#是否做域名反解EqRLinux联盟
把Denyhost加入到开机启动中
echo '/usr/share/denyhosts/daemon-control start'>>/etc/rc.d/rc.local
启动Denyhost的进程
/usr/share/denyhosts/daemon-control start
可以查看到Denyhost在运行中
ps -ef | grep deny
Ssh连接记录的日志文件
tail /var/log/secure –f
Denyhost日志文件
tail /var/log/denyhosts –f
Denyhost将恶意连接的IP记录到Hosts.deny文件中,过一定时间后再从该文件中清除(Denyhost.cfg中设定的时间)
vi /etc/hosts.deny
============================
我的Nagios外网监控服务器,刚开始测试时取的密码是redhat,放进公网一天就被人改了,郁闷死了;
后来环境部署成熟以后发现仍然有不少外网ip在扫描和试探,看来不用点工具不行啊;
呵呵,我尝试使用大家都推荐使用的DenyHosts,它是用Python2.3写的一个程序,
它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记
录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。DenyHosts官方网站为:
http://denyhosts.sourceforge.net
①检查安装条件
1、首先判断系统安装的sshd是否支持tcp_wrappers(默认都支持)
# ldd /usr/sbin/sshd
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)
2、判断默认安装的Python版本
# python -V
Python 2.3.4
3、已安装Python2.3以上版本的情况可以直接安装DenyHosts
# cd /usr/local/src
# wget http://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install
程序脚本自动安装到/usr/share/denyhosts
库文件自动安装到/usr/lib/python2.3/site-packages/DenyHosts
denyhosts.py自动安装到/usr/bin
②设置启动脚本
# cd /usr/share/denyhosts/
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
# grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
# vi denyhosts.cfg
根据自己需要进行相应的修改
denyhosts.cfg
SECURE_LOG = /var/log/secure
#RedHat/Fedora Core分析该日志文件
#其它版本linux根据denyhosts.cfg-dist内提示选择。
PURGE_DENY = 30m
#过多久后清除
DENY_THRESHOLD_INVALID = 1
#允许无效用户(/etc/passwd未列出)登录失败的次数
DENY_THRESHOLD_VALID = 5
#允许有效(普通)用户登录失败的次数
DENY_THRESHOLD_ROOT = 3
#允许root登录失败的次数
HOSTNAME_LOOKUP=NO
#是否做域名反解
如果需要DenyHosts随系统重启而自动启动,还需做如下设置:
# vi /etc/rc.local
加入下面这条命令
/usr/share/denyhosts/daemon-control start
③启动
# /usr/share/denyhosts/daemon-control start
如果要使DenyHosts每次重起后自动启动还需做如下设置:
# cd /etc/init.d
# ln -s /usr/share/denyhosts/daemon-control denyhosts
# chkconfig --add denyhosts
# chkconfig --level 345 denyhosts on
然后就可以启动了:
service denyhosts start
DenyHosts配置文件:
vi /etc/denyhosts.cfg
SECURE_LOG = /var/log/secure #ssh日志文件,它是根据这个文件来判断的。
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#自己的日志文件
ADMIN_EMAIL = yuhongchun027@163.com#管理员邮件地址,它会给管理员发邮件
下面这个是全自动下载安装的小脚本(推荐),当然安装后还得手动调整配置文件。install_denyhosts.sh脚本内容如下:
#!/bin/bash
cd /usr/local/src
wget http://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
tar zxf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
cd /usr/share/denyhosts/
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control
grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
echo "/usr/share/denyhosts/daemon-control start" >>/etc/rc.local
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 345 denyhosts on
service denyhosts start
下面是hostsdeny的示例:
Connection to 192.168.0.154 closed.
[root@autolemp ~]# ssh 192.168.0.154
root@192.168.0.154's password:
Permission denied, please try again.
root@192.168.0.154's password:
Permission denied, please try again.
root@192.168.0.154's password:
Permission denied (publickey,gssapi-with-mic,password)
出现最后这行表示生效。
发表评论
-
设置sudo为不需要密码
2015-04-17 09:04 10516有时候我们只需要执 ... -
haproxy 安装配置和负载实例
2015-03-27 11:49 11535一、环境说明实验环境 OS CentOS5.4 192.1 ... -
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51 8218服务器磁盘跑满了, 命令查看 如下 [root@lo ... -
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51 973Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ... -
Linux运维常用命令 (转载)
2013-01-31 10:23 25291 删除0字节文件find-type f - ... -
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47 8916http://blog.csdn.net/pang6013 ... -
网站排障分析常用的命令
2013-01-21 18:17 1400------------------------------- ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2251用VMware 安装 linux 6.0 ... -
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49 10302一 简述:LoadRunner监控Linux资源时弹出如下错误 ... -
僵尸Z进程和D进程
2012-12-10 16:47 13154-------------- 1 关于ZOMBIE进 ... -
Unix操作系统硬链接与符号链接的区别
2012-12-10 16:08 2023Unix操作系统有很多值得 ... -
nagios配置参数详解
2012-12-04 14:12 9447# Nagios return codes#定 ... -
nagios自定义监控nginx php和ip_conn
2012-12-03 17:57 3170自定义ip_conn.sh :http://zhume ... -
【汇总】shell show收藏
2012-11-29 14:03 1288================== shell从文本取对应的 ... -
Kickstart+PXE+DHCP+TFTP+NFS自动安装Centos5
2012-11-29 11:34 1606http://5ydycm.blog.51cto.com/11 ... -
haproxy+keepalived高可用负载均衡(七层)
2012-11-29 10:36 4009HAproxy是一款基于TCP( ... -
LVS+Keepalived
2012-11-29 10:10 1738http://www.linuxvirtualserver.o ... -
haproxy & LVS*(keepalived和heartbeat) & ng的比较
2012-11-29 10:04 7598http://network.51cto.com/art/ ... -
运维架构师-并不遥远的彼岸
2012-11-28 17:45 1737在百度里搜索运维架构师,你会发现招聘的职位还不少并且月薪、年 ... -
puppet模块汇总
2012-11-21 17:08 3032在磁盘上,一个模块对应一个特殊的目录结构: MODULE_ ...
相关推荐
DenyHosts是用python2.3编写的一个程序,会分析/var/log/secure等文件,当发现同一个ip进行多次ssh登录失败时会将其写入/etc/hosts.dengy文件,达到屏蔽该ip的目的。
Ubuntu安装denyhosts防止暴力破解远程SSH.docx
安全防范。、。。。。。。。。。。。。。。。。。。。。。。。。。。
上网被扫描是经常的事,为了避免 ssh 帐号和密码被暴力破解,可以利用 denyhosts 来加强系统安全性。
linux服务器如何防范ssh暴力破解--denyhosts解决.docx
denyhosts-2.10.tar.gz SSH防爆程序源码
当你的linux服务器暴露在互联网...用DenyHosts可以阻止试图猜测SSH登录口令,它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。
DenyHosts安装及配置
linux iptables用denyhosts防止黑客入侵.zip
•ftp://ftp.zixia.net/Linux/Security/SSH/WinClient/scrt30.exe (破解文件在同一目录下) 二,安装ssh •Tar zxf ssh-1.2.27.tar.gz •Cd ssh-1.2.27 •./configure #缺省安装在 /usr/local/bin & /usr/local/sbin ...
DenyHosts-2.6. 应用于linux系统,DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。 当你的linux...
标题“网络通讯统计ssh”揭示了我们关注的核心技术——SSH(Secure Shell),它是一种网络协议,用于在不安全的网络环境中安全地执行命令、传输数据和管理远程系统。SSH通过加密用户输入的数据,确保了通信过程的...
DenyHosts是一个python程序,它通过向/etc/hosts.deny中添加条目来自动阻止ssh攻击。
linux下几个比较好用的工具,全部来源于官方下载。这里分享出来。希望能帮助需要的人,谢谢!
linux 安全linux 安全linux 安全linux 安全
一个简单的Moonshine插件,用于管理denyhosts。 安装 # Rails 2 script/plugin install git://github.com/railsmachine/moonshine_denyhosts.git --force # Rails 3 script/rails plugin install git://github....
在Linux上怎么安装和配置DenyHosts工具以便进行自动屏ip.docx
安全特性方面,中标麒麟采用Selinux策略,提供了Apache防攻击模块和Denyhosts防止SSH攻击的功能,同时具备文件完整性检查的Aide高级入侵检测环境。系统还支持三权分立、强制访问控制、审计和强口令等安全增强模块,...
虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常见PHP模块exif、fileinfo、ldap、bz2、sodium、imap和swoole的一键安装、常用...自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本...