加载中…
正文 字体大小:

一种能让数据中心的UNIX/LINUX更安全的管理方案

(2014-11-14 17:20:04)
标签:

it

unix

安全

授权

分类: 系统安全
有一个用于数据中心UNIX/LINUX系统集中管理的解决方案可以显著地增强系统及密码的安全:

1. 在数据中心的操作室内设置若干台省电的,使用INTEL处理器的小型PC, 运行WINDOWS, 
    安装putty或putty-nd. 然后, 在数据中心安装二台以INTEL Atom或ARM为CPU服务器, 安装并运行
     CentOS LINUX. 我们把这些运行WINDOWS的机器称为管理工作站, 把这二台低功耗服务器叫中央管
    服务器.

2. 在中央管理服务器上, 为每位系统管理员, 数据库管理员, 应用程序管理员建立他们各自的帐号.
3. 为这二台中央管理服务器装上为众信息系统软件公司的AutoSSH软件.
4. 在其中一台中央管理服务器上, 每一位有帐号的用户都需要在有公司数据安全部门的人员在场时用ssh-keygen
    生成一对新的公开/私有密钥, 并将私有密钥的保护密码以双人控制, 保证没有任何个人知道完整的密码.
5. 各帐号将生成的公开/私有密钥复制到另一台中央管理服务器.
6. 为各帐号在其所管理的生产机上建立相应的帐号, 并分在与功能相应的组里, 比如, 系统管理员为一组, 数据
    管理员为另一组, 应用程序管理员再一组.

7. 将各帐号设置成只能用公开密钥远程登陆生产机(通过把sshd_config文件中的PasswordAuthentication
    设成no)
8. 将在中央管理服务器上生成的公开密钥放到生产机相应的帐号的.ssh/authorized_keys文件中, 并规定该文
   中只能有这一个公开密钥.

9. 各个帐号需在每一台中央管理服务器上与公司数据安全部门的人员一起运行    
            asshckey user@server
    将私有密钥的保护密码加密, 供以后用AutoSSH来进行SSH的自动登陆。
10. 在UNIX/LINUX生产机上安装最安全的授权代理软件CaclMgr, 并以相应的特权帐号运行
             cacl -a 某某管理员组 /usr/local/bin/shlog
11. 规定任何管理员在正常维护时只能进操作室通过管理工作站用putty登陆中央管理服务器, 进而用
     AutoSSH登陆
生产机。 管理工作站除了可以用putty连接到中央管理服务器, 不可有其他网络外
     接功能, 也禁止未经许可在
管理工作站用移存储.

12. 将UNIX/LINUX生产服务器上的ftp,telnet, xdmcp及除了SSH以外的任何远程登录服务全部屏蔽。
13. 将CentOS中央管理服务器上的防火墙设置成只能接受来自管理工作站的SSH连接,拒绝其他连接。

在完成了这些一次性的设置任务后, 当某管理员获得批准需要在生产机上进行某些工作时, 他/她就可以进操作
室, 用统一的帐号登陆管理工作站, 再用putty用自己的帐号登陆中央管理服务器, 然后, 运行
   asshc -t 帐号@生产机名 /usr/local/secbin/cacl -e 特权帐号名 /usr/local/bin/shlog
登陆到那一生产机其所拥有的帐号上, 然后获得以该特权帐号运行的命令行. 注: 在以shlog所给出的命令行执
行命令, 命令的执行历史会被记录下来, 之后, 数据安全人员可运行
   /usr/local/bin/shlog-replay
   来重放该命令行会期命令的执行历史.

那么, 为什么这样做会更安全并更易管理呢?
1. 每一位管理员都有而且只有一对公开/私有密钥, 而此密钥的完整保护密码是无人知道的, 省却了当不知每位
    管理员究竟有多少密钥被用在了生产机上, 哪些已过期, 哪些还在用的麻烦.
2. AutoSSH能够很好地保护密码不被不良人员所窃取, 还能有效的检测到各类木马攻击, 包括前些时间被发
    现的OpenSSH Ebury木马.
3. CaclMgr能在你输入口令时极大限度地保护口令, 大大减低其被其他不良人员用软件的方法窃取的可能. (其
    他授权代理软件则根本不提供防范口令被以软件的方法窃取的功能.)
4. 任何人将无法用除了中央管理服务器外的任何机器来远程登陆生产机的任何管理员帐号. (每个管理员在任
    何一台生产机上只有一个已授权的密钥,并由于无人知道SSH私有密钥的完整保护密码, 即使私有密钥失窃,
    也无人能用其他机器非法登陆生产机;AutoSSH加密的保护密码即使被窃, 也无法被用于不同的机器).
5. asshc会把各管理员的远程登录记录下来,这样如要知道谁在何时登录了生产机,只要到两台中央管理服务器查看即可。
下面,就是 asshc记录的例子:
  • B 024918:56c843c 02/20/2016 09:45:22 PM root gwz@sx86 "/usr/local/secbin/cacl /usr/local/bin/shlog"
  • E 024918:56c843c 02/20/2016 09:45:32 PM root gwz@sx86 Exit: 254
  • B 024996:56c8441 02/20/2016 09:46:49 PM root gwz@sx86 "/usr/local/secbin/cacl /usr/local/bin/shlog"
  • E 024996:56c8441 02/20/2016 09:46:59 PM root gwz@sx86 Exit: 18

通过使用Windows及putty, 可以做到对中文的良好支持.

有兴趣测试我们软件的专家, 可以:
登录我们在亚马逊设置的Linux虚拟机,我们在那安装了一些我们的软件,供公众测试。
  ssh roger@ec2-52-88-74-1.us-west-2.compute.amazonaws.com
  password: r0192
  然后,看一看README文件的内容,了解我们有哪些软件在那可供测试。

我们的软件在亚马逊的AWS虚拟机上运行了已近二年,供公众测试,验证,结果至今无人能破解,获知我们所设计的远程作业自动化例子中所传送的秘密文件的内容,赢取三千美元的奖金。

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有