企业系统安全管理和强化的十个建议(2)

3、盯紧容易忽视的计划任务

用户知道什么工作在用户的系统无人值守下正在运行吗?当系统安装完成后,许多操作系统都提供了各种各样的自动化任务自动为用户安装和配置。其他工作随着时间推移而增加的应用程序,会定期的运行。

要掌握用户的系统,用户需要清楚的了解它正在运行的程序。定期审核用户的计划任务列表文件中哪些程序正在运行。许多系统的计划任务文件存储在/var /spool/cron中。一些计划任务守护进程另外支持每小时计划任务,每周计划任务,每月计划任务和每年计划任务的文件,以及一个cron.d目录。 使用man cron命令来将确定用户的计划任务守护进程的确切功能。

在每个目录检查所有的文件。注意每个工作的所有者,如果用户的计划任务守护进程(crond服务)支持,请锁定计划任务并且只对需要使用的用户ID开放。 请注意每个正在运行的文件和它所运行的时间。如果预定的计划用户不清楚,研究来确定到底是什么文件以及用户是否需要它。如果用户正在运行一些用户觉得他们 不需要的东西,与他们联系,问其原因,然后进行相应处理。

持续跟踪用户的计划任务作业并且定期检查他们是否有任何的变化。如果用户发现有些事情已经改变了,进行调查并确定原因。持续跟踪用户的系统正在做什么是保持用户系统安全的一个关键步骤。

4、记录所有守护进程的日志

众所周知,如果守护进程不在第一个时间记录任何信息,那么保存和记录日志也是没用的。在默认情况下有一些守护进程会创建日志,有一些则没有。当用户审核用户的系统时,验证用户的守护进程是否记录日志信息。

任何公开的守护进程都需要配置日志,日志需要被保存。试着访问用户的一些服务,查看用户的日志服务器收集的日志。如果没有,阅读该服务的线上说明手册并查找所需的操作来激活记录。启动它,并尝试再次使用该服务。持续检查用户所有的服务直到确保记录和保存了所有的日志。

5、运行CIS扫描

互联网安全中心(CIS)创建了一个系统安全基准测试工具。用户可以从www.cisecurity.org下载这个工具,对用户的本地系统进行审计并报告其分析结果。该工具会扫描到好的和坏的结果,并在扫描结束后给出一个整体排名。扫描工具可用于Solaris, HP-UX,Linux,Windows,以及思科路由器。

CIS基准测试最好的地方是他们给出的说明,报告中并不会只是简单的提到“用户有什么,哪个不好”;它会告诉用户为什么说它不好的更深层的原因,它可以让用户自己决定是否要禁用“坏东西”或维持原样。基准工具可能会检查很多用户没有想到的地方,并且给用户一份系统的详细报告。

下载并解压缩CIS工具,阅读README文档和PDF文档。 (PDF文档针对系统安全提供了很好的参考材料。)按照README文档说明进行安装包安装,工具安装完成后,用户应该有一个目录/opt/CIS。运行 命令cis-scan来了解用户的系统。这取决于用户服务器的速度和所连接的硬盘数量,扫描可能需要花很长时间才能完成。扫描完成后,用户将会有一个名为 cis-ruler-log.YYYYMMDD-HH:MM:SS.PID的文档。该文档是系统的总结报告,包含了所有的测试结果。其中该文档不包详细信 息--这意味着只能作为索引来参考扫描工具自带的PDF文档。逐行审阅ruler-log文件,如果有一个负面的结果,建议在PDF文档中确定是否可以执 行变更。大部分变更可以在不影响服务器的操作下实现,但并不是所有。谨防漏报;用户可能需要使用PortSentry工具查看端口515是否存在lp漏洞,这会导致了CIS工具报告用户有lp漏洞的错误。在报告末尾,数字越高用户的系统越“坚固”。

这是一个很好的信息安全工具,定期在用户的服务器上运行可以保持服务器的健康。访问互联网安全中心的网站,随着关注该工具的不断发展和变化。

6、运行过程避免使用超级用户特权

许多运行在的服务器上的服务并不需要超级用户权限来执行他们的功能。通常,他们不需要任何特殊权限以外的读取和写入数据目录的能力。但由于Unix安全措 施规定由超级用户权限的运行的开放的TCP / IP端口必须低于1024,加上这一事实,大多数著名的端口都低于1024,意味着用户的守护进程必须在超级用户权限下开放其端口。

这种困境有几个解决方法。第一,最安全的并不是运行所有的服务。如果守护进程没有运行,那么它不需要作为超级用户运行。然而,这并不是每次都管用的。有时 候用户也需要为守护进程提供运行服务。在这种情况下,创建一个专门的用户ID来运行守护进程,并且尽可能的严格控制它。只使用这个ID写入可写的目录,并 且不要给这个ID特别高的权限。然后更改启动脚本,守护进程只属于这个新的用户ID。现在如果攻击者利用漏洞攻击用户的服务器并且损害用户的守护进程,攻 击者将获得非特权账户并且必须做进一步的工作来获得超级用户权限,在更多的损失发生之前将给予用户更多的时间来跟踪和阻止他或她。

7、扫描并处理高权限文件

所有系统都有设置用户ID(SUID)和设置组ID(SGID)文件。这些文件可以使用特定的用户或组来运行应用程序、脚本和守护进程,而不是个人用户 ID或组ID来运行。top命令是一个很好的例子,它的运行权限较高,所以它可以扫描内核空间中的进程信息。因为大多数用户的默认权限不能读取这些信息,top需要运行更高的权限是有必要的。

许多操作系统允许用户的指定某些磁盘不支持SUID和SGID,通常是通过在用户的系统挂载文件中使用一个命令来完成。在Solaris中,用户会在 /etc/vfstab中指定nosuid命令。例如,使用nosuid命令将/users安装在磁盘c2t0d0s3上,用户可以输入如下命令:

/dev/dsk/c2t0d0s3 /dev/rdsk/c2t0d0s3 /users ufs 2 yes nosuid

这个/users安装引导并禁用了SUID和SGID应用程序。应用程序仍然可以运行,但是SUID和SGID位将会被忽略。在所有的文件系统上禁用SUID和SGID是一个良好的安全实践。

不过,用户需要定期扫描用户的系统并获得一个所有存在SUID和SGID进程中的列表。查找SUID的命令是:-perms +4000,而查找SGID的命令则是:-perms +2000。在整个服务器扫描所有SUID文件,运行这个命令:

# find / -type f -perms +4000 -ls

-type f命令只是查看“常规”的文件,无法查看目录或通过其他命名管道的特殊文件等。这个命令可以列出每个文件上的SUID位设置。仔细检查和验证所有输出和真正需要SUID和SGID的文件,对于不需要的,毫不犹豫地进行清除处理。

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

开源发家史:Linux在为谁代言?

开源发家史:Linux在为谁代言?

开源,也被称为开放源代码(Open Source) 开源(Open Source) 开源运动起源于20实际60年...[详细]

作为码农,我们为什么要写作

作为码农,我们为什么要写作

在程序员这个行业,坚持做技术写作的人一直比较少。我和身边的朋友沟通后,发现他们除...[详细]

键盘敲击识别技术真的靠谱吗?

键盘敲击识别技术真的靠谱吗?

所有人都知道密码是靠不住的。于是现在有一个有意思的行为生物识别是你是如何打字的,...[详细]

干货!企业安全产品采购指南

干货!企业安全产品采购指南

作为一个安全行业的客户,怎么知道什么样的技术、产品和服务将会满足自身的需求?本文...[详细]

作为程序员,你必须了解这些关于计算机的知

作为程序员,你必须了解这些关于计算机的知识

存储-块设备,文件系统,集群文件系统,分布式文件系统,光纤SCSI,iSCSI,RAID等。 ...[详细]

返回首页 返回顶部