sslLinux下SVN安全访问之开启SSL(linuxsvn开启)
客户认证
服务端和客户端之间安全地连接和传输数据,对诸如SVN(Subversion)等常用的版本控制系统来说是非常重要的。下面我们以Linux系统为例,介绍下如何开启SSL客户认证,以改善SVN的安全性。
操作步骤如下:
1.在服务器端生成SSL密钥和证书。
使用openssl程序,在服务器端建立一个SSL认证的密钥和证书,具体步骤如下:
`# cd /etc/svn`
`# openssl genrsa -des3 -out svnCA.key 1024` //生成服务器自签名CA密钥
`# openssl req -new -key svnCA.key -out svnCA.csr` //根据svnCA.key生成svnCA.csr
`# openssl x509 -req -days 365 -in svnCA.csr -signkey svnCA.key -out svnCA.crt` //为svnCA.key签名,生成svnCA.csr证书
2.修改系统配置文件。
编辑配置文件/etc/daemon.conf,让它知道svn中ssl key和cert路径:
`# vi /etc/daemon.conf`
`SVN_SSL_CONF=/etc/svn/ssl/svn.conf`
3.建立客户端的私钥和证书,允许用户登录。
建立客户端的私钥和证书,并允许用户登录,步骤如下:
`# cd /etc/svn/ssl`
`# openssl genrsa -des3 -out client.key 1024` //生成客户端私钥
`# openssl req -new -key client.key –out client.csr` //签发证书请求
`# openssl x509 -req -days 365 -in client.csr -CA /etc/svn/svnCA.crt -CAkey /etc/svn/svnCA.key -CAcreateserial -out client.crt` //签发客户端证书
4.修改/etc/svn/svn.conf文件。
添加以下内容:
`# vi /etc/svn/svn.conf`
`[ssl]`
`ssl_cert_file = /etc/svn/ssl/svnCA.crt`
`ssl_key_file = /etc/svn/ssl/svnCA.key`
`ssl_trust_file = /etc/svn/ssl/client.crt`
5.重启SVN服务器。
使用以下命令重启SVN服务器:
`# service svn restart`
以上就是在Linux系统下开启SSL客户认证的具体步骤,可以有效提升SVN的安全性。这里还要再提醒您几点:服务器端请妥善保管好CA密钥和证书;客户端私钥也要妥善保管;记得对密钥进行加密存储以提高安全等级。