Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1302432
  • 博文数量: 416
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 4258
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-23 22:13
文章分类

全部博文(416)

文章存档

2015年(7)

2014年(42)

2013年(35)

2012年(14)

2011年(17)

2010年(10)

2009年(18)

2008年(127)

2007年(72)

2006年(23)

2005年(51)

分类: LINUX

2007-07-30 11:24:52

[ 2007/03/27 23:55 | by mlsx ]
目前,大部分Unix和Linux服务器都会运行SSH服务,这样可以允许管理员安全的连接到远程服务器并完成相关操作。也正是因为如此,SSH遭受的攻击也越来越多,虽然我们可以采用改变缺省端口,禁止某些ip或者用户,但是仍然无法制止暴力攻击。不过,现在我们尝试基于PAM(Pluggable
Authenticatiion Modules)开发的


安装

1)


2)编译安装

#tar -vxzf pam_abl-0.2.3.tar.gz
#cd pam_abl
#make && make install
#cp conf/pam_abl.conf /etc/security/



配置

修改/etc/pam.d/system-auth文件,加入pam_abl.so模块,下面是一个例子

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_abl.so config=/etc/security/pam_abl.conf
auth        sufficient    pam_unix.so likeauth nullok
auth        required      pam_deny.so

account     required      pam_unix.so

password    required      pam_cracklib.so retry=3
password    sufficient    pam_unix.so nullok use_authtok md5 shadow
password    required      pam_deny.so

session     required      pam_limits.so
session     required      pam_unix.so

接下来就是配置pam_abl了,我们创建配置文件/etc/security/pam_abl.conf,内容如下

#cat /etc/security/pam_abl.conf
host_db=/var/lib/abl/hosts.db
host_purge=2d
host_rule=*:3/1h,30/1d
user_db=/var/lib/abl/users.db
user_purge=2d
user_rule=!root:3/1h,30/1d


简单解释一下上面这个配置文件:
第2行和第5行定义了被禁止的用户和主机名列表保存到哪里。第3行和第6行分别定义了禁止的主机和用户的释放时间,也就是多长时间后解禁。这里定义的是2天后,主机和用户都会解禁。第4行和第7行主机和用户规则,我们看看他的语法规则。
他的规则如下:

host/user_rule=:/,/


因此上面的配置文件第4行主机规则的意思是禁止所有的主机(*表示),当一个小时内错误的连接次数达到或者超过3次,或者最后一天超过30次。
第7行用户规则意思是所有的用户,除了root(用!root表示)在最近的一个小时内连接错误达到三次就禁止,或者最近的一天超过30次。

当然,你也可以定义你选择的那些用户,比如

work|test|mlsx|steven:20/1h


这意味着上面的四个用户work,test,mlsx,steven将被禁止,如果在最近的一个小时内连接错误次数达到20次。

注:这里说的连接次数,是指你建立连接,然后输入密码,当缺省输入三次密码都不正确时,就退出了,这就算一次。
更详细的说明,请参考


测试

现在我们可以测试我们的配置了,打开终端,远程连接一下,尝试连接次数超过三次,你应该可以下面下面类似的结果

#pam_abl
Failed users:
   work (6)
       Blocking users [!root]
Failed hosts:
   mlsx (6)
       Blocking users [*]

这就表示用户work和主机mlsx被禁止了,你可以尝试再次连接机器,并输入正确的密码,也打印"权限禁止"的提示。
阅读(2464) | 评论(0) | 转发(0) |
0

上一篇:putty隧道连接

下一篇:配置PAM--介绍

给主人留下些什么吧!~~