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

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

用SSL保Samba安全的更多相关文章

  1. 获得网址的Https的SSL证书并且保存到truststore

    一.生成PEM文件 这里以邮件发送接口为例https://api.mailgun.net/v3/,首先运行以下命令: openssl s_client -host -prexit -showcerts ...

  2. 将samba加入到windows域《转载》

    将samba加入到windows域 那什么是域呢? 一台Windows计算机,它要么隶属于工作组,要么隶属于域.所以说到域,我们就不得不提一下工作组,工作组是MS的概念,一般的普遍称谓是对等网. 工作 ...

  3. Samba通过Openldap统一认证

    1.环境准备1.1.实验环境[root@moban ~]# cat /etc/redhat-releaseCentOS release 6.8 (Final)[root@moban ~]# uname ...

  4. SSL介绍与Java实例

    有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...

  5. Samba文件服务器详细配置步骤

    准备安装 环境:CentOS 6.3_x64bit 安装:Minimal(最小) 1.配置IP地址 2.挂载:[root@localhost ~]# mount -t iso9660 /dev/cdr ...

  6. Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

    <Windows Azure Platform 系列文章目录> 在某些时候,我们需要在Azure PaaS Cloud Service配置HTTPS连接.本章将介绍如何在本地创建证书,然后 ...

  7. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...

  8. java ssl https 连接详解 生成证书

    我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全 ...

  9. keytool生成证书与Tomcat SSL配置

    转自:http://tomhat.iteye.com/blog/2087673 一.Keytool介绍 Keytool是一个Java数据证书的管理工具.Keytool将密钥(key)和证书(certi ...

随机推荐

  1. OpenGL编程逐步深入(六)平移变换

    准备知识 从这一节我们开始接触3D对象各种各样的变换,使其显示在屏幕上看起来有深度的感觉.通常每一种变换都是通过矩阵来实现的,把这些变换矩阵逐个的乘起来,然后用乘积乘以顶点位置.在每个教程中,我们致力 ...

  2. stuff(param1, startIndex, length, param2)

    1.作用 stuff(param1, startIndex, length, param2)将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用pa ...

  3. js控制分页打印、打印分页示例

    1 打印分页 需要添加一段代码 <div  style="page-break-before:always;"><br /></div> 2 & ...

  4. Spring AOP 实现数据库读写分离

    背景 我们一般应用对数据库而言都是"读多写少",也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案, 其中一个是主库,负责写入数据,我们称之为:写库: 其它都 ...

  5. 用树链剖分来写LCA

    当两个点在一条链上,它们的LCA就是深度较小的那个点. 于是这种树链剖分写LCA的思想就是把要求的两个点想办法靠到一条链上. 而且要靠到尽量更优的一条链上(重链). 做法: 预处理出每棵树上的重链(s ...

  6. HttpService解析

    HttpServlet容器响应Web客户请求流程如下: 1)Web客户向Servlet容器发出Http请求: 2)Servlet容器解析Web客户的Http请求: 3)Servlet容器创建一个Htt ...

  7. 第二十四天 框架之痛-Spring MVC(四)

    6月3日,晴."绿树浓阴夏日长. 楼台倒影入池塘. 水晶帘动微风起, 满架蔷薇一院香". 以用户注冊过程为例.我们可能会选择继承AbstractController来实现表单的显示 ...

  8. BNU 34974 MATLAB大法好

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=34974 MATLAB大法好  Time Limit: 8000ms Memory Limi ...

  9. 《AndroidStudio每日一贴》5. 怎样高速查看某个方法/注解的定义?

    操作方法: 使用快捷键 option + space 或 command + y 举个样例: 如以下的样例,我在输入@O的时候会出现代码补全列表,这个时候我想查看列表中项目的定义能够使用快捷键 opt ...

  10. iOS 一个ViewController上显示2个tableView的方法

    1.在StoryBoard上创建2个tableView,并用autolayout约束. 2.在ViewController上拖进来. @property (weak, nonatomic) IBOut ...