移动安全安全管理 应用案例 网络威胁 系统安全 应用安全 数据安全 云安全
当前位置: 主页 > 信息安全 > 安全管理 >

linux下利用一次性口令实现安全管理

时间:2014-06-12 16:35来源:TuZhiJiaMi企业信息安全专家 点击:
Linux服务器一直就是以稳定、高效、安全而著称。安全是比较重要的一个环节,这关系到商业机密,更关系到企业的存亡。本文介绍了如何使用optw生成一次性口令及只允许执行特定命令,以下
Tags系统安全(735)Linux(46)安全管理(325)  

  Linux服务器一直就是以稳定、高效、安全而著称。安全是比较重要的一个环节,这关系到商业机密,更关系到企业的存亡。本文介绍了如何使用optw生成一次性口令及只允许执行特定命令,以下为译文:

linux下利用一次性口令实现安全管理

  我想允许我的朋友登录我的服务器下载一些资料,但是只允许他登录10次,登陆后只允许执行scp命令,不许干别的事情,该怎么办呢?

  归纳起来,完成以下2件事情:

  生成一次性口令

  只允许用户执行scp任务

  实现目标1:生成一次性口令

  安装otpw

  sudo apt-get install otpw-bin libpam-otpw

  配置common-auth

  nano /etc/pam.d/common-auth

  查找以下行:

  auth [success=1 default=ignore] pam_unix.so nullok_secure

  在上述行上加入:

  auth sufficient pam_otpw.so

  session optional pam_otpw.so

  用户登录时,首先尝试使用一次性口令登录,失败后,使用正常登录方法。

  配置sshd服务

  增加一个otpw配置文件:

  nano /etc/pam.d/otpw

  内容如下:

  auth sufficient pam_otpw.so

  session optional pam_otpw.so

  配置sshd配置文件包含otpw配置文件:

  nano /etc/pam.d/sshd

  查找:

  @include common-auth

  在上述行上增加一行:

  @include otpw

  修改sshd配置文件后,确保以下3个参数设置为yes:

  UsePrivilegeSeparation yes

  ChallengeResponseAuthentication yes

  UsePAM yes

  重新启动sshd服务

  service ssh restart

  这是基本的otpw配置. 确保用户home目录下存在文件配置文件 (~/.otpw) 的用户才会启用一次性口令认证. 所有其它用户不受影响。

  下列命令产生4个一次性口令:

  otpw-gen -h 5 -w 64

  下列命令产生10个一次性口令:

  otpw-gen -h 6 -w 79

  命令输出如下:

  Generating random seed ...

  If your paper password list is stolen, the thief should not gain

  access to your account with this information alone. Therefore, you

  need to memorize and enter below a prefix password. You will have to

  enter that each time directly before entering the one-time password

  (on the same line).

  When you log in, a 3-digit password number will be displayed. It

  identifies the one-time password on your list that you have to append

  to the prefix password. If another login to your account is in progress

  at the same time, several password numbers may be shown and all

  corresponding passwords have to be appended after the prefix

  password. Best generate a new password list when you have used up half

  of the old one.

  Overwrite existing password list '~/.otpw' (Y/n)?

  Enter new prefix password:

  Reenter prefix password:

  Creating '~/.otpw'.

  Generating new one-time passwords ...

  OTPW list generated 2014-02-27 01:31 on kali

  000 IT4U V3Bk 002 cfFE g=Gj 004 +2ML Ff92 006 kaag Ar:Y 008 VZY8 iGsp

  001 9H7n aPhV 003 fcIJ zf/P 005 Qxqf OhgF 007 zPY/ QJOV 009 :N7K 3zEu

  !!! REMEMBER: Enter the PREFIX PASSWORD first !!!

  SSH登录:

  login as: test

  Using keyboard-interactive authentication.

  Password 003:

  Linux debian 3.2.0-4-686-pae #1 SMP Debian 3.2.46-1 i686

  The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in the

  individual files in /usr/share/doc/*/copyright.

  Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

  permitted by applicable law.

  Last login: Tue Jul 9 20:03:23 2013 from 192.168.200.10

  test@debian:~$

  如果你的前缀口令是 "pass" 实际输入的003号密码是:

  passfcIJ zf/P

  (前缀密码后不需要输入空格)。

  创建optw一次性口令的用户组并添加用户:

  addgroup optw

  adduser test optw

  修改文件权限:

  chown root:optw /home/test/.otpw

  chmod 640 /home/test/.otpw

  禁止其它用户重置口令:

  chmod 750 /usr/bin/otpw-gen

  目标2.限制用户只允许执行scp任务:

  apt-get install rssh

  apt-get install scponly

  2个定制的shell分别完成以下任务:

  rssh限制用户的行为

  scponly时仅有scp命令的一个shell.

  现在,可以修改用户的shell:

  usermod -s /usr/sbin/scponly test

  usermod -s /usr/sbin/rssh test

  And you can confiure rssh quite descent:

  nano /etc/rssh.conf

  Content:

  # Leave these all commented out to make the default action for rssh to lock

  # users out completely...

  allowscp

  #allowsftp

  #allowcvs

  #allowrdist

  #allowrsync

  #allowsvnserve

  # if your chroot_path contains spaces, it must be quoted...

  # In the following examples, the chroot_path is "/usr/local/my chroot"

  user=test:011:000010:"/opt/scpspace/test chroot" # scp with chroot

  译者注:

  1、optw是linux上的一次性口令的开源实现,类似于RSA公司Secure ID功能。

  2、rssh是受限的shell,提供许多实用的功能。配置简单。

------分隔线----------------------------

推荐内容