说明

应用程序通过未加密的大路与数据库服务器通讯,
那恐怕会促成重大的伊春危机。在这里种状态下, 攻击者能够修改顾客输入的数据,
以至对数据库服务器实施大肆 SQL 命令。

诸如,当您使用以下连接字符串时,就或然存在这里种风险:

<connectionStrings>  
<add name="Test" connectionString="Data Source=210.10.20.10,1433; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;" providerName="System.Data.SqlClient" /> 
</connectionStrings>

 

原址:Setting Up a Secure FTP Server using SSL/TLS on Ubuntu

在本教程中,大家将介绍怎么样在 Ubuntu 16.04 / 16.10 中选择 SSL / TLS 加密
FTP(本文中,我们将运用 VsFTP,四个叫作特别安全的 FTP 软件)

在完开销指南中的有发轫续之后,大家将更为去询问在FTP服务器中启用加密服务的基本原理,以保险能平平安安的传输数据。

图片 1 

那边一度将转换证书的步骤简化成一键剧本,复制下来,增多实施权限就能够使用。

启用SSL/TLS加密连接

绝大好多数据库服务器都提供帮忙选择SSL/TLS来加密传输全部数据,您应该尽量的施用它。在你的连天字符串上助长Encrypt=True就能够。要是您的开销意况尚未可信赖证书,加上TrustServerCertificate=True来打消验证证书是还是不是受信。

<connectionStrings>  
<add name="Test" connectionString="Data Source=210.10.20.10,1433; Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;Encrypt=True;" providerName="System.Data.SqlClient" /> 
</connectionStrings>

 

相关链接:

原稿链接:

必备条件:

     
必须在Ubuntu中早已设置并配备完FTP服务器

请保管本文中的全部命令都将以root或sudo特权帐户运转。

图-ProFTPD

搜狐连接:

cat tls.sh

Step 1:在 Ubuntu 上为 FTP 生成 SSL / TLS 证书

1.大家将首先在 /etc/ssl/
下创办一个子目录(即使那几个目录不设有),以存款和储蓄SSL / TLS证书和密钥文件:

$ sudo mkdir  /etc/ssl/private

2.现行反革命,大家透过运转上面的指令在单个文件中生成证书和密钥。

$ sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem
-out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048

上述命令将唤起您回复以下难题,请输入自身一定的值。

Country Name (2 letter code) [XX]:IN

State or Province Name (full name) []:Lower Parel

**Locality Name (eg, city) [Default City]:Mumbai**


**Organization Name (eg, company) [Default Company
Ltd]:TecMint.com


**Organizational Unit Name (eg, section) []:Linux and Open
Source


**Common Name (eg, your name or your server’s hostname)
[]:tecmint


**Email Address []:admin@tecmint.com


Proftpd使用TLS/SSL

 

#!/bin/bash
DOMAIN_HOST=`ifconfig eth0 | grep "inet" | awk '{ print $2}' | sed -n '1p;1q'`
#DOMAIN_HOST=`hostname` #选择域名方案最好
HOST=$DOMAIN_HOST
# 自定义信息
PASSWORD="yourPassword"
COUNTRY=CN
PROVINCE=gd
CITY=gz
ORGANIZATION=dounine
GROUP=dg
NAME=lake
SUBJ="/C=$COUNTRY/ST=$PROVINCE/L=$CITY/O=$ORGANIZATION/OU=$GROUP/CN=$HOST"
# 自定义信息
#============================================================================================
#此形式是自己给自己签发证书,自己就是CA机构,也可以交给第三方机构去签发
# 生成根证书RSA私钥,password作为私钥密码(身份证)
openssl genrsa -passout pass:$PASSWORD -aes256 -out pem/ca-key.pem 4096
# 2.用根证书RSA私钥生成自签名的根证书(营业执照)
openssl req -new -x509 -days 365 -passin pass:$PASSWORD -key pem/ca-key.pem -sha256 -subj $SUBJ -out pem/ca.pem
#============================================================================================
#给服务器签发证书
# 1.服务端生成自己的私钥
openssl genrsa -out pem/server-key.pem 4096
# 2.服务端生成证书(里面包含公钥与服务端信息)
openssl req -new -sha256 -key pem/server-key.pem -out pem/server.csr -subj "/CN=$DOMAIN_HOST"
# 3.通过什么形式与我进行连接,可设置多个IP地扯用逗号分隔
echo subjectAltName=IP:$DOMAIN_HOST > /tmp/extfile.cnf
# 4.权威机构对证书进行进行盖章生效
openssl x509 -passin pass:$PASSWORD -req -days 365 -sha256 -in pem/server.csr -CA pem/ca.pem -CAkey pem/ca-key.pem -CAcreateserial -out pem/server-cert.pem -extfile /tmp/extfile.cnf
#============================================================================================
#给客户端签发证书
openssl genrsa -out pem/client-key.pem 4096
openssl req -subj '/CN=client' -new -key pem/client-key.pem -out pem/client.csr
echo extendedKeyUsage = clientAuth > /tmp/extfile.cnf
openssl x509 -passin pass:$PASSWORD -req -days 365 -sha256 -in pem/client.csr -CA pem/ca.pem -CAkey pem/ca-key.pem -CAcreateserial -out pem/client-cert.pem -extfile /tmp/extfile.cnf
#============================================================================================
# 清理文件
rm -rf pem/ca-key.pem
rm -rf pem/{server,client}.csr
rm -rf pem/ca.srl
# 最终文件
# ca.pem  ==  CA机构证书
# client-cert.pem  ==  客户端证书
# client-key.pem  ==  客户私钥
# server-cert.pem  == 服务端证书
# server-key.pem  ==  服务端私钥

Step 2:在 Ubuntu 上配置 VsFTP 使用 SSL / TLS

3.在进行其余 VsFTP
配置在此以前,对于启用了UFW防火墙的顾客,必得打初始口990和60000-60000,以允许在VSFTPD配置文件中分头安装TLS连接和低落端口的端口范围:

sudo ufw allow 990/tcp

sudo ufw allow 40000:50000/tcp

sudo ufw status

4.现行,张开VSFTPD配置文件并在里头定义SSL详细音讯:

sudo vi /etc/vsftpd/vsftpd.conf

OR

sudo nano /etc/vsftpd/vsftpd.conf

然后,增添或找到选项 ssl_enable 并将其值设置为 YES 以激活 SSL
的施用,因为 TLS 比 SSL 更安全,由此通过启用 ssl_tlsv1 挑选,大家将限量
VSFTPD 使用 TLS:

ssl_enable=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

5.接下来,使用 # 字符注释掉上边包车型大巴行,如下所示:

#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem

#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

6.现行,大家还非得防止无名氏顾客选拔SSL,然后强制全部非无名登陆使用安全的SSL连接实行多少传输,并在报到时期发送密码:

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

至于FTP over
TLS/SSL的功效既证书的发生参见vsftpd的SSL配置部分,上边是自个儿的体系中的proftpd中的与SSL相关的布局:

1,ldap服务器自制签字&证书

ldap服务器安装ldap:yum install -y openldap openldap-servers
openldap-clients migrationtools openssl

#cd /etc/openldap/certs/

# openssl genrsa -out ldap.key 1024 //私钥

# openssl req -new -key ldap.key -out ldap.csr //生成签字呼吁

# openssl x509 -req -days 1095 -in ldap.csr -signkey ldap.key -out
ldap.crt //公钥 自签名

###########ldap.key(私钥)、ldap.crt(证书、公钥)############

调用生成证书

7.别的,大家得以选用以下选项在FTP服务器中增加越来越多的乌海功能。使用option_ssl_reuse

YES选项,全数SSL数据连接都须要体现SSL会话重用;注明她们了然与操纵频道同样的主机密码。所以大家应当剥夺它。

require_ssl_reuse=NO

除此以外,大家得以经过设置 ssl_ciphers
选项来安装SSL密码等第。那将有利于阻止试图强制行使一定密码的攻击。

ssl_ciphers=HIGH

8.然后,大家来定义被动端口的端口范围(最小和最大端口)。

pasv_min_port=40000

pasv_max_port=50000

9.大家得以选择debug_ssl选项启用SSL调节和测量检验,将 openSSL
连接记录到VSFTPD日志文件中:

debug_ssl=YES

最后保存并关闭文件。然后重启 VSFTPD 服务:

systemctl restart vsftpd

# I use SSL/TLS to protect my authentication information from sniffing   #   TLSEngine on   TLSLog /var/log/proftpd-tls.log   #lftp can't work properly without this  TLSOptions NoCertRequest   #Use TLS to protect authentication information   #TLSRequired auth   #Server's certificate file   TLSRSACertificateFile /etc/proftpd/server.crt   TLSRSACertificateKeyFile /etc/proftpd/server.key   #Don't enforce TLS Renegotiate   #TLSRenegotiate required off   

2,再次来到上级目录,对cert设置权限:

# chmod 700 certs/

# chown -R ldap.ldap certs/

chmod +x tls.sh
bash tls.sh

Step 3:在Ubuntu上验证FTP使用SSL / TLS连接

10.施行上述全数配置后,通过从命令行使用FTP来测量检验VSFTPD是或不是正在选用SSL /
TLS连接。

在上面包车型地铁出口,有一个谬误音信,VSFTPD
只允许客商(非无名氏)从扶助加密服务的巴中客商端登入。

ftp 192.168.56.10

Connected to 192.168.56.10  (192.168.56.10).

220 Welcome to TecMint.com FTP service.

Name (192.168.56.10:root) : ravi

530 Non-anonymous sessions must use encryption.

Login failed.

421 Service not available, remote server has closed connection

ftp>

因为命令行不扶持加密服务,从而致使了上述失实。由此,为了安全地接二连三到启用加密服务的FTP服务器,大家要求二个暗中同意帮忙SSL / TLS 连接的FTP客商端,比方FileZilla。

透过小说的牵线,大家知晓了Proftpd的TLS/SSL配置!希望本文对大家全部利于!

3,修改ldap服务器配置文件 /etc/openldap/certs/ldap.conf 、 /etc/openldap/certs/sldap.conf文件。

# vim /etc/openldap/ldap.conf

TLS_CACERTDIR /etc/openldap/certs

TLS_REQCERT allow

URI
ldaps://http://xxx.xxx.xxx.xxx
###配置URI

BASE dc=xxx,dc=xxxx ###设置为ldap的域名

##################################

# vim /etc/openldap/slapd.conf

TLSCACertificatePath /etc/openldap/certs

TLSCertificateFile /etc/openldap/certs/ldap.crt

TLSCertificateKeyFile /etc/openldap/certs/ldap.key

配置dockerdaemon配置
cat /etc/docker/daemon.json

Step 4:安装 FileZilla 并安全地接连FTP

FileZilla是功用强盛,遍布运用的跨平台FTP客商端,援助通过SSL /
TLS等措施连接
FTP。要在Linux客户端Computer上设置FileZilla,请使用以下命令。

——— On Debian/Ubuntu ———

sudo apt-get install filezilla

——— On CentOS/RHEL/Fedora ———

yum install epel-release filezilla

——— On Fedora 22+ ———

sudo dnf install filezilla

12.安装到位后,展开它并转到File => Sites Manager或按 Ctrl + S
以张开上面包车型大巴站点处理器分界面。

图片 2

Filezilla 站点处理分界面

13.现行反革命,增添主机/站点名称和IP地址,定义要使用的合计,加密和登陆类型,如上面包车型客车显示屏截图(使用适用于你的实际处境的值):

Host:192.168.56.10

Protocol:FTP – File Transfer Protocol

Encryption:Require explicit FTP over           # 推荐值

Logon Type:Ask for password                      # 推荐值

User:username**

图片 3

在Filezilla上安插新的FTP站点

14.然后点击从下边包车型客车“Connect”,输入密码,然后验证用于SSL /
TLS连接的证书,然后单击“显著”再度连接到FTP服务器:

图片 4

验证FTP SSL证书

15.现行反革命,您应该已经因而TLS连接成功登陆到了FTP服务器,能够从上面包车型客车分界面查看连接景况以获得更加多消息。

图片 5

连接到Ubuntu FTP服务器

16.最终,大家将文件从本地机械传输到FTP服务器的文书夹中,看看FileZilla分界面包车型客车下端,查看有关文件传输的告知。

图片 6

应用Filezilla安全的传输文件到 FTP

全数课程如上!永世记住,安装FTP服务器而不启用加密服务具有一定的安全祸患。正如小编辈在本教程中所述,您能够在
Ubuntu 16.04 / 16.第10中学配备FTP服务器以使用SSL / TLS来促成安全连接。

Proftpd 使用TLS/SSL 关于FTP over
TLS/SSL的作用既证书的发出参见vsftpd的SSL配置部分,下边是笔者的种类中的proftpd中的与SSL相关的配备:…

4,修改本地ldap系统布局,开启ldaps

#vim /etc/sysconfig/ldap

SLAPD_LDAP=no ######依附本身索要进行配备,这里关掉

SLAPD_LDAPI=no ######依据本身必要进行计划,这里关掉

SLAPD_LDAPS=yes

 

{
    "hosts": ["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"],
    "tlsverify":true,
    "tlscacert":"/root/tls/pem/ca.pem",
    "tlscert":"/root/tls/pem/server-cert.pem",
    "tlskey":"/root/tls/pem/server-key.pem"
}

5,服务器运转服务&配置自运行

# service slapd stop #先关闭

rm -rf /etc/openldap/slapd.d/*
##第一回安装时需求进行这么些手续,若是ldap服务业已布置好,只是改换ldap左券为ldaps公约,无需施行此步骤。

# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

# chown -R ldap.ldap /etc/openldap/slapd.d/

# service slapd start #开启

安顿自运维:

#chkconfig slapd on

让配置生效

6,客商端配置及测量检验

客商端机器安装openldap-clients openldap

改动客商端配置文件

# vim /etc/openldap/ldap.conf

TLS_CACERTDIR /etc/openldap/certs

TLS_REQCERT allow

URI
ldaps://http://xxx.xxx.xxx.xxx
###配置URI

BASE dc=xxx,dc=xxxx ###设置为ldap的域名

 

##################################

测试:

#ldapsearch -x -W -D “cn=Manager,dc=test,dc=com” -b “dc=test,dc=com” –
H
ldaps://xxxxxx

输入密码,ok!

 

打完收工!!

自此ldap服务器已经安全!记得实时维护,打补丁…..(未有相对安全)

systemctl daemon-reload
systemctl restart docker

测量检验连接

docker --tlsverify --tlscacert=pem/ca.pem --tlscert=pem/client-cert.pem --tlskey=pem/client-key.pem -H tcp://172.16.0.3:2376 version

职业有成展现版本号

version
Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:41:23 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:42:49 2017
 OS/Arch:      linux/amd64
 Experimental: false

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图