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传输数据了。

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

  • 相关阅读:
    SpringBoot yml配置数据库密码特殊字符报错问题
    SpringBoot打jar包后无法访问resource下的文件
    js使用form提交工具类
    SpringBoot使用@ServerEndpoint无法@Autowired依赖注入问题解决
    java基于dfa实现敏感词过滤
    SpringBoot快速集成WebSocket实现群聊
    java生成序号前补0最简单的方法
    Mysql两个时间差计算方法
    python+selenium+webdriver环境搭建相关文档
    Java递归处理Tree树结构
  • 原文地址:https://www.cnblogs.com/chenguang/p/3742451.html
Copyright © 2011-2022 走看看