LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1956|回复: 11

恐怕 sudo 将成为一大安全隐患

[复制链接]
发表于 2010-3-27 12:11:33 | 显示全部楼层 |阅读模式
貌似是 Ubuntu 起头的,Debian 也学过来了,安装时可以
设置第一个用户有管理员权限,欺骗一个普通用户可能是
很容易的,比如“我这个程序很好用,你来试试?”,普通
用户长期登录,使用大量应用,有很大可能遭受应用的漏洞
攻击,类似前段日子 IE 上的 jpeg 漏洞。

于是有这些可能:

* PATH 被改了,sudo 实际不是 /usr/bin/sudo,我估计很少
  有人在 sudo 时写全路径吧。

  (PATH 被改不影响其它程序的路径,因为 PATH 被 sudo
  重置了)

* $HOME 下配置文件被改了,比如 sudo aptitude 读取的是
  普通用户 HOME 目录里配置。 这种攻击方式很不容易考虑到,
  如果配置里可以调用其它命令,那就风险更大了。

解决办法:
* 用 /bin/su or /usr/bin/sudo;
* 不要给第一个用户 ALL 的 sudo 权限,清楚 sudo 后 HOME
   不是 /root。
发表于 2010-3-27 12:32:24 | 显示全部楼层
You are right. Thats why every time I installed ubuntu, I will setup a real root account and change my own sudo right
回复 支持 反对

使用道具 举报

发表于 2010-3-27 13:53:50 | 显示全部楼层
我直接用SU,不用SUDO。
回复 支持 反对

使用道具 举报

发表于 2010-3-27 16:58:18 | 显示全部楼层
  1. root@debian:~# gpasswd -a abc sudo
  2. Adding user abc to group sudo
  3. root@debian:~# exit
  4. abc@debian:/home$ sudo bash
  5. We trust you have received the usual lecture from the local System
  6. Administrator. It usually boils down to these three things:
  7.     #1) Respect the privacy of others.
  8.     #2) Think before you type.
  9.     #3) With great power comes great responsibility.
  10. [sudo] password for abc:
  11. root@debian:/home# echo $HOME
  12. /home/abc
  13. root@debian:/home#
复制代码
这是真的~~~
回复 支持 反对

使用道具 举报

发表于 2010-3-27 17:22:06 | 显示全部楼层
面对社会工程学, 什么技术上的安全措施都没有太大的意义.
对用户做好安全教育更重要.
回复 支持 反对

使用道具 举报

发表于 2010-3-27 17:23:44 | 显示全部楼层
楼主,debian 很严谨,诽谤 debian 会遭报应。
http://wiki.debian.org/sudo
Sudo isn't enabled by default on Debian

Strictly speaking, sudo is installed and enabled (if you installed the Desktop task during the installation). However no rights are granted by default in Debian (as opposed to some others distributions).

How to execute a command as root: (in a default Debian installation)

    *

      When you installed the system, you chose a password for the root account.
    *

      Gnome prompts for that password (for the Administrative account) when you launch a program that configures the system.
    *

      To execute a command as root, open a terminal as root (Applications > Accessories > Root Terminal), or run su from a regular terminal.

(Note: DebianTesting (Squeeze): will introduced a similar tool, PolicyKit, targeted for Desktop/Laptop needs).
回复 支持 反对

使用道具 举报

发表于 2010-3-27 21:59:49 | 显示全部楼层
为什么arch 不采用selinux?
回复 支持 反对

使用道具 举报

发表于 2010-3-27 22:30:25 | 显示全部楼层
Post by zswlb9999;2078492
为什么arch 不采用selinux?


没必要 太麻烦

当然, 可以自己装...
回复 支持 反对

使用道具 举报

发表于 2010-3-27 23:36:55 | 显示全部楼层
Post by dieken_qfz;2078377
貌似是 Ubuntu 起头的,Debian 也学过来了,安装时可以
设置第一个用户有管理员权限,欺骗一个普通用户可能是
很容易的,比如“我这个程序很好用,你来试试?”,普通
用户长期登录,使用大量应用,有很大可能遭受应用的漏洞
攻击,类似前段日子 IE 上的 jpeg 漏洞。
于是有这些可能:

* PATH 被改了,sudo 实际不是 /usr/bin/sudo,我估计很少
  有人在 sudo 时写全路径吧。
  (PATH 被改不影响其它程序的路径,因为 PATH 被 sudo
  重置了)

* $HOME 下配置文件被改了,比如 sudo aptitude 读取的是
  普通用户 HOME 目录里配置。 这种攻击方式很不容易考虑到,
  如果配置里可以调用其它命令,那就风险更大了。



第一个会有什么问题么?

要修改一个用户的PATH,首先你得获得这个用户的账号,如果你获得了拥护的账号并且替换掉 sudo ,那么 sudo  对你还有什么用呢?要知道 ubuntu 对 sudo 的设置是要输入用户自己的密码,而你既然都已经获得了用户的账号,并在这个账号下能修改文件,那个密码对你来说就是价值为零了。


至于第二个问题,无非就是安全性与方便性之间的取舍。
如果设置为sudo时清除环境,那么home就变成 /root了,但是清除环境会使你实际上非常的不方便,例如,你设置了一套 vim 的启动脚本,但是在 sudo vim 的时候就时效了,更多时候你并不希望一个简单的权限提升却意味着你的整套个人配置都时效,而如果你真想方便的使用 Linux,必然就存在大量的定制,对不同软件都会有很多 rc 文件,那大量的定制脚本如果都针对 /root 和自己用户做两遍,会是一件非常BT的事情。极其影响用户体验。
回复 支持 反对

使用道具 举报

发表于 2010-3-27 23:47:17 | 显示全部楼层
Post by dieken_qfz;2078377
貌似是 Ubuntu 起头的,Debian 也学过来了,安装时可以
设置第一个用户有管理员权限,欺骗一个普通用户可能是
很容易的,比如“我这个程序很好用,你来试试?”,普通
用户长期登录,使用大量应用,有很大可能遭受应用的漏洞
攻击,类似前段日子 IE 上的 jpeg 漏洞。

于是有这些可能:

* PATH 被改了,sudo 实际不是 /usr/bin/sudo,我估计很少
  有人在 sudo 时写全路径吧。

  (PATH 被改不影响其它程序的路径,因为 PATH 被 sudo
  重置了)

* $HOME 下配置文件被改了,比如 sudo aptitude 读取的是
  普通用户 HOME 目录里配置。 这种攻击方式很不容易考虑到,
  如果配置里可以调用其它命令,那就风险更大了。

解决办法:
* 用 /bin/su or /usr/bin/sudo;
* 不要给第一个用户 ALL 的 sudo 权限,清楚 sudo 后 HOME
   不是 /root。


Debian也默认这么做了?那就杯具了。
我记得这些默认都没有的啊。都是你自己选择安装设置的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表