免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2260 | 回复: 2
打印 上一主题 下一主题

[FreeBSD] 一次性口令opie [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-28 17:25 |只看该作者 |倒序浏览
作者:yarshure
一次性口令OPIE(FreeBSD)

口令用久了,就可能泄露,所以就有了一次性口令,用完就没用了。有没有想过强化一下你的ssh登陆呢?
原理:服务器维护一个不断变化的口令列表,这个列表是算出来的。你每次用一个口令,用什么口令是预定好的,用过就失效,轮到下一个口令你不必非记住每个口令,登陆时,系统会给你提示,根据提示,再根据你事先知道的一个密码,在安全的客户端算出口令,再用其登陆。

步骤:
1.初始化:需要初始化要登陆的系统的口令序列:
在你要使用的帐户的提示符下:
%opiepasswd -c -n 1000
Adding eliumao:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase: xxxxx
Again new secret pass phrase: xxxxx

ID eliumao OTP key is 1000 el6652
LOB COCO DISK FAIN CRAG CAM

其中第一行中,-c是创建或初始化的意思,-n后面有个数字,是你要创建的口令序列的长度,用完还要重新初始化。默认是500个。
第七行,输入你的密码,这个密码是用来以后根据系统提示算密码的,或用来重新初始化。密码复杂些没有坏处。
第八行,再输入一遍密码。
成功。
下次想修改的话,直接用不带-c的命令就好了。

2.配置sshd_config使ssh使用opie的方式验证口令
(注意,如果你用的是6.0,那么就不用第2步的配置了!!!!!)
请安装/usr/ports/security/openssh-portable。别忘了在/etc/rc.conf里加上这一行:
sshd_program="/usr/local/sbin/sshd

/etc/ssh/sshd_config
--------------------------------------
ChallengeResponseAuthentication yes     #这一行不要是no,默认是yes
--------------------------------------

3.配置PAM
(如果你用的是6.0,那么就不用第3步的配置了,相关配置文件的位置/etc/pam.d/sshd!!!!!)

以下是我的/etc/pam.conf中关于ssh的内容
--------------------------------------------------------------------------------
# OpenSSH with PAM support requires similar modules.  The session one is
# a bit strange, though...
#sshd   auth    sufficient      pam_skey.so
sshd    auth    sufficient      pam_opie.so                     no_fake_prompts
sshd    auth    requisite       pam_opieaccess.so
#sshd   auth    sufficient      pam_kerberosIV.so               try_first_pass
#sshd   auth    sufficient      pam_krb5.so                     try_first_pass
sshd    auth    required        pam_unix.so                     try_first_pass
sshd    account required        pam_unix.so
sshd    password required       pam_permit.so
sshd    session required        pam_permit.so
---------------------------------------------------------------------------------
注意,第三行,我屏蔽掉了skey方式
第四行,我设置成使用opie认证就足够了
第五行,我设置成opie认证通过是必须的,如果你还希望通过普通口令(UNIX系统口令)登陆,就不要这一行。
OK,大功告成

4.试试看
%ssh ssh.eliumao.com
otp-md5 451 gw0965 ext
Password:

这里的password是这样算的,在本地运行

%opiekey 451 gw0965
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: xxxxxxx
REIN BONN WAYS FILL CALF BRAD

注意,第一行,opiekey命令的参数就是ssh时这一行(otp-md5 451 gw0965 ext)得到的。
第四行,输入步骤1时那个secret pass phrase。
最后一行,得到的就是登陆要用的口令。

5.注意事项
显然,步骤1的那个口令的安全十分重要。产生时,最好通过安全的连接活着干脆就在服务器本地。算一次性口令时,也要注意是在安全的终端上。

[ 本帖最后由 minok 于 2006-10-28 17:29 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-10-30 02:00 |只看该作者
收藏了,回一贴

论坛徽章:
0
3 [报告]
发表于 2006-11-03 18:44 |只看该作者
恩,一直没想过这个问题,楼主辛苦了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP