zoukankan      html  css  js  c++  java
  • 用SSL保Samba安全

    用SSL保Samba安全

             在企业中用Samba做为文件服务器是非常容易的事了,那如何保证存储数据的安全,如何保证数据传输的安全呢?我以前介绍过通过Samba安全级别和加装防病毒软件在保证Samba安全的文章,今天给大家介绍基于SSL协议加密samba传输数据保证安全,SSL+证书是基于SSL加密标准之上的具有双重认证,安全性最高。下面介绍的方法和用ssl加密http,ftp传输类似,有过此类应用的同仁在做实验中就不会感到陌生。
            如果客户可以从Internet连接到Samba Server,则喜欢截获信息的Hacker就可以重新构造远程用户正在使用的文件。利用程序他们甚至可以在远程用户正在使用的文件中插入数据。通过SSL加固samba就可以彻底解决此类问题,SSL是一个标准和协议,它允许双方在不安全的网络上互相进行安全的通信。如果对于局域网用户就不必设置了。
    编译带有SSL支持的samba,步骤如下:
    1.得到、编译和安装SSLeay.可以在站点http://www.cryptsoft.com处得到SSLeay的最新版本。在配置带有SSL支持的samba之前必须进行这个步骤,否则无法编译Samba。
    #./Configure linux-elf
    CC =gcc
    CFLAG =-DL_ENDIAN -DTERMIO -DBN_ASM -O3 -fomit-frame-pointer
    EX_LIBS =
    BN_MULW =asm/bn86-elf.o
    DES_ENC =asm/dx86-elf.o asm/yx86-elf.o
    BF_ENC =asm/bx86-elf.o
    CAST_ENC =asm/cx86-elf.o
    RC4_ENC =asm/rx86-elf.o
    RC5_ENC =asm/r586-elf.o
    MD5_OBJ_ASM =asm/mx86-elf.o
    SHA1_OBJ_ASM =asm/sx86-elf.o
    RMD160_OBJ_ASM=asm/rm86-elf.o
    THIRTY_TWO_BIT mode
    DES_PTR used
    DES_RISC1 used
    DES_UNROLL used
    BN_LLONG mode
    RC4_INDEX mode
    接下来修改环境变量:PATH=$PATH:/usr/local/ssl/bin
    生成文件:cat >/tmp/private.txt
    生成随机数
    # ssleay genrsa -rand /tmp/private.txt >/dev/null
    2451 semi-random bytes loaded
    Generating RSA private key, 512 bit long modulus
    ..+++++
    .................................+++++
    e is 65537 (0x10001)
    2.下载Samba源码编译过程略 编译带有SSL支持的samba,从samba源代码编译修改Makefile文件,安装支持SSL的samba二进制文件。
    #./configure --with-ssl
    # make clean
    # make all
    3.为你的samba服务器,创建X.509证书。
    # cd /etc
    # mkdir certificates
    # chmod 700 certificates
    修改CA.sb脚本文件
    找到CATOP=./demoCA,把它修改成:CATOP=/etc/certificates
    下面你就要修改 /usr/local/ssl/lib/ssleay.cnf 文件
    把[ CA_default ]字段dir = ./demoCA # Where everything is kept
    改成:[ CA_default ]
    dir = /etc/certificates # Where everything is kept
    接着运行CA脚本:
    #/usr/local/ssl/bin/CA.sh -newca
    Making CA certificate ...
    Using configuration from /usr/local/ssl/lib/ssleay.cnf
    Generating a 1024 bit RSA private key
    .............................+++++
    .....................+++++
    writing new private key to /etc/certificates/private/cakey.pem
    Enter PEM pass phrase:
    Verifying password - Enter PEM pass phrase:
    接下来会填写这样的信息:
    Country Name (2 letter code) [AU]:US
    State or Province Name (full name) [Some-State]:California
    Locality Name (eg, city) []:Sebastopol
    Organization Name (eg, company) []:O'Reilly
    Organizational Unit Name (eg, section) []:Books
    Common Name (eg, YOUR name) []:John Doe
    Email Address []:doe@ora.com
    创建客户端证书:
    # ssleay genrsa -des3 1024 >phoenix.key
    1112 semi-random bytes loaded
    Generating RSA private key, 1024 bit long modulus
    ........................................+++++
    .............+++++
    e is 65537 (0x10001)
    Enter PEM pass phrase:
    Verifying password - Enter PEM pass phrase:
    # ssleay req -new -key phoenix.key -out phoenix-csr
    Enter PEM pass phrase:
    4.配置samba使用ssl,告诉samba服务器证书,以及似有密钥的位置,并设置其他需要的参数。
    下一步我们修改samba的配置文件,位置在/etc/certificates
    [global]
    ssl = yes
    ssl server cert = /etc/certificates/cacert.pem
    ssl server key = /etc/certificates/private/cakey.pem
    ssl CA certDir = /etc/certificates
    保存退出后重启smb服务
    # nmbd -D
    # smbd -D
    Enter PEM pass phrase:
    经过上面的设置就可以放心的在Interner上安全的使用samba传输数据了。

    本文出自 “李晨光原创技术博客” 博客,谢绝转载!

  • 相关阅读:
    176. Second Highest Salary
    175. Combine Two Tables
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
    169. Majority Element
    168. Excel Sheet Column Title
    167. Two Sum II
    160. Intersection of Two Linked Lists
    个人博客记录
    <meta>标签
  • 原文地址:https://www.cnblogs.com/chenguang/p/3742451.html
Copyright © 2011-2022 走看看