Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1909441
  • 博文数量: 346
  • 博客积分: 10221
  • 博客等级: 上将
  • 技术积分: 4079
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-01 19:43
文章分类

全部博文(346)

文章存档

2012年(1)

2011年(102)

2010年(116)

2009年(127)

我的朋友

分类: 服务器与存储

2011-01-14 13:29:09

这仅仅是一个草稿,根据Encryption手册,罗列一切有关知识,然后加入自己的经验。用于今后建成标准文档。
概念
DES加密算法与密码文件
DES加密算法是一个国际标准算法,据说当密码长达512位时,一个人穷尽一生也无法破解。对于加密/解密,并不是我专长。但需要知道的是,生成加密文件所使用的密码,决定了加密文件的最终状态。因此,在相同计算机上生成的加密文件,可以分给不同的计算机来使用。这使得我们得到了一个穿越防火墙的极好办法。这个问题在后面还会有叙述。
密钥的长度
40位,56位,128位都是不同的密钥长度。很明显,选择长度越大的密钥则破解难度越高。在Netbackup 5.0中提供了40和56两种密钥。而5.1则增加了128位密钥。在6.0则再次增加了256位密钥。
密码
在创建密码文件时,需要输入一个密码。请注意,这并不是加密算法的密码,因此没必要把他设定到256位。这个密码决定了密码文件中的数据,而密码文件才最后生成DES密码。
加密备份的设定
在策略中,可以选择加密还是不加密。同时,还有一个CRYPT_OPTION参数在起作用。
当CRYPT_OPTION的值为allow的时候,策略选择加密或者不加密都可以通过
当CRYPT_OPTION的值为required的时候,策略必须选择加密才能通过
当CRYPT_OPTION的值为denied的时候,策略则不能进行加密备份
恢复的过程
服务器首先根据映像确认该备份是否被加密。然后,服务器连接客户端的bpcd启动恢复。
加密与解密过程都是在客户端上完成的,服务器本身不参与数据的加密与解密。因此,不管是备份还是恢复,其数据流都是被加密的。
加密备份与恢复的理论过程
当主服务器根据日程表发起备份后,bpcd接受备份发起指令后,利用密码文件为即将发送的数据加密。因此,从客户端到服务器的数据流是已经加密的。而服务器端则完全按照标准的方法来保存加密数据流。而当得到恢复请求后,服务器端不会进行解密处理,而是直接将数据发送给客户端。当客户端收到数据后,再通过密码文件对数据进行解密。因此,恢复的数据流也同样是加密的。
安装
必须在主服务器上安装ENCRYPTION组件。这个组件存在于DB Option光盘上。属于Add ON软件。
ENCRYPTION组件需要单独License,没有Tier级别限制
标准安装过程
1。以root身份登录主服务器
2。确认License
3。将DB Option光盘放入光驱
4。切换至光盘目录
5。执行安装脚本
    ./install
   在提示版本时,回答y
6。集群环境必须在每个节点上各自执行
7。在客户端安装ENCRYPTION软件
推送软件的过程
bpinst命令并不是一个专门用于加密的安装命令。他适用于几乎所有的NetBackup软件的安装。
-ENCRYPTION指示bpinst命令去推送加密软件。
而其实在windows客户端,这一步是不需要的。因为Windows版本的NetBackup一旦安装,就包括了所有DB Agent和AddON软件。
推送软件的同时,可以设定密码。但我个人不推荐这样做。因为这样做不仅命令非常长,且并不是非常有利于保护密码。
推送密码
bpkeyutil命令可以向客户端推送密码文件。密码文件存在于客户端上,是为客户端加密提供算法的。
在windows环境里,密码文件位于VERITAS_DIR\netbackup\var\keyfile.dat。关于这一点,手册中指明的路径是错误的,要注意。
在Unix环境里,密码文件位于/usr/openv/netbackup/keyfile
在5.1文档中,推送密码的命令是bpkeyfile,在6.0文档中,推送密码的命令是bpkeyutil。而其实,5.1也一样是bpkeyutil命令推送密码。bpkeyfile我总是失败,不知道是bug还是其他什么原因。
推送密码的命令
bpkeyutil -client 客户端名
推荐的办法
大部分应用NetBackup加密的用户,都会有非常严格的安保措施,对防火墙的控制也非常严格。而bpkeyutil并不使用bpcd或者vnetd这些端口,具体使用什么端口,在手册中没有说明。即便知道,我们也不得不要求用户多开放一个端口。而一旦密码文件推送成功,这个端口就没有作用了。给用户留下这样一个无用端口,是会引起很多不必要的问题的。
解决的办法其实很简单。我在与主服务器同网段的机器中找了一个客户端,用bpkeyutil命令向其推送密码,密码生成后,将其改名。再推送其他密码文件。他们的区别就是推送时设定的密码。然后将这些密码文件复制到目标客户端的相应位置上,密码文件就算推送完成了。这样就可以完全绕过那个我们不必要知道的端口。
保护密码文件
密码文件是加密备份与恢复所必需的钥匙。一旦被人取道,则很有可能被人非法恢复用户的备份。因此,密码文件的安全性是非常重要的。
在Unix环境中,可以通过修改访问权限的方法来保护。
在Windows环境中,则一定要注意密码文件所在分区的访问权限。
重要警告
密码文件的生成密码是具有历史性的。如果你中途修改过密码文件的密码,那么,你就必须记住包括原先密码在内的所有密码。因为,一旦密码文件遗失,你需要重建密码文件的时候,要根据该密码文件的历史,重新输入所有密码,才能生成对应的密码文件。
保护密码
密码文件的生成依赖于密码。因此,VERITAS建议将密码写在纸上,装入信封,并封入保险柜内。当然,根据用户数据安全级别的不同,我们可以采用很多方法来保护这些密码的秘密,不一定非得这样大动干戈。
阅读(2043) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~