通过加密命令保证Solaris服务器安全

日期: 2008-07-27 作者:华江 来源:TechTarget中国 英文

  Solaris服务器系统的安全与其加密体系密切相关。Solaris加密体系(Cryptographic Framework)以无缝透明的形式向用户提供应用和内核模块的加密服务,用户应用很少察觉到,也很少受到干扰。密码体系中包括命令、用户程序编程接口、内核编程接口和优化加密算法的程序。


  Solaris加密框架中的管理命令:cryptoadm 命令。该命令管理正在运行的加密框架。该命令是加密管理权限配置文件的一部分。可以将此配置文件指定给用于安全管理加密框架的角色。使用命令cryptoadm list 如图 -1 。


  图 -1查看系统可用的加密服务


  图 -1查看系统可用的加密服务


  从图 -1 可以看到Solaris加密体系提供了下面几个类型的加密算法: 用户级的提供者; 内核软件提供者; 内核硬件提供者。对于一般用户来说,只有用户级的加密机制才有可能被使用。


  如果希望列出系统中可以应用的加密机制。使用命令:cryptoadm list -p 如图2 。


图 2 列出系统中可以应用的加密机制


图 2 列出系统中可以应用的加密机制


  查看所有的加密机制。使用命令cryptoadm list -m 。


  一、增添软件的加密服务的步骤


  增添PKCS#11加密库。


  (1)安装软件包:


  # pkgadd -d /path/to/package pkginst


  (2)刷新系统加密服务:


  # svcadm refresh system/cryptosvc


  (3)查看加密列表,PKCS#11加密库已经在列表中:


  # cryptoadm list


  如何关闭加密服务


  对于软件、硬件和内核加密服务来说,关闭的命令是一样的。我们只举一个例子说明。


  关闭内核中DES加密。


  (1)查看有无des加密服务:


  $ cryptoadm list -m provider=des


  (2)查看aes加密服务是否启动:


  $ cryptoadm list -p provider=des


  (3)使用disable关闭加密服务:


  $ cryptoadm disable provider=aes mechanism=CKM_DES_ECB


  (4)查看des服务是否已经关闭:


  $ cryptoadm list -p provider=des


  以上四个操作步骤如图 3 。


图 3关闭内核中DES加密


图 3关闭内核中DES加密


  二、 使用加密方法来保护系统文件的步骤


  用户可以将自己的文件以加密的方式存储,尽管这些文件对于超级用户还是可读的,但内容确是超级用户无法识别的。因为,此时的文件内容已经被加密算法打乱了,只有用户才可以通过解密算法来恢复文件的内容。文件在传输的过程中能否保持与原来文件的内容一致,我们如何察觉到传递的文件已经被别人修改过了?有两种方法可以验证文件的一致性:数字签名及消息身份验证代码。


  1.产生对称密钥


  密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。对称密钥是无论加密还是解密都采用一个密钥。密钥的产生最好是随机产生的。下面我们介绍使用dd命令和/dev/urandom设备随机产生的密钥的方法。


  (1)在产生密钥前需要了解系统中加密算法所支持的密钥长度。


  首先显示数字签名算法,如图 -4 。


图 -4 首先显示数字签名算法


图 -4 首先显示数字签名算法


  显示MAC机制:


  使用命令: mac -l


  我们只需要在最大值和最小值之间取一个长度数值就可以了。比如对于sha1_hmac和md5_hmac来说,我们可以取的密钥长度是8、16、64等。


  (2)创建用于 DES 算法的密钥


  在以下示例中,将创建用于 DES 算法的密钥。也将存储该密钥用于以后的解密。DES 机制使用 64 位的密钥。该密钥在 dd 命令中表示为 8 字节。


  #dd if=/dev/urandom of=$HOME/keyf/05.07.des8 bs=8 count=1


  (3)保存密钥,修改权限不让其他用户读取。


  % chmod 400 ~/keyf/05.07.des8


  2.检查文件的完整性的步骤


  检查文件的完整性有下面两种方法。


  (1)通过比较文件的数字签名,可以了解文件是否被改动。


  比如,我们在下载许多Linux和UNIX软件的时候,总会看到一个文件名相同而文件扩展名却为.md5的文件。在这个文件中通常只有一行文本,大致结构如下:


  md5 (dcghj.tar.gz) = 85c0a53d1a5cc71ea34d9ee7b1b28


  检查文件的数字签名:


  % digest -v -a md5 dcghj.tar.gz >> $HOME/digest.duanf.05.07


  % cat ~/digest. dcghj.05.07


  md5 (dcghj.tar.gz) = 85c0a53d1a5cc71ea34d9ee7b1b28


  可见,下载文件与网站的原文件一致。


  3.确保文件的保密性的步骤


  文件的加密和解密的目的就是为了确保文件的保密性。我们可以通过encrypt命令来对文件进行加密,使用decrypt命令来对文件进行解密。


  在以下示例中,将使用 3DES 算法加密文件。3DES 算法要求 192 位(24 字节)的密钥。


  % encrypt -a 3des -k ~/keyf/05.07.des24 -i ~/personal2.txt -o ~/enc/e.personal2.txt


  要解密输出文件,用户应使用加密该文件的相同密钥和加密机制。


  % decrypt -a 3des -k ~/keyf/05.07.des24 -i ~/enc/e.personal2.txt -o ~/personal2.txt


  说明:3DES:即三重DES,只是以某种特殊的顺序使用2个密钥执行三次DES,也可以使用三个单独密钥。


  4 修改系统密码的加密算法


  强悍的密码加密算法可以给系统提供更多的安全保障。Solaris提供的加密算法如表-1所示。


表-1 密码的加密算法


表-1 密码的加密算法


  改变默认加密算法的配置文件是/etc/security/policy.conf文件。在此文件中有一个CRYPT_DEFAULT字段,将其值赋予不同的加密算法的标识符,就可以改变系统默认加密算法。


  将系统默认加密算法改为Blowfish算法。


  修改/etc/security/policy.conf,使其具有下面内容:


  CRYPT_ALGORITHMS_ALLOW=1,2a,md5


  #CRYPT_ALGORITHMS_DEPRECATE=__unix__


  CRYPT_DEFAULT=2a


  总结:本文介绍了使用Solaris 10加密命令保证Solaris服务器安全的方法,这里使用的版本是Solaris 10 5/08 当然除了Solaris自身提供的命令外还可以使用第三方软件如gunpg (http://www.gnupg.org/ )等工具实现加密和解密。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

华江
华江

相关推荐

  • 加密方法过多导致安全通信变得困难

    金融公司急需把他们的安全基础设施扩展到其业务合作伙伴和客户中去,这其中的主要技术就是加密。但当公司进行加密服务时,他们会面临更多预想不到的部署问题……