工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆

denyhosts.cfg配置文件说明

denyhosts.cfg配置文件说明:(从网上找的,参考下)

denyhost的安装方法有好几种,在启动时候出现提示错误,启动失败问题汇总如下,大家可以参考处理。

今天查看了一下系统的失败登陆记录 ,几分钟都没有显示完毕,不是吧,世界上总是有那么多的闲得蛋疼的人呢?你怎么不去死呢?
使用
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /var/log/secure.1 | sort | uniq -c
统计里一下,哎,居然尝试N次!看来世界需要清静了!使用手工解决已经无法适应别人的暴力扫描了,我们也人工智能一下哈哈,使用denyhosts软件保护你的ssh吧
开始安装 CentOS 5.5, DenyHosts 2.5
cd /usr/local/src
wget ttp://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

根据自己需要进行相应的配置
配置文件说明

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
#是否做域名反解
ADMIN_EMAIL = www.yes81.net
件地址,它会给管理员发邮件
DAEMON_LOG = /var/log/denyhosts
#自己的日志文件

cp daemon-control-dist daemon-control
vi daemon-control

参考:
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/lock/subsys/denyhosts" //启动的pid文件
DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg" //配置文件

启动
chmod 700 daemon-control
./daemon-control start

设置自动启动
设置自启动:
vi /etc/rc.local
加入
/usr/share/denyhosts/daemon-control start
我使用了
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts

chkconfig denyhosts --add
那么可以使用chkconfig denyhosts on 来设置启动啦。

SECURE_LOG = /var/log/secure #sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名
稍有不同。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件,被禁止的IP会被写进里面
PURGE_DENY = 5m #过多久后清除已经禁止的
# 'm' = minutes
# 'h' = hours
# 'd' = days
# 'w' = weeks
# 'y' = years

BLOCK_SERVICE = sshd #禁止的服务名,同样也可以是ftp,smtp等等
DENY_THRESHOLD_INVALID = 5 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 10 #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 5 #允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /usr/share/denyhosts/data
HOSTNAME_LOOKUP=NO #是否做域名反解
LOCK_FILE = /var/lock/subsys/denyhosts
ADMIN_EMAIL = #管理员邮件地址
DAEMON_LOG = /var/log/denyhosts #DenyHosts的日志文件

 

DAEMON_PURGE = 1m #预设清除

启动时出现了错误,可以使用下面方式解决
./daemon-control start
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
Can't read: /private/var/log/system.log
[Errno 2] No such file or directory: '/private/var/log/system.log'
Error deleting DenyHosts lock file: /var/lock/subsys/denyhosts
[Errno 2] No such file or directory: '/var/lock/subsys/denyhosts'

使用:

mkdir -p /private/var/log/
mkdir -p /var/lock/subsys/

./daemon-control start
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
Can't read: /private/var/log/system.log
[Errno 2] No such file or directory: '/private/var/log/system.log'
Error deleting DenyHosts lock file: /var/lock/subsys/denyhosts
[Errno 2] No such file or directory: '/var/lock/subsys/denyhosts'

使用:

touch /private/var/log/system.log
touch /var/lock/subsys/denyhosts

./daemon-control start
出现:
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
DenyHosts could not obtain lock (pid: )
[Errno 17] File exists: '/var/lock/subsys/denyhosts'

使用:
rm -f /var/lock/subsys/denyhosts
./daemon-control start
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py –daemon –config=/usr/share/denyhosts/denyhosts.cfg
OK!
启动完成啦。
你可以使用
service denyhosts status来查看运行状态
DenyHosts is running with pid = 25874 表示已经启动起来了。
接下来就可以使用
cat /etc/hosts.deny来查看记录了

#service denyhost start
starting DenyHosts:   /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
python: can't open file '/usr/bin/denyhosts.py': [Errno 2] No such file or directory

经过查找发现denyhosts.py在目录/usr/local/bin/目录下,于是修改daemon-control文件
#vi daemon-control
DENYHOSTS_BIN   = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK  = "/var/lock/subsys/denyhosts"
DENYHOSTS_CFG   = "/usr/share/denyhosts/denyhosts.cfg"
 
将第一行修改为DENYHOSTS_BIN   = "/usr/local/bin/denyhosts.py"

在运行还会提示错误:导入Python版本错误的提示。如:
Traceback (most recent call last):
File "/usr/local/bin/denyhosts.py", line 5, in 
import DenyHosts.python_version
ImportError: No module named DenyHosts.python_version

到这里错误很明了了,经过查询发现版本不对会导致这个问题。

 分析后发现原因在此:以前本机已经有一个python2.4的版本,使用rpm安装的,默认的路径是/usr/lib/python2.4,因为要升级python2.5,也没有对卸载这个2.4的版本,使用编译安装的python2.5,安装路径并没有配置,这默认安装到/usr/local/lib/python2.5这个路径,而目前激活的python环境是2.5的,可能因为denyhosts安装时会根据环境查找安装,因此会在/usr/local/lib/python2.5/site-packages路径下安装Denyhosts这个文件夹。当运行denyhosts时,脚本会指定使用的是/usr/lib/python*这个路径的python里(暂时没找到脚本哪个地方指定),因此它无法定位python的版本,会出现这个错误。

最快速的解决方法是把/usr/local/lib/python2.5/site-packages路径下的Denyhosts文件夹整个拷贝到2.4的安装目录下即可。
进入/usr/local/lib/python2.5/site-packages/目录#cd /usr/local/lib/python2.5/site-packages/
#cp –rp Denyhosts /usr/lib/python2.4/ site-packages/
 
这样之后便可以启动Denyhosts了。
 
 
关于错误
Traceback (most recent call last): 
  File "/usr/local/python-2.4/bin/denyhosts.py", line 5, in ? 
    import DenyHosts.python_version 
ImportError: No module named DenyHosts.python_version 

需要修改下面的部分:
1、/usr/share/denyhosts/daemon-control 
PYTHON_BIN      = "/usr/bin/env python" 
改为 
PYTHON_BIN     = "/usr/local/python-2.4/bin/python" 
#!/usr/bin/env python 
改为
#!/usr/local/python-2.4/bin/python 
DENYHOSTS_BIN   = "/usr/bin/denyhosts.py" 
改为
DENYHOSTS_BIN   = "/usr/local/python-2.4/bin/denyhosts.py" 
2.
cp -rp /usr/local/python-2.4/lib/python2.4/site-packages/DenyHosts/  /usr/local/python-2.4/lib/python2.4/

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):