标签 病毒 下的文章

Samba 很久以来一直是为 *nix 系统上的 Windows 客户端提供共享文件和打印服务的标准。家庭用户,中型企业和大型公司都在使用它,它作为最佳解决方案在多种操作系统共存的环境中脱颖而出。

由于广泛使用的工具很可能发生这种情况,大多数 Samba 安装都面临着可能利用已知漏洞的攻击的风险,这个漏洞直到 WannaCry 勒索软件攻击的新闻出来之前都被认为是不重要的。

在本文中,我们将解释这个 Samba 漏洞是什么以及如何保护你负责的系统。根据你的安装类型(从仓库或者源码),你需要采取不同的方法。

如果你目前有在任何环境中使用 Samba 或者知道有人在使用,请继续阅读!

漏洞

过时和未修补的系统容易受到远程代码执行漏洞的攻击。简单来说,这意味着访问可写共享的人可以上传一段任意代码,并使用服务器中的 root 权限执行该代码。

这个问题在 Samba 网站上被描述为 CVE-2017-7494,并且已知会影响 Samba v3.5(2010 年 3 月初发布)及以后版本。由于与 WannaCry 有相似之处,它被非官方地被命名为 SambaCry:它们均针对 SMB 协议,并且可能是蠕虫病毒 - 这可能导致其从一个系统传播到另一个系统中。

Debian、Ubuntu、CentOS 和 Red Hat 已采取快速的行动来保护它们的用户,并为其支持的版本发布了补丁。另外,还提供了不受支持的安全临时解决方案。

更新 Samba

如先前提到的那样,根据你之前安装的方法有两种方式更新:

如果你从发行版的仓库中安装的 Samba

让我们看下在这种情况下你需要做什么:

在 Debian 下修复 SambaCry

添加下面的行到你的源列表中(/etc/apt/sources.list)以确保 apt 能够获得最新的安全更新:

deb http://security.debian.org stable/updates main
deb-src http://security.debian.org/ stable/updates main

接下来,更新可用的软件包:

# aptitude update

最后,确保 samba 软件包的版本符合漏洞修复的版本(见 CVE-2017-7494):

# aptitude show samba

Fix Sambacry in Debian

在 Debian 中修复 SambaCry

在 Ubuntu 中修复 SambaCry

要开始修复,如下检查新的可用软件包并更新 Samba 软件包:

$ sudo apt-get update
$ sudo apt-get install samba

已经修复 CVE-2017-7494 的 Samba 版本有下面这些:

  • 17.04: samba 2:4.5.8+dfsg-0ubuntu0.17.04.2
  • 16.10: samba 2:4.4.5+dfsg-2ubuntu5.6
  • 16.04 LTS: samba 2:4.3.11+dfsg-0ubuntu0.16.04.7
  • 14.04 LTS: samba 2:4.3.11+dfsg-0ubuntu0.14.04.8

最后,运行下面命令验证你的 Ubuntu 已经安装了正确的版本。

$ sudo apt-cache show samba

在 CentOS/RHEL 7 中修复 SambaCry

在 EL 7 中打过补丁的 Samba 版本是 samba-4.4.4-14.el7\_3。要安装它,这些做:

# yum makecache fast
# yum update samba

像先前那样,确保你已经安装了打补丁的 Samba 版本:

# yum info samba

Fix Sambacry in CentOS

在 CentOS 中修复 SambaCry

旧支持的 CentOS 以及 RHEL 更老的版本也有修复。参见 RHSA-2017-1270 获取更多。

如果你从源码安装的 Samba

注意:下面的过程假设你先前从源码构建的 Samba。强烈建议你在部署到生产服务器之前先在测试环境尝试。

此外,开始之前确保你备份了 smb.conf 文件。

在这种情况下,我们也会从源码编译并更新 Samba。然而在开始之前,我们必须先确保安装了所有的依赖。注意这也许会花费几分钟。

在 Debian 和 Ubuntu 中:

# aptitude install acl attr autoconf bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \
libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto xsltproc \
zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto

在 CentOS 7 或相似的版本中:

# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \
libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \
perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \
python-crypto gnutls-devel libattr-devel keyutils-libs-devel \
libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \
pam-devel popt-devel python-devel readline-devel zlib-devel

停止服务(LCTT 译注:此处不必要):

# systemctl stop smbd

下载并解压源码(在写作时 4.6.4 是最新的版本):

# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz 
# tar xzf samba-latest.tar.gz
# cd samba-4.6.4

出于了解信息的目的,用以下命令检查可用的配置选项。

# ./configure --help

如果你在先前的版本的构建中有使用到一些选项,你或许可以在上面命令的返回中包含一些选项,或者你可以选择使用默认值:

# ./configure
# make
# make install

最后重启服务。

# systemctl restart smbd

并验证你正在使用的是更新后的版本:

# smbstatus --version

这里返回的应该是 4.6.4。

其它情况

如果你使用的是不受支持的发行版本,并且由于某些原因无法升级到最新版本,你或许要考虑下面这些建议:

  • 如果 SELinux 是启用的,你是处于保护之下的!
  • 确保 Samba 共享是用 noexec 选项挂载的。这会阻止二进制文件从被挂载的文件系统中执行。

还有将:

nt pipe support = no

添加到 smb.conf[global] 字段中。你或许要记住,根据 Samba 项目,这“或许禁用 Windows 客户端的某些功能”。

重要:注意 nt pipe support = no 选项会禁用 Windows 客户端的共享列表。比如:当你在一台 Samba 服务器的 Windows Explorer 中输入 \\10.100.10.2\ 时,你会看到 “permission denied”。Windows 客户端不得不手动执行共享,如 \\10.100.10.2\share_name 来访问共享。

总结

在本篇中,我们已经描述了 SambaCry 漏洞以及如何减轻影响。我们希望你可以使用这个信息来保护你负责的系统。

如果你有关于这篇文章的任何提问以及评论,欢迎使用下面的评论栏让我们知道。


作者简介:

Gabriel Cánepa 是一名 GNU/Linux 系统管理员,阿根廷圣路易斯 Villa Mercedes 的 web 开发人员。他为一家国际大型消费品公司工作,在日常工作中使用 FOSS 工具以提高生产力,并从中获得极大乐趣。


via: https://www.tecmint.com/fix-sambacry-vulnerability-cve-2017-7494-in-linux/

作者:Gabriel Cánepa 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

永恒之石

研究人员们发现有一个新的蠕虫病毒正在通过 SMB 文件共享漏洞传播,但是不同于 “想哭” WannaCry 勒索病毒的构成,这个病毒利用了 7 个 NSA 黑客工具,而不是 “想哭” WannaCry 勒索病毒的两个。

这个蠕虫病毒的存在首次发现是在周三,它感染了 Miroslav Stampar 的 SMB 文件共享的蜜罐,Miroslav Stampar 是克罗地亚政府计算机应急响应小组成员,也是用来探测和利用 SQL 注入漏洞的 SQLMAP 工具的制造者。

永恒之石利用了七个 NSA 的工具

Stampar 命名这个在样本中被发现的病毒为 “永恒之石” EternalRocks ,其基于蠕虫病毒可执行的特性,它通过 6 个以 SMB 文件共享漏洞为中心的 NSA 工具来感染暴露在外网的一台开启 SMB 端口的计算机。这些被叫做 永恒之蓝永恒战士永恒浪漫永恒协同的 SMB 漏洞被利用危害易受攻击的计算机,而 SMBTOUCHARCHITOUCH 这两个 NSA 工具起到了检测 SMB 文件共享漏洞的作用。

一旦这个蠕虫病毒获得了最初的立足点,那么它会用另一个叫做 DOUBLEPULSAR 的 NSA 工具扩散到新的易受攻击的机器上。

永恒之石名字的起源

“永恒之石”名字的起源

“想哭”勒索病毒爆发,用了一个 SMB 蠕虫病毒感染计算机并扩散给新的受害人,这影响了超过 24 万受害者。

不同于“永恒之石”,“想哭”的 SMB 蠕虫病毒只利用了永恒之蓝这一个漏洞做初步感染,然后通过 DOUBLEPULSAR 来扩散到其他的计算机上。

“永恒之石”更加复杂,但危险性较低

作为蠕虫病毒,“永恒之石”没有“想哭”那么危险,这是由于它当前不传递任何恶意的内容,然而,这并不意味着“永恒之石”不复杂,据 Stampar 说,实际恰恰相反。

首先,“永恒之石”要比“想哭”的 SMB 蠕虫病毒更加隐蔽,一旦病毒感染了一台计算机,它会发起有两个阶段的安装过程,其中另一个是延迟执行的。

在病毒的第一个安装过程阶段,永恒之石获取一个感染计算机主机的立足点,下载 tor 客户端,然后连接到它的命令控制服务器,其定位在暗网的一个 .onion 的域名上。

在一个预定的时间内,一般是 24 个小时,命令控制器会响应,这个长延迟执行进程的做法最有可能绕过沙盒安全测试环境和安全研究人员们对病毒的分析,因为没多少人愿意一整天来等命令控制器响应。

没有停止开关的域名

此外,“永恒之石”病毒也会用和一个与“想哭” SMB 的蠕虫病毒文件相同名字的一个文件,以此愚弄安全研究人员来误判它。

但是不同于“想哭”病毒,永恒之石不包括停止开关的域名,但这是安全研究人员唯一用来停止“想哭”病毒爆发的方法。

在病毒隐匿期满且命令控制器有了响应,永恒之石开始进入安装过程的第二阶段,它会下载一个名为 shadowbrokers.zip 的归档形式的第二阶段恶意组件。

这个文件能够自解压,它包含着 shadow Brokers 黑客组织在 2017 年 4 月泄漏的七个 NSA 的 SMB 漏洞工具。 这个蠕虫病毒会开始一个快速的 ip 扫描过程并且尝试连接随机的 ip 地址。

shadowbrokers.zip的内容

在 shadowbrokers.zip 压缩包里发现了 NSA 工具的配置文件。

“永恒之石”可以马上成为武器

由于该病毒集成的漏洞较多且广泛,缺少停止开关的域名,而且有它的隐匿期,如果病毒的作者决定用它来作为勒索、银行木马、远程控制或者其他功能的武器,“永恒之石”可能会对 SMB 端口暴露在互联网的易受攻击的计算机造成严重的威胁。

就目前来看,蠕虫病毒看起来像是一个试验,或者是恶意软件作者在进行测试或者为未来的威胁而做的微调。

然而,这并不意味着“永恒之石”是无害的,感染了这个病毒的计算机是通过命令控制服务器来控制,并且蠕虫病毒的制造者能够利用这个隐藏通讯连接,发送新的恶意软件到这台感染了病毒的电脑上。

此外,DOUBLEPULSAR,这是一个带有后门的植入仍然运行在感染了永恒之石的 PC 上,不幸的是,该病毒的作者没有采取任何措施来保护这个 DOUBLEPULSAR 的植入,这意味这缺省其运行在未被保护的状态下,其他的恶意的用户能使用它作为把感染了永恒之石的计算机的后门,发送他们自己的恶意软件到这些感染病毒的 PC 上。

关于这个病毒的感染过程的 IOC 和更多信息能够在 Stampar 在几天前设置的 [GitHub] 仓库上获得。

SMB 漏洞的混战

当前,有许多人在扫描旧的和未打补丁的 SMB 服务,系统管理员已经注意到并且开始给易受攻击的计算机打补丁,关闭旧版的 SMBv1 协议,慢慢的来减少被永恒之石感染的计算机数量。

此外,像 Adylkuzz 这类恶意软件,也会关闭 SMB 端口,来阻止来自其它威胁软件的进一步利用,这同时也导致了“永恒之石”和其它利用 SMB 漏洞的恶意软件潜在目标数量的减少,来自 ForcepointCyphortSecdo 的报告详细介绍了当前针对 SMB 端口的计算机的威胁情况。

虽然如此,系统管理员补丁打的越快,系统越安全,“蠕虫病毒感染速度正在和系统管理员给机器打补丁速度比赛”,Stampar 在一次私人谈话中告诉 BleepingComputer 记者,“一旦计算机被感染,它能在任何时间将其作为武器,不论你打多时间多近的补丁。”

(题图:Miroslav Stampar, BleepingComputer & Ana María Lora Macias


作者简介:

Catalin 涉及了各方面,像数据泄漏、软件漏洞、漏洞利用、黑客新闻、暗网、编程话题、社交媒体、Web技术、产品研发等领域。


via: https://www.bleepingcomputer.com/news/security/new-smb-worm-uses-seven-nsa-hacking-tools-wannacry-used-just-two/

作者:CATALIN CIMPANU 译者:hwlog 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

最近一周,来自网络的 “想哭”勒索病毒 Wannacry Ransomware 在世界各地同时上演了一部绑匪大片,台词华丽,演技出色,当仁不让地新晋世界第一网红。全球各国除了默默忙于两弹一星足不出户的朝鲜外,无不为之动容。一时间,包括“想哭”病毒在内的各种病毒的各种传闻也火爆网络,我们并不准备跟风刷屏,只是打算本着实事求是的精神,科学的探讨一下如何与它们和睦相处、谈笑风生。

“想哭”病毒的前世今生

首先,让我们先简要回顾一下主角“想哭”病毒的前世今生。

“想哭”病毒是基于网络攻击框架二次开发的结果,它利用了 NSA(美国国家安全局)的前辈们留下的非物质文化遗产: 永恒之蓝 ETERNAL BLUE 模块,针对 Windows SMB 服务的实现漏洞植入恶意代码,再结合自己的创新:加密用户文件和显示勒索声明,一代网红勒索病毒由此诞生。从病毒本身的设计流程来看,似乎并不需要高深的编码技巧或深厚的理论根基,然而这也恰恰是这一事件中最值得我们警惕的地方:NSA 泄漏的攻击模块远不止永恒之蓝一种,借助已有攻击框架进行二次开发的难度又如此之低,所以,可以预期,一大波未知的病毒正在来袭的路上。

是不是细思极恐?所谓“知彼知己,百战不 die ”,要想不 die,先要充分了解对手,所以接下来我们进一步了解一下什么是病毒?病毒是如何以危险方式危害公共安全的?又是怎样进入我们的系统的?

病毒是什么,其实是老生常谈了,经常关注医疗卫生领域的朋友都知道:

病毒由一段基因与蛋白质构成,自身不能实现新陈代谢,通过适当的途径侵入宿主体内,通过宿主细胞的代谢系统实现复制传播。

跑题了?好吧,不要在意这些细节,我们改几个字就能用了:

病毒由一段可执行代码与数据构成,自身不能在裸机上运行,通过适当的途径侵入宿主操作系统,通过宿主系统中的存储和网络实现复制传播。

Wirth 教授教导我们:

算法+数据结构=程序,

病毒=代码+数据=算法+数据结构=程序

没错,病毒就是一类特殊的计算机程序,广义上称为恶意软件。与自然界病毒的最大不同之处在于,它们不是纯天然的,而是 100% 人工打造。通常它们怀着对人类的深深的恶意来到世上,行为各不相同,有的在你的屏幕上画个圈圈诅咒你,有的会窃取你设备中的隐私照片,还有的会眨眼间转走你银行卡上的购房首付款......显然,它们的目标还是很一致的:危害人类设备,破坏世界和平。

又扯远了,我们接着来看病毒是如何入侵操作系统的。病毒的入侵无外乎两个途径:主动和被动。所谓主动是针对目标系统尝试发起扫描和攻击,一般是远程发起,当发现了自己能吃定的漏洞之后,就通过各种阴险手段(其实技术实现上大多还是很优雅的)攫取系统权限,进而将恶意代码注入宿主系统中伺机作恶,对此没什么概念的小伙伴可以自行脑补一下《异形》中的人类被寄生的过程。

病毒入侵的另一种方式,我们称之为被动方式。这种方式并不需要系统存在漏洞或缺陷,需要的是用户的经验、常识或智商存在缺陷。它们通过各种伪装诱骗用户去打开或运行自己,包括形形色色让你心动的邮件、链接、不明来源的安装程序等等,一旦获得机会运行,它们会悄无声息的在你的系统中安营扎寨、留下多道后门,然后为所欲为,这类病毒又被形象地称为(特洛伊)木马。

如何应对各种病毒威胁

了解了病毒的来龙去脉之后,我们就可以开始讨论如何应对各种病毒层出不穷的威胁了。

对于大多数用户,良好的使用习惯是第一位的。堡垒往往从内部被攻克,再安全的操作系统,再强大的安全机制,都难以阻止用户自我毁灭的脚步。良好的使用习惯中最重要的,是安全更新,安全更新,安全更新!为什么呢?这要先谈一下操作系统漏洞的由来。

漏洞实际是软件缺陷的一种,也就是俗称的 bug,是由于软件开发人员的疏忽而导致程序没有按照预期的方式运行。软件缺陷多种多样,有些很呆,有些很萌,也并不都会对系统安全构成威胁。那些侥幸逃脱开发和测试人员的轮番围剿,随着软件的发布散落人间的软件缺陷,一旦被黑客们发现、策反,并借助自己在系统内部的有利位置,披着合法软件的外衣,做出送人头、坑队友的恶劣行径时,就成为软件系统的公敌:漏洞。越是庞大和复杂的软件越容易产生漏洞,不幸的是操作系统就是一类极其庞大而复杂的软件系统。

虽然操作系统漏洞常常难以完全避免,然而某个漏洞一旦被发现,开发厂商都会在第一时间发布安全更新对问题进行修复。以这次勒索病毒为例,针对被利用的 SMB 服务漏洞,事实上早在一个月前微软就公布了漏洞警告和补丁,提供了安全更新,那些开启自动更新并及时修复了漏洞的用户,他们可以用省下的三个比特币吃着火锅唱着歌,完全不用担心绑匪。所以请划重点:操作系统安全更新非常重要,不论个人用户、企业用户还是系统管理员,不论服务器,桌面还是移动终端,不论 Windows,Linux 还是 MacOS,都应该尽可能及时地从操作系统厂商处获取安全更新。

其次,杀毒软件也可以起到一定的安全增强的作用,多数杀毒软件可以借助病毒库对已有病毒的特征进行分析比对,一旦发现用户即将运行的程序中含有病毒或恶意程序,会及时提醒用户,或者自动清除。因此,杀毒软件可以在很大程度上防御已知的、以被动方式入侵系统的病毒。

那么,积极地安全更新、安装杀毒软件就可以解决所有病毒威胁了么?

很不幸,事实并非如此。安全更新和杀毒软件之于病毒威胁正如强身健体之于疾病隐患,可以大幅降低几率,却难以完全避免。为什么?这要从 零日 0-day 漏洞说起。

零日漏洞,听起来就很霸气的一个名字,仿佛给人一种世界末日的感觉。它并不是指具体的某个或某类漏洞,而是指被黑客发现后立刻用来发起攻击的漏洞,这些漏洞尚未公开,用户不知道,软件厂商也不了解,应对时间为零。所以,这类漏洞没有检测工具,没有修复方法,传统被动升级防御、病毒特征比对的方式毫无用处,一旦被用来发起攻击,普通系统是毫无招架能力的。那么有没有可以防御零日漏洞的安全的操作系统呢?

安全的操作系统与 SELinux

一提到安全的操作系统,总会涌现出很多真知灼见,最脍炙人口的莫过于:

“所有操作系统都有漏洞,所以没有绝对安全的操作系统;所以 Windows 也好,Linux 也好,MacOS 也好,都一样不安全。”

说的好有道理,我竟无言以对,因为前半句就是对本文前半部分的总结,理论正确,逻辑自洽,没什么可黑的。后半句的逻辑却似乎有点烧脑,如果它成立的话,我们不妨试着推广一下,比如:

“任何物质都是有毒性的,没有什么是绝对无毒的。砒霜吃了会中毒,水喝多了也会中毒,所以砒霜和水一样不安全。”

毒理学有句名言:一切谈毒性不谈剂量的行为都是耍流氓。同样,任何谈操作系统安全不谈体系架构的行为也是耍流氓。所以面对这种耍流氓的行为,接下来我们要严肃的谈一谈操作系统的安全体系架构。

多年前,永恒之蓝的始作蛹者 NSA 为了防御自家系统,开发了一套安全框架,多年后这套框架被贡献给了 Linux 内核,这就是 SELinux。作为造成这次世界性灾难的幕后大 boss,NSA 为自己定制的 SELinux 又是怎样的一套防具呢?

SELinux 全称 Security Enhanced Linux ,是针对 Linux 的全面安全增强,相比一般的发现漏洞-修复漏洞这种被动挨打的模式,SELinux 具备主动防御能力,可以抵御包括零日漏洞在内的多种攻击。

那么 SELinux 是如何做到的呢?

访问控制是操作系统安全体系中的最核心最关键的机制,它决定了系统中什么样的资源可以被哪些用户以什么样的方式来访问,也就是说普通用户能做什么,入侵者能做什么,应用软件能做什么,恶意软件能做什么,都是访问控制系统决定的。SELinux 的核心访问机制是 强制访问控制 Mandatory Access Control ,简称 MAC,SELinux 的安全特性是建立在 MAC 基础之上的。那么 MAC 何德何能,堪负如此重任?

说到 MAC 强制访问控制就不得不说它的前辈 自主访问控制 Discretionary Access Control ,简称 DAC。传统的操作系统,Windows、MacOS、以及包括早期 Linux 在内的各种Unix的系统权限管理都是采用的自主访问控制,自主访问控制将用户(或用户组)简化为一个标识,系统中的资源(比如文件)都会带上用户标识和对应的访问权限信息,通过这种方式赋予不同用户不同的访问权限,操作系统通过对用户标识的比对和权限信息决定一个用户是否能访问某个资源。打个比方,你认为你家里的东西是只属于你的,在 DAC 看来,只要能进屋的人都对这个屋子里的东西拥有权限,那么你自己开门进屋睡觉也好,小偷撬门进去拿走金银细软也好,都是合法的。

在操作系统中也是如此,几乎所有操作系统中都有一个身影,叫管理员,Administrator 也好,root 也好,都是一群在系统中权力无限大,对任何资源都有完全访问权限的家伙。多数系统服务是以管理员权限运行的,如果它们存在漏洞,被劫持去做一些它们本不该做的事情的时候,DAC 是不会阻拦的,因为它无法区分某个动作是程序正常行为还是恶意行为。在它眼里,身份就是权力的象征,只要认可了你的管理员身份,你说什么都是对的,你做什么都是合法的。

那么 MAC 机制又是怎样的呢?与 DAC 中的混沌不同,MAC 是一个充满秩序的世界,一个一举一动要提出申请的世界。在 MAC 中,一切访问计划都要事先写入安全策略,没有明确的策略允许的任何访问都会被禁止。在上个例子中,作为家中的主人,你需要能够在家睡觉,也是需要明确制定计划的,你需要添加的安全策略看起来是这样的:

  • 定义资源类型: 床
  • 定义安全域: 休息
  • 定义角色: 主人
  • 访问规则: 允许 主人 休息时 使用床

如果系统对于你家中的资源访问只添加了这一条安全策略,那么你仍然可以安心的在家睡觉,小偷无论用何种方式进入你家都将寸步难行,接触任何东西的行为都会被禁止,并且一切被禁止的行为尝试都将被另一套完善的监控系统:审计日志记录在案。

明白了这个例子,回到操作系统中我们就很容易看懂 MAC 是如何防范系统带来的安全威胁的:假设我们有一个存在缓冲区溢出漏洞的文件共享服务,与多数系统服务一样使用管理员权限运行。攻击者通过精心构建一个特殊的数据包发送给服务器,使存在漏洞服务器正常的执行流程被劫持,转而执行修改管理员密码的操作。在 DAC 控制下的传统操作系统中,一旦攻击生效,那么管理员密码会被这个平时八竿子打不着的文件服务器修改,攻击者随后可以很容易的登录进入系统。而在 MAC 系统中,文件服务器的可访问的文件是严格受限的,安全策略类似于:

  • 允许 系统管理员角色 运行文件服务器 该进程允许访问被共享文件。

安全策略的定义了该服务可以访问的所有资源,攻击者在攻击了文件服务器后,希望修改管理员密码,它需要访问的是 SAM 或 passwd 等的密码管理文件,由于文件服务器进程仅被策略仅允许访问需要被共享的文件,因此对密码管理文件的操作将被拒绝,攻击失效。这种情况下最坏的情形是,攻击者可能非法访问共享文件,因为它仍在安全策略允许范围内。尽管如此,一个系统级的安全漏洞对整个操作系统的影响被限制在了非常小的范围内。

通过细粒度的划分访问权限,将所有应用和服务的访问限制在最小范围内,这就是强制访问控制保护系统不受已知及未知漏洞攻击的原理。

其实 MAC 和 DAC 并不是水火不容的,在包括 SELinux 在内的多数安全框架中,它们是共同生效的,所有的资源(或者准确的说叫客体)访问请求首先要经过 DAC 权限判定,验证通过之后再进一步进行 MAC 的安全策略判定,只有同时符合自主访问控制和强制访问控制规则后才能获得访问权限。

SELinux 中,有三大类 MAC 策略模型,分别是 TE(类型增强),RBAC(角色访问控制)以及 MLS(多级别安全),每一类模型都针对系统已有服务和应用提供了大量安全策略。一个使用了 SELinux 的典型的服务器操作系统环境,内核中会包含 10 万条以上的安全策略。

计算机信息系统的安全等级

了解了 SELinux 及其强制访问框架后,看到攻防两端都造诣深厚的 NSA,你可能会惊叹于矛尖盾厚的美国在信息安全领域的强大的实力。然而我国在这个陆上有东风,海上有航母,天空有北斗的时代,在信息安全这样重要的领域当然不会碌碌无为。我国很早就对信息安全领域展开了全面的研究,公安部对信息安全的各个领域提出了一些列标准,最早在 GB 17859-1999 标准中就根据需求将计算机信息系统的安全级别由低到高,划分为 1-5 共五个等级。在 GB/T 20272-2006 中更进一步对操作系统安全技术提出了具体要求。

从国标安全第三级开始要求操作系统提供强制访问控制,除了要实现 SELinux 中的各类安全模型架构外,还根据最小特权原则开创性的引入三权分立的概念,将普通操作系统中权限不受控制的管理员根据职责分解为系统管理员,安全管理员,审计管理员三个角色。

系统管理员负责“行政”体系,也就是系统中的配置管理,类似网络配置、服务启停(安全服务除外)、设备管理等等;安全管理员负责“立法”,负责安全策略制定、加载以及安全服务的开启;审计管理员的职责类似“司法”,制定违规访问的记录,安全服务的关闭。三个角色的权限之间互相制约,从而避免了恶意入侵者通过获取管理员权限对操作系统的全面控制。同时标准还对用户数据的私密性、完整性提出了严格的保护要求,要求操作系统通过安全标签保障用户数据不被非法读取和篡改。

国标安全四级除了在访问控制和数据保护上提出更为严格要求之外,还要求设计者对操作系统的安全策略模型、安全功能模块进行形式化验证,并进行隐蔽信道分析,对系统抵御攻击能力进行评估,也是目前已有操作系统能达到的最高安全等级。目前普华、凝思等国产操作系统厂商已经开发出了符合国标安全四级的安全操作系统,提供了远高于普通 SELinux 的底层安全保护。

结语

信息安全是全方位的,尽管病毒与恶意入侵并非只针对操作系统,单一从操作系统层面无法解决所有的安全问题,然而作为所有上层应用的最底层软件支撑,操作系统却在最终执行层面承载着一切上层软件的安全机制,脱离操作系统构建的安全体系,如同沙滩上的城堡,即使再坚固也将最终失去根基。

我开源事业的第一笔,是我在 2001 年作为一名兼职系统管理员,为大学工作的时候。成为了那个以教学为目的,不仅仅在大学中,还在学术界的其他领域建立商业案例研究的小组的一份子。

随着团队的发展,渐渐地开始需要一个由文件服务、intranet 应用,域登录等功能构建而成的健壮的局域网。 我们的 IT 基础设施主要由跑着 Windows 98 的计算机组成,这些计算机对于大学的 IT 实验室来说已经太老了,就重新分配给了我们部门。

初探 Linux

一天,作为大学IT采购计划的一部分,我们部门收到了一台 IBM 服务器。 我们计划将其用作 Internet 网关,域控制站,文件服务器和备份服务器,以及 intranet 应用程序主机。

拆封后,我们注意到它附带了红帽 Linux 的 CD。 我们的 22 人团队(包括我)对 Linux 一无所知。 经过几天的研究,我找到了一位朋友的朋友,一位以 Linux RTOS (Linux 的实时操作系统领域)编程为生的人,求助他如何安装。

光看着那朋友用 CD 驱动器载入第一张安装 CD 并进入 Anaconda 安装系统,我的头都晕了。 大约一个小时,我们完成了基本的安装,但仍然没有可用的 internet 连接。

又花了一个小时的折腾才使我们连接到互联网,但仍没有域登录或 Internet 网关功能。 经过一个周末的折腾,我们可以让我们的 Windows 98 机器作为 Linux PC 的代理,终于构出了一个正常工作的共享互联环境。 但域登录还需要一段时间。

我们用龟速的电话调制解调器下载了 Samba,并手动配置它作为域控制站。文件服务也通过 NFS Kernel Server 开启了,随后为 Windows 98 的网络邻居创建了用户目录并进行了必要的调整和配置。

这个设置完美运行了一段时间,直到最终我们决定开始使用 Intranet 应用管理时间表和一些别的东西。 这个时候,我已经离开了该组织,并把大部分系统管理员的东西交给了接替我的人。

再遇 Linux

2004 年,我又重新装回了 Linux。我的妻子经营的一份独立员工安置业务,使用来自 Monster.com 等服务的数据来打通客户与求职者的交流渠道。

作为我们两人中的计算机好点的那个,在计算机和互联网出故障的时候,维修就成了我的分内之事。我们还需要用许多工具尝试,从堆积如山的简历中筛选出她每天必须看的。

Windows BSoD(蓝屏) 早已司空见惯,但只要我们的付费数据是安全的,那就还算可以容忍。为此我将不得不每周花几个小时去做备份。

一天,我们的电脑中了毒,并且通过简单的方法无法清除。我们并不了解磁盘上的数据发生了些什么。当磁盘彻底挂掉后,我们插入了一周前的辅助备份磁盘,但是一周后它也挂了。我们的第二个备份直接拒绝启动。是时候寻求专业帮助了,所以我们把电脑送到一家靠谱的维修店。两天以后,我们被告知一些恶意软件或病毒已经将某些种类的文件擦除殆尽,其中包括我们的付费数据。

这是对我妻子的商业计划的一个巨大的打击,同时意味着丢失合同并耽误了账单。我曾短期出国工作,并在台湾的 Computex 2004 购买了我的第一台笔记本电脑。 预装的是 Windows XP,但我还是想换成 Linux。 我知道 Linux 已经为桌面端做好了准备,Mandrake Linux (曼德拉草) 是一个很不错的选择。 我第一次安装就很顺利。所有工作都执行的非常漂亮。我使用 OpenOffice 来满足我写作,演示文稿和电子表格的需求。

我们为我们的计算机买了新的硬盘驱动器,并为其安装了 Mandrake Linux。用 OpenOffice 替换了 Microsoft Office。 我们依靠 Web 邮件来满足邮件需求,并在 2004 年的 11 月迎来了 Mozilla Firefox。我的妻子马上从中看到了好处,因为没有崩溃或病毒/恶意软件感染!更重要的是,我们告别了困扰 Windows 98 和 XP 的频繁崩溃问题。 她一直使用这个发行版。

而我,开始尝试其他的发行版。 我爱上了 distro-hopping (LCTT 译注:指在不同版本的 Linux 发行版之间频繁切换的 Linux 用户)和第一时间尝试新发行版的感觉。我也经常会在 Apache 和 NGINX 上尝试和测试 Web 应用程序,如 Drupal、Joomla 和 WordPress。现在我们 2006 年出生的儿子,在 Linux 下成长。 也对 Tux Paint,Gcompris 和 SMPlayer 非常满意。


via: https://opensource.com/life/16/3/my-linux-story-soumya-sarkar

作者:Soumya Sarkar 译者:martin2011qi 校对:wxy

来自赛门铁克研究员的消息,这个病毒通过2012年出现的 PHP 漏洞传播

据美国国际数据集团(IDG)的新闻 —— 一个新的蠕虫病毒将目标指向那些运行了 Linux 和 PHP 的 x86 架构计算机,其变种还会对运行在其他芯片架构上的设备(诸如家用路由器和机顶盒)造成威胁。

根据赛门铁克研究员的介绍,这种病毒利用 php-cgi 上的一个漏洞进行传播,这个 php-cgi 组件的功能是允许 PHP 代码在通用网关接口(CGI)的配置环境下被执行。此漏洞的代号为 CVE-2012-1823(通过这个漏洞,攻击者可以远程执行任意代码,所以这种漏洞又叫“远程任意代码执行漏洞” —— 译者注)。2012年5月份,PHP 5.4.3 和 PHP 5.3.13 这两个版本已经打上补丁修复了这个漏洞。

这个赛门铁克的研究员在博客中写道:这个名为“Linux.Darlloz”的新蠕虫病毒基于去年10月份放出的 PoC 代码(PoC:proof of concept,概念验证。利用目标计算机的漏洞,为对其进行攻击而设计的代码称为 exploit,而一个没有充分利用漏洞的 exploit,就是 PoC —— 译者注)。

“在传播过程中,这段蠕虫代码会随机产生 IP 地址,通过特殊途径,利用普通的用户名密码发送 HTTP POST 请求,探测漏洞”,研究员解释道:“如果一个目标没有打上 CVE-2012-1823 的补丁,这台机器就会从病毒服务器下载蠕虫病毒,之后寻找下一个目标。”

这个唯一的蠕虫变种目前为止只感染了 x86 系统,这是因为这个病毒的二进制格式为 Intel 架构下的 ELF (Executable and Linkable Format)格式。

然而这个研究员警告说,黑客也为其他架构开发了病毒,包括 ARM,PPC,MIPS 和 MIPSEL。

这些计算机架构主要用于诸如家用路由器、网络监视器、机顶盒以及其他嵌入式设备。

“攻击者显然试图在最大范围内感染运行 Linux 的设备”,研究员又说:“然而我们还没有证实他们有没有攻击非 PC 设备。”

很多嵌入式设备的固件都使用 Linux 作为操作系统,并且使用 PHP 作为 Web 服务管理界面。这些设备比 PC 机 或服务器更容易被攻陷,因为它们不会经常更新软件。

在嵌入式设备为一个漏洞打上补丁,从来都不是件容易的事。很多厂商都不会定期公布更新信息,而当他们公布时,用户也不会被告知说这些更新解决了哪些安全问题。

并且,在嵌入式设备上更新软件比在计算机上需要更多的工作,以及更多的技术知识。用户需要知道哪些网站能提供这些更新,然后下载下来,通过 Web 界面更新到他们的设备中。

“很多用户也许压根就不知道他们家里或办公室的设备存在漏洞,”啰嗦的研究员说:“我们面临的另一个问题是,即使用户注意到他们用的是有漏洞的设备,这些设备的供应商却没有提供补丁,原因是技术落后,或者完全就是硬件的限制:内存不足,或 CPU 太慢,不足以支持这些软件的新版本。”

“为了保护他们的设备免受蠕虫感染,用户需要确认这些设备是否运行在最新的固件版本上,必要的话,升级固件,设置高强度的管理员密码,在防火墙那儿,或任何独立的设备那儿,屏蔽任何对 -/cgi-bin/php, -/cgi-bin/php5, -/cgi-bin/php-cgi, -/cgi-bin/php.cgi and -/cgi-bin/php4 的 HTTP POST 请求。”没完没了的赛门铁克研究员说道。


via: http://www.computerworld.com/s/article/9244409/This_new_worm_targets_Linux_PCs_and_embedded_devices?taxonomyId=122

译者:bazz2 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

互联网是个大熔炉。无论是好人还是坏人,都可以和我们一样连接到网络。那些制作病毒感染人们电脑的坏蛋以及寻求保护人们的好人们全都连接到同一网络中。

就像人们所说的那样,互联网是过去所出现的一个最好的东东。它包含着任何人都可以获取的有价值的信息和资源,且大部分可以免费获取。一些最著名高校的人提供了免费的高质量课程,可供任何想学习的人来学习。今天,我们都可以连入互联网真是一件好事情。

但是有些事情你一定要记住,当你连入互联网时,你的电脑就成了攻击的目标。成为病毒,木马和其它程序破坏的目标。

正因为此,推荐连入互联网的电脑都要使用反病毒和反间谍软件来保护。在有些情况下,即使使用了这些软件也不能完全保证你的安全。再添加一个安全层总是一个好主意。

当寻找添加一个额外的安全层去保护你的机器时,使用OpenDNS的安全DNS框架可能会有帮助。因特网有许多部分组成,尽力对其每一部分都进行相应保护是保证安全的最好方法。

首先,你要在你的电脑上安装反病毒和反间谍软件。由于浏览因特网时允许你的电脑查询远程DNS服务器,因此使用受保护的安全的DNS服务器将是保护你电脑安全的好方法。(译注:我们认为,其实在Ubuntu上使用反病毒和反间谍软件并不太必要,但是使用OpenDNS来拦截对恶意网址的访问是有必要的。另外,使用国外的DNS可能会比较慢,也许过一段时间,国内也会出现类似的服务。)

这是一个简明手册,告诉你如何在Ubuntu上配置OpenDNS框架以便保护你的电脑。

sudo gedit /etc/dhcp/dhclient.conf

最后,在打开的文件中添加下面一行,然后保存。

supersede domain-name-servers 208.67.222.222,208.67.220.220;

重启你的电脑,祝你玩的开心!

好好享受吧!


via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsprotect-your-computers-using-opendns-secure-dns-infrastructure/

译者:Linux-pdz 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出