频道栏目
首页 > 资讯 > 网络安全 > 正文

在LinuxShell程序中进行身份验证

05-03-21        来源:[db:作者]  
收藏   我要投稿

来源:http://www.hutuworm.org

一.缘起   

  Linux系统管理员常常碰到的头痛问题是,在确定系统没有被入侵的前提下,不知道哪个人不小心运行了某个特定用途的Shell程序,把系统搞得一塌糊涂。而且,系统记录显示该人使用的是公用帐号(root或者admin),你无法知道这个人在现实生活中具体对应的是哪一人。   

  二.开场  

  针对以上问题,解决方案有二:其一,追查时间和ip,根据时间和ip,可以追查到该人是从哪里出来的。这套解决方案只能确定以某人为首的一群可疑人。if大家都是通过代理连服务器的话,那除了one by one查log之外更无良策了。其二,在Shell程序中通过身份验证记录log,明确责任。   

  三.求解  

  本文利用Qmail作者D. J. Bernstein大师编写的checkpassword工具进行身份验证。  

  1. 下载:

  http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz  

  2. 安装:

  tar xvfz checkpassword-0.90.tar.gz

  cd checkpassword-0.90

  make

  make setup check  

  3. 如果可执行文件checkpassword没有在/bin下出现的话,goto 1   

  再加上下面这段程序就大功告成了:   

  --------------------------------

  #!/bin/sh

  #

  # Filename: auth.sh

  # Author: hutuworm

  # @Copyleft 2003 hutuworm.org

  #

  function auth_failed () {

  echo "你耍我啊?"

  exit 1

  }

  echo "※※※※※※※※※※※"

  echo "※猪圈重地 闲人莫入※"

  echo "※※※※※※※※※※※"

  printf "请输入帐号:"

  read ACCOUNT

  if [ $ACCOUNT = admin -o $ACCOUNT = root ]

  then

  echo "本圈不欢迎admin&root!"

  exit 1

  fi

  printf "请输入密码:"

  stty -echo

  read PASSWORD

  stty echo

  echo ""

  printf "$ACCOUNT$PASSWORDY123456"   /bin/checkpassword logger "$ACCOUNT used auth.sh" 3<&0    auth_failed

  echo "欢迎光临糊涂馋寺附属斋堂之猪圈! :P"

  --------------------------------  

  四.验收   

  $ chmod +x auth.sh

  $

  $ ./auth.sh

  ※※※※※※※※※※※

  ※猪圈重地 闲人莫入※

  ※※※※※※※※※※※

  请输入帐号:hutuworm

  请输入密码:

  你耍我啊?

  $

  $ ./auth.sh

  ※※※※※※※※※※※

  ※猪圈重地 闲人莫入※

  ※※※※※※※※※※※

  请输入帐号:admin

  请输入密码:

  本圈不欢迎admin&root!

  $

  $ ./auth.sh

  ※※※※※※※※※※※

  ※猪圈重地 闲人莫入※

  ※※※※※※※※※※※

  请输入帐号:hutuworm

  请输入密码:

  欢迎光临糊涂馋寺附属斋堂之猪圈! :P

  $

  $ tail -1 /var/log/messages

  May 5 13:51:45 hutuworm.org 5月 5 13:51:45 logger: hutuworm used auth.sh


 

相关TAG标签
上一篇:透明加密利器TEFS新鲜体验
下一篇:让你的Gmail变成真正的五星级仓库
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站