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

企业系统的安全管理运维涉及到公司信息化系统和数据的防入侵、防泄露工作,这是为所有CSO、COO非常关注的基础性工作。虽然基础,但是一旦处理不到位,将会给企业带来重大数据、经济损失或者声誉损失。本文针对企业系统的安全管理,给出了10个非常实用、有效的系统强化措施,能够较好地帮助企业系统管理员发现和提前处理系统可能存在的风险和漏洞,从而在事前保证企业系统的安全运营。

1、从运行路径中去掉“.”

在超级用户(root)模式下,用户必须明确正在运行的命令是用户想要的。考虑下面的场景,用户在哪里登录了超级用户,那么用户的路径变量就是

.:/usr/bin:/usr/sbin:/bin:/sbin.

用户在ls目录下创建了一个包含如下命令的脚本:

#!/usr/bin/ksh

cp /usr/bin/ksh /tmp

chown root:bin /tmp/ksh

chmod 6755 /tmp/ksh

rm -f ls

/bin/ls $*

现在A用户呼叫并上报一个问题,在他的主目录里有些不明文件。用户作为超级管理员,使用cd命令进入他的目录并运行ls -l命令去查看。突然,在用户不知情的情况下,A用户可以运行一个shell脚本来获取用户的超级用户权限!

这样的情况经常发生,但是很容易避免。如果在用户的路径中没有“.”,用户会看到一个名为ls的脚本在他的主目录中,而不会去执行它。

2、规避风险脚本

当用户写一个脚本,总是指定正在使用的应用程序的完整路径。参考下面的脚本:

#!/usr/bin/ksh

date > log

find . -mtime +7 -ls -exec rm -rf {} ; >> log 2>&1

虽然只有三行,并且只有两行执行命令,然而却存在很多安全漏洞:

它没有指定一个路径。

它没有给出日期的完整路径。

它没有给出查找的完整路径。

它没有给出rm的完整路径。

它执行错误检查。

它没有验证目录的正确性。

让我们再看一下另外一个脚本是如何解决其中的一些问题的。

#!/usr/bin/ksh

cd /directory || exit -1

PATH=/usr/bin; export PATH

/usr/bin/date > log

/usr/bin/find /directory -mtime +7 -ls -exec /usr/bin/rm -rf {} ;

>> log 2>&1

第二行,cd /directory || exit -1,告诉ksh的尝试使用CD命令进入/directory。如果命令失败,它需要退出脚本并且返回一个–1的代码。在Ksh命令中||意味着“如果上 个命令失败”,&&则意味着“如果上个命令成功”。举一个额外的例子,使用命令touch /testfile || echo Could not touch创建一个名为/testfile的文件,或者如果文件不能被创建(也许用户没有足够的权限来创建它),那么在屏幕上会显示“Could not touch”。使用命令touch

/testfile && echo Created file来创建/testfile文件,如果touch命令成功,在屏幕上只会显示“Created file”。用户检查的条件将决定用户是使用||还是&&。

如果脚本继续运行,用户将进入/directory。现在用户可以明确指定用户的路径,如果用户忘记了完整路径可以使用系统搜索命令来锁定。这个方法的例 子并没有在这个小脚本中,但它是一个很好的习惯,尤其是在当用户写长的并且更复杂的脚本时;如果用户忘了指定完整的路径,用户的脚本调用木马程序几率将会 非常小。

接下来用户调用date的全名是:/usr/bin/date。用户也可以完全指定/usr/bin/find和/usr/bin/rm。通过执行此操 作,用户可以让希望在用户系统中插入木马程序并且在用户不知觉的情况下运行的人更加困难。毕竟,如果他们有足够的权限来修改文件/usr/bin,他们可 能就有足够的权限来做任何他们想做的事情。

当编写一个脚本,经常需要遵循这些简单的规则:

总是指定一个路径。

总是为每个应用程序使用的完整路径。

始终运行错误检查,特别是在运行具有潜在破坏性的命令时,如rm命令。

(责任编辑:安博涛)

分享到:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

返回首页 返回顶部