网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 网络管理 > Linux服务器 > Linux OPENSSL 服务器  

Linux OPENSSL 服务器

2002-11-30  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  作者:wind521
  
  概述
   OpenSSL项目是一个合作的项目,开发一个健壮的、商业等级的、完整的开发源代码的工具包,用强大的加密算法来实现安全的Socket层(Secure Sockets Layer,SSL v2/v3)和传输层的安全性(Transport Layer Security,TLS v1)。
   这个项目是由全世界的志愿者管理的,他们通过Internet相互交流、制定计划和开发OpenSSL工具包和相关文档。
  
  加密的优势
   数据的保密性
   信息加密就是把纯文本的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要用到密匙来加密数据然后再解密。没有了密匙,就无法解开加密的数据。数据加密之后,只有密匙要用一个安全的方法传送。加密过的数据可以公开地传送。
  
   数据的一致性
   加密也能保证数据的一致性。例如:加密的校验码,也叫做消息验证码(Message Authentication Code,MAC),能够校验用户提供的加密信息。加密的数据和MAC一起发送给接收者,接收者就可以用MAC来校验加密数据,保证数据没有被窜改过。
  
   安全验证
   加密的另外一个用途是用来作为个人的标识,用户的密匙可以作为他的安全验证的标识。 网管论坛bbs_bitsCN_com
  
  专利
   各种各样的公司在世界各地拥有各种各样算法的专利。在使用加密算法之前必须检查一下这个算法有没有受到本国专利的限制。下面列出一些受到专利保护的算法(可能不确切):
  
   RSA Data Security在美国和日本拥有RSA和RC5算法的专利。必须和RSA Data Security联系以得到许可条例。其主页是:http://www.rsa.com/。
  
   RC4是RSA Data Security的商标,使用这个标志必须得到RSA Data Security的许可。
  
   IDEA算法在澳大利亚、法国、德国、意大利、日本、荷兰、西班牙、瑞典、瑞士、英国和美国受专利保护。如果要使用这个算法必须得到许可,其主页是:http://www.ascom.ch/。
  
  注意事项
  
   下面所有的命令都是Unix兼容的命令。
   源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。
   安装在RedHat Linux 6.1下测试通过。
   要用“root”用户进行安装。
   OpenSSL的版本是0.9.4。
  
  安装软件包需要注意的问题
   最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find /* >ssl1”,在编译和安装完软件之后运行命令“find /* > ssl2”,最后用命令“diff ssl1 ssl2 > ssl”找出变化。 网管联盟bitsCN_com
  
  软件包的来源
   OpenSSL的主页是:http://www.openssl.org/。
  
   下载:openssl-0.9.4.tar.gz
  
  编译
   把软件包(tar.Z)解压缩:
  
  [root@deep]# cp openssl_version.tar.gz /var/tmp
  [root@deep]# cd /var/tmp
  [root@deep]# tar xzpf openssl_version.tar.gz
  
   编译与优化
  转到OpenSSL目录下。
  
  第一步
  
   编辑“c_rehash”文件(vi +11 tools/c_rehash),把:
  
  DIR=/usr/local/ssl
  
   改为:
  
  DIR=/usr
  
   这个改变是使编译和安装OpenSSL时用“/usr”这个默认目录。
  
  第二步
  
   在默认情况下OpenSSL把Perl程序的目录设置为“/usr/local/bin/perl”目录。必须改变所有脚本中的“#!/usr/local/bin/perl”这一行,因为在RedHat Linux中Perl的路径是“/usr/bin”。用下面的命令:
  
  [root@deep]# perl util/perlpath.pl /usr/bin (where your perl program reside).
  
  第三步
  
   为了成功编译OpenSSL,必须知道函数库所在的路径。用下面的命令设置PATH环境变量:

网管u家u.bitscn@com


  
  [root@deep]# export LD_LIBRARY_PATH=`pwd`
  
   设置编译器的编译参数:
  
  CC=\"egcs\"
  ./Configure linux-elf -DSSL_FORBID_ENULL
  --prefix=/usr
  --openssldir=/etc/ssl
  
   注意:因为安全方面的原因要禁止“不加密”,所以“-DSSL_FORBID_ENULL”参数是必须的。
  
   编辑“Makefile.ssl”文件(vi +52 Makefile.ssl),加入:
  
  CFLAG= -DTHREADS -D_REENTRANT -DSSL_FORBID_ENULL -DL_ENDIAN -DTERMIO -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
  
   这是编译OpenSSL的优化参数。
  
   编辑“Makefile.ssl”文件(vi +77 Makefile.ssl),加入:
  
  PROCESSOR= 686
  
   注意:如果CPU是Pentium,用586表示,PentiumPro/II/III用686,486用486。
  
  [root@deep]# make -f Makefile
  [root@deep]# make test
  [root@deep]# make install
  [root@deep]# mv /etc/ssl/misc/* /usr/bin/

网管下载dl.bitscn.com


  [root@deep]# rm -rf /etc/ssl/misc/
  [root@deep]# rm -rf /etc/ssl/lib/
  [root@deep]# rm -f /usr/bin/CA.pl
  [root@deep]# rm -f /usr/bin/CA.sh
  [root@deep]# install -m 644 libRSAglue.a /usr/lib/
  [root@deep]# install -m 644 rsaref/rsaref.h /usr/include/openssl/
  [root@deep]# strip /usr/bin/openssl
  [root@deep]# mkdir -p /etc/ssl/crl
  
   “make -f”命令编译OpenSSL函数库(libcrypto.a和libssl.a)以及OpenSSL的二进制文件“openssl”。编译完之后函数库在顶层目录,二进制程序在“apps”子目录。成编译之后,“make test”测试函数库是否正常。最后,“make install”安装OpenSSL。
  
   “mv”命令把“/etc/ssl/misc”目录下的所有文件移到“/usr/bin”目录下。因为在我们的系统中所有的二进制文件都在“/usr/bin”目录下,所以要把二进制文件都移到这个目录下。
  
   “rm”命令删除“/etc/ssl/misc”和“/etc/ssl/lib”目录,因为这个目录中的文件都在别的地方了。“CA.pl”和“CA.sh”文件是小的脚本文件用来创建CA认证。这个脚本和“openssl ca”命令相关,而且有一些奇怪的要求。在默认情况下,OpenSSL的配置不能很容易地使用“openssl ca”。所以我们后面会用“sign.sh”脚本来替换它们。 网管网www_bitscn_com
  
  清除不必要的文件
  
  [root@deep]# cd /var/tmp
  [root@deep]# rm -rf openssl-version/ openssl_version.tar.gz
  
   “rm”命令删除所有的编译和安装OpenSSL软件所需的源文件,并把OpenSSL软件的压缩包删除。
  
  配置
   可以到这去下载“floppy.tgz”文件:http://pages.infinit.net/lotus1/doc/opti/floppy.tgz。把“floppy.tgz”文件解开之后,可以在相应的目录下发现我们在这本书中介绍的所有软件的配置文件。这样就没有必要手工重新生成这些文件,或者用拷贝粘贴的方法把它们粘贴到配置文件中去。不管是打算自己动手生成配置文件还是拷贝现成的,你都要学会自己修改配置文件并且把配置文件拷贝到正确的目录下。下面将具体说明。
  
   为了运行OpenSSL服务器,必须创建或者把下面的文件拷贝到相应的目录下:
  
  l 把“openssl.cnf”文件拷贝到“/etc/ssl”目录下
  
  l 把“sign.sh”文件拷贝到“/usr/bin”目录下
  
   可以把“floppy.tgz”解压之后,找到上面列出来的文件,并拷贝到相应的目录下,或者用拷贝粘贴的方法从本书中直接粘贴出。 网管u家u.bitsCN.com
  
  配置“/etc/ssl/openssl.cnf”文件
   这是openssl程序总的配置文件,可以配置密匙的过期时间、公司的名称、地址,等等。需要改变得配置在[CA_default]和[req_distinguished_name]这两个section里。
  
   编辑“openssl.cnf”文件(vi /etc/ssl/openssl.cnf),加入并改变:
  
  # OpenSSL example configuration file.
  # This is mostly being used for generation of certificate requests.
  #
  RANDFILE = $ENV::HOME/.rnd
  oid_file = $ENV::HOME/.oid
  oid_section = new_oids
  # To use this configuration file with the \"-extfile\" option of the
  # \"openssl x509\" utility, name here the section containing the
  # X.509v3 extensions to use:
  # extensions =
  # (Alternatively, use a configuration file that has only
  # X.509v3 extensions in its main [= default] section.)
  [ new_oids ]
  # We can add new OIDs in here for use by 'ca' and 'req'.
  # Add a simple OID like this:
  # testoid1=1.2.3.4
  # Or use config file substitution like this:
网管bitscn_com

  # testoid2=${testoid1}.5.6
  ####################################################################
  [ ca ]
  default_ca = CA_default # The default ca section
  ####################################################################
  [ CA_default ]
  dir = /etc/ssl # Where everything is kept
  certs = $dir/certs # Where the issued certs are kept
  crl_dir = $dir/crl # Where the issued crl are kept
  database = $dir/ca.db.index # database inde

 上一篇:Redhat6.2+qmail+smtpd认证防止垃圾邮件发送者滥用你的服务   下一篇:wu-ftpd服务器配置手册
Linux OPENSSL 服务器 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: