35 评论

如何防止黑客入侵[1]:避免使用高权限用户

  为啥俺把这个话题列在头一条?——因为这是个非常普遍、且远远没有得到重视的问题。根据俺的经验,如果你能够养成好习惯,【不】使用高权限用户(尤其是管理员)进行日常操作,就可以大大降低被黑的概率。下面,俺就来具体介绍一下。


★基本概念扫盲


  考虑到本文是面向外行人士,先进行一下名词解释。

◇用户权限


  所谓的“用户权限”,通俗地说,就是某个用户的权力有多大。权力越大,能干的事情越多。

◇用户组


  用户组,顾名思义,就是一组用户的集合。
  在主流的操作系统中,“用户权限”通常是和“用户组”挂钩滴。针对不同的用户组,分配了不同的权限。
  为了让用户省事儿,Windows 系统内置了若干用户组(比如:Users、Power Users、Guests、等)。这些内置的用户组,事先已经预定义好若干用户权限。

◇高权限用户


  本文提及的【高权限用户】,主要是指 Windows 系统中 Administrators 组的用户或 Linux/Unix 系统中 root 组的用户。
  另外,顺便消除一个误解。很多菜鸟以为:Windows 系统中,只有用户名为“Administrator”的用户才具有管理员权限。其实捏,任何一个用户,即使用户名不叫“Administrator”,只要是属于“Administrators 组”,也同样具有管理员权限。


★反面教材


  菜鸟的例子就不提了,光说说俺接触过的很多程序员吧。这帮家伙在使用 Linux/Unix 系统进行开发时,都晓得应该用普通用户的帐号进行操作;当需要做某些高级权限的操作,再切换到管理员帐号(root 帐号)。但即便是这些开发人员,在自己的 Windows 系统中,却喜欢用管理员(Administrator)进行日常操作,实在是很讽刺。
  如果连 IT 专业的开发人员都这样,那不太懂技术的菜鸟,就可想而知了。

★危害性


  如果你平时总是用管理员权限登录到系统并进行日常工作,那就意味着你所运行的每一个程序,同时也具有了管理员权限。要知道,管理员权限的权力是非常大滴——几乎可以干任何事情。
  假设你有上述【坏】习惯。某天,你从网上下载了一个软件,且软件已经感染了病毒。那么,当你运行这个软件时,这个病毒就会被激活。更要命的是,它也同样具有【管理员权限】。也就是说,病毒获得了与杀毒软件平起平坐的地位。假如这个病毒的作者水平再高一些,甚至可以骗过杀毒软件或者直接把杀毒软件干掉。
  除了病毒,木马也是一样。假设你上网的时候,一不留神访问了某个挂马的网站。一旦木马被激活,也同样是以【管理员权限】运行,危害同样也巨大。

★你该如何做?


  考虑到 Windows 系统的用户占绝大多数,俺就光拿 Windows 系统来说事儿。希望 Linux 及 Mac OS 的 fans 不要见怪哦。
  为了尽量少用高权限用户。你最好刚装好系统之后,单独创建一个非管理员用户。
不见图、请翻墙

  你可以让该用户仅仅属于“Power Users 组”,如下图:
不见图、请翻墙

  如果想更安全的话,可以只加入“Users 组”,今后,就主要通过这个用户进行日常的操作。如下图:
不见图、请翻墙

  考虑到有些同学不了解这两个用户组,在权限方面与管理员有啥区别。俺简单列举一下。

◇“Power Users组”与“Administrators 组”的差别


  相对于“Administrators 组”,“Power Users 组”缺少了如下几项权限(俺只列主要的):
1. 不能添加、删除、禁用系统中的其它用户。
2. 不能修改其它用户的属性(包括口令、所属的用户组、等)
3. 不能安装/卸载硬件驱动程序。
4. 不能安装/卸载某些应用软件。
5. 不能查看系统的安全日志。

◇“Users 组”与“Administrators 组”的差别


  “Users 组”的权限比“Power Users 组”更小。除了“Power Users 组”做不到的事情,“Users 组”还【缺少】如下权限(俺只列主要的):
1. 不能修改系统时间。
2. 不能修改某些系统目录(包括:系统盘的 \WINDOWS 目录、系统盘的 \WINDOWS\SYSTEM32 目录、系统盘的 \Program Files 目录)。
3. 不能启动/停止某些系统服务。
4. 不能修改注册表 HKEY_LOCAL_MECHINE 下的所有键值。

  从上述对照,明显可知,“Users 组”的权限更小,使用起来更安全。比如说,即使你运行了一个带毒的程序,由于病毒和你一样,也仅有“Users 组”的权限。所以病毒也就无法修改/破坏重要的系统目录,掀不起太大风浪。


★可能的麻烦


  通常来说,越安全的措施,往往也意味着越麻烦。但是这些麻烦,都有相应的解决之道。

◇切换用户的麻烦


  当你以普通用户身份登录后,可能由于某些原因,需要用管理员用户干点事情。但是你(可能是开了很多程序)又不想把当前用户注销。
  俺的建议是:使用【快速用户切换】(洋文叫:Fast User Switching)功能来切换用户。此功能从 Windows XP 开始提供。简单地说,就是可以让几个不同的用户同时登录同一个系统,平滑地切换。有了此功能,这个麻烦就不明显啦。

  如果你非常不幸,还在使用比较古老的 Windows 2000 系统;或者你使用的是 Windows 的服务版本(比如 Windows Server 2003)。在这些版本的 Windows 系统中,默认是没有“快速用户切换”功能滴。这可咋办捏?
  俺的建议是:
  可以在【不】注销当前用户的情况下,以另一个用户(比如管理员)启动某个需要更高权限的程序。为了说清楚,举例如下:
  假设你当前处于一个普通用户的环境,但是想另外启动一个具有管理员权限的程序,比如说命令行程序(cmd.exe)。
1. 你先创建一个指向 cmd.exe 的快捷方式。(该咋样创建快捷方式,就不用俺来教了吧?)
2. 用鼠标选中该快捷方式,在快捷菜单(右键菜单)中,选择“属性”菜单项。出现如下对话框。
不见图、请翻墙

3. 在该对话框中,点“高级”按钮。出现如下对话框。把“以其他用户身份运行”选项打勾,即可。至此,快捷方式创建完毕。
不见图、请翻墙

4. 以后,如果你想在普通用户环境中,以管理员身份执行命令行,只需点击该快捷方式,就会弹出如下对话框。然后在该对话框中输入管理员的用户名和口令,就能以管理员的身份,把该命令行启动起来。
不见图、请翻墙

◇安装软件/驱动的麻烦


  安装驱动总是需要【管理员权限】才行;另外,很多软件(比如 MS Office)在安装时,也要求用【管理员权限】进行。
  俺的建议是:
  在刚装好系统之后,先用管理员用户把上述这些软件/驱动程序都搞好。然后,就无需再用管理员用户了。毕竟你经常使用的软件相对固定,不可能三天两头安装软件或驱动(除非你是软/硬件发烧友)。即便偶尔需要重新装个软件或驱动,也可以用上述介绍的方式,【临时】切换到管理员权限。

◇修改系统时间的麻烦


  如果你平时用的是“Users 组”而不是“Power Users 组”,那你连修改系统时间的权限也没有。
  俺的建议是:
  启用 Windows 系统自带的时间同步服务,让它帮你自动同步系统时间。

  除了上述这几点,如果还有谁碰到其它的麻烦,也欢迎来信跟俺交流。俺会补充到本文中。本系列的下一个帖子,将会介绍攻击者是如何搞定你的口令/密码


回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2010/06/howto-prevent-hacker-attack-1.html

35 条评论

  1. windows下不同权限的用户运行软件的效率有很大的差别,你对比下管理员用户和来宾用户运行QQ就能有很好的体会,其它大部分软件也一样,我不知这是系统问题、文件系统问题、软件问题还是其它问题。我尽可能用低权限用户安装软件。

    回复删除
  2. 随想大侠,请问一下sendspace存储怎么样,在维基百科看的

    回复删除
  3. 还有,刚刚试了一下,为什么我不能用open id登录sendspace

    回复删除
  4. 要是为了安全,就可以用LINUX系统。这样做不实际,没什么意义啊。最简单的方法就是装防火墙和杀毒软件。
    不够作为技术文章,看看也是好的。

    回复删除
  5. 确实,windows下切换用户确实比较麻烦,限制权限用起来也不爽,这还是习惯问题,从windows早期的习惯演变而来。

    回复删除
  6. Windows 7 有UAC控制,任何程序需要高权限的时候有个对话框弹出来进行选择,这种windows是不是就不用这么麻烦的设置了,只要看清楚提出请求的程序是不是自己要的通过安全认证的程序就行了呢?

    回复删除
  7. 楼上的同学:
    即使有了UAC,俺还是建议尽量不要使用管理员权限进行日常操作。
    假如你在管理员组的用户下,不小心运行了某个恶意软件,UAC未必能够发现并提示它的恶意行为。

    回复删除
  8. 天哪 ,我根本搞不清现在使用的是什么权限,别人装好了我就用……其实象我一样的菜鸟应该很多很多,看来想不被黑客入侵,真的只有靠防火墙和其他办法了。

    回复删除
  9. 我用user用户,很多程序无法使用,甚至连chrome都找不到。这该如何操作?

    回复删除
  10. TO 楼上的网友
    能否具体说一下,哪些软件在 User 权限下无法用?
    另外,Chrome 是安装到特定用户的 %APPDATA% 目录下的,为的就是能支持非管理员用户。
    所以,如果你从 A 用户 切换到 B 用户,那在 B 用户下,还需要再次安装 Chrome

    回复删除
  11. 我是这样理解的。安装完系统后,在USER下安装应用软件,但某些软件无法在user下安装。
    而且我在安装完应用软件后建立了一个USER用户,像酷盘无法使用。
    总之,我对权限用户的相关知识不是很理解。能否写一文。谢谢

    回复删除
  12. TO 楼上的网友
    确实有些软件在 user 权限下无法安装。
    这类软件通常有如下特征之一:
    1、需要安装驱动
    2、需要写某些系统目录(Windows\System32)下的文件
    3、需要写某些注册表项(比如:HKEY_LOCAL_MECHINE)

    关于用户权限,请问具体哪个地方,你不清楚?

    回复删除
    回复
    1. 看了博客,我琢磨了下。查了资料后,有问题请教您一下:
      我用管理员(比如administrator)安装好了软件,但是在users用户下无法使用,例如:360IE,QQ,ToolWiz Care,Foxmail,Evernote.exe。。。,又不能安装,可能还有更多的软件不能运行,真是有点不爽。有没有彻底解决的方法。
      安全也是要付出代价,正因为这样,所以一直使用管理员进行日常操作,恐怕是一个普遍的问题。

      删除
    2. TO 1单元的网友
      确实有些软件,跟系统的结合比较紧密,所以只能用管理员安装或使用。

      彻底解决的办法也有,就是装虚拟机,然后在虚拟机中使用管理员。
      而你的真实系统依然使用普通用户。

      具体的做法,在本系列的《[url=http://program-think.blogspot.com/2012/10/howto-prevent-hacker-attack-7.html]Web相关的防范 (下)[/url]》一文有介绍。
      另外,俺还专门写了一个操作系统虚拟机的扫盲教程。

      删除
  13. Yes, hегe аre a few ideaѕ that
    can make the prom dress as ωonderful and eye-catchіng attire.
    Hence, ρick dresѕes with empirе waіѕts іnsteaԁ of those with tіght,
    cinched onеs. Βeсoming the prom queеn is every high school giгl's fondest dream.

    回复删除
  14. 黑客结论:
    1、只要是有云、有数据上传的软件,你的一些隐私都会被收集(比如杀软、浏览器、搜索引擎、甚至是WIN系统本身,都会收集一些数据),是否泄露就看那个软件的商业道德、隐私政策。

    2、只要有硬件地方,就能黑了你,因为用到了程序。最近几年,黑客大会等等反映出来,无线干扰人体内心脏起搏器,达到杀人目的,无线干扰胰岛素调节器杀人,无线干扰高速行驶的汽车刹车制造车祸,无线让取款机吐钱.......
    防止方法,特殊情况下尽量不用有硬件的东西,用其他简单电器代替。(你是一般老百姓,没有几个人会花大力气攻击你)。关注无线攻击。
    黑客大会上高手们都远离无线网络,关闭蓝牙,不用酒店取款机怕密码被盗。


    2013拉斯维加斯-BlackHat全球黑客大会上,总结:1、Web电脑网页已经彻底的烂掉了,目前没有任何简单有效的方法来防止攻击。2、你的私家车只不过是一台待宰的羔羊,和PC机无异。 而在某些情况下,它已经被黑了。3、手机移动设备没有安全可言。 一种方法能发送命令给SIM卡获得root权限,完全控制手机。

    结论:重要东西绝对不能放在上网的电脑手机上,放优盘里面,加密.

    回复删除
    回复
    1. 针对你提到的风险,俺补充一下。
      1、
      Windows 不如 Linux 安全。
      用 Linux 替代 Windows 可以降低很大比例的风险。顺便也减少了被流氓软件骚扰。
      2、
      Web 的风险确实很高,在本系列,俺专门写了好几篇博文谈 Web 的风险。
      安全要求高的网友,可以考虑用 虚拟机来隔离浏览器。
      3、
      无线尽量少用。

      你提到说:
      “只要有硬件地方,就能黑了你”

      这么说太绝对的。
      并不是所有的硬件都是可入侵的。
      通常是可编程的硬件,或者是提供了外部接口的硬件。

      删除
  15. Windows xp系创建一个非管理员用户

    回复删除
    回复
    1. 请问版主:如何在Windows xp系统中创建一个非管理员用户?
      前天我不小心把问题打错了!

      删除
    2. TO eryueniao889
      首先以管理员身份登录。
      进入控制面板,进入管理工具,双击运行“计算机管理”这一项
      在左侧窗口展开“系统工具”=>“本地用户和组用户”=>“用户”
      然后在右侧窗口就可以看到已有的用户列表。
      这时候就可以对用户进行添加、改名、删除
      添加的时候,你可以制定新用户属于哪个“用户组”

      如果想创建低权限用户,建议用“Users 组”或“Power Users 组”
      这两者的差异,本文中有介绍。

      删除
  16. 因为Windows的权限提升操作太坑爹了。我不搞IT,所以接触的系统不多,只是偶尔玩玩Ubuntu而已。Ubuntu的权限提升操作方便得多。

    回复删除
    回复
    1. TO Keith
      其实 Windows 下的权限提升也不算太麻烦。
      早在 Win2000,就可以通过设置快捷方式的某个选项,来实现权限提升。
      设置好之后,当点击该快捷方式的时候,会提示输入用户/密码,然后以该用户的身份运行快捷方式对应的程序。

      删除
  17. 请问尽量少用无线的意思是不是说连无家里面的线路由都应该少用啊~~~

    回复删除
    回复
    1. 公共场合(比如麦当劳、肯德基、超市等)的WIFI尽量少用,
      家里无线路由器应该没问题吧(现在家庭一般加密都是WPA2)

      删除
    2. 和wifi本身加密没啥关系。当然,wifi如果不加密,在公共场所会遭遇更多威胁。
      但是那些运行wifi的店本身也会有可能设置某些监控措施。
      家用的wifi设置好加密,比如WPA2, 还算是安全的。当然只是说从你的电脑/手机到路由这段是。

      删除
  18. 谢谢楼上解答,再问一个问题:请问如果我用虚拟机,是否说如果win7内我另外建一个user 用户开虚拟机会更安全是吗?另外我想问迅雷会不会扫描内存里的内容。因为我写东西在主机写,然后复制去虚拟机,期间也不保存~谢谢

    回复删除
  19. 请问博主,这个快速用户切换(Fast User Switching)功能怎么实现的?

    回复删除
  20. 个人感觉略有些繁琐,直接一个虚拟机加快照,一切都风平浪静了

    回复删除
  21. 你还是在最关键的地方失误了,你要是USER那里没有泄漏你的真名,也许现在2023年还能继续看你的博客。

    回复删除
    回复
    1. 当成删改泄密字样的操作,估计是博主亲自所为
      应对选项选错了,因为当时如果选择跑路,删改字样等操作看情况搞(即烟雾弹,其目的只是为了提高跑路的成功率),那么至少本博客持续更新的时间会更长

      删除