SSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。
修改SSH配置文件,添加加密算法:
vi /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
最后面添加以下内容(去掉arcfour,arcfour128,arcfour256等弱加密算法):
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
保存文件后重启SSH服务:
service sshd restart or service ssh restart
验证
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc <server>
ssh -vv -oMACs=hmac-md5 <server>
二、SSL
修改SSL配置文件中的的SSL Cipher参数
1、禁止apache服务器使用RC4加密算悄罩法
vi /etc/httpd/conf.d/ssl.conf
修改为如下配置
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
重启apache服务
2、关于启枣闹nginx加密算法
1.0.5及以后版本,默认SSL密码算法是HIGH:!aNULL:!MD5
0.7.65、0.8.20及以后版本,默认SSL密码算法是HIGH:!ADH:!MD5
0.8.19版本,默认SSL密码算法是 ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM
0.7.64、0.8.18及以前版本,默认SSL密码岩简算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
低版本的nginx或没注释的可以直接修改域名下ssl相关配置为
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES
256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GC
M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"
ssl_prefer_server_ciphers on
需要nginx重新加载服务
CA证书就是文件youdomain.crt和私钥文件youdomain.key
请确认所收到的证书文件是您需要的陕滑银西CA证书。
二、安装服务器证书
1. 配置ssl证书
打开nginx安装目录下conf目录中的nginx.conf文件,找到被注释掉的server 配置,进行修改:
server {
listen 443 ssl
server_name www.yourdomian.com
ssl on
ssl_certificate /usr/local/nginx/conf/youdomain.crt #证书公钥
ssl_certificate_key /usr/local/nginx/conf/youdomain.key #证书私钥
ssl_session_cache shared:SSL:1m
ssl_session_timeout 5m
ssl_protocols TLSv1 TLSv1.1 TLSv1.2
ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL
ssl_prefer_server_ciphers on
location / {
root html
index index.html index.htm
}
}
把服务器证书youdomain.crt和私钥youdomain.key上传到配置文件指向的目录枝模/usr/local/nginx/conf/(具体文件路径可以自行指定)
保存退出,并重起nginx配置nginx -s reload后通过https方式访问您的站点,测试站点证书的安装配置。
三、访问测试
服务器若部署了SSL证书,浏览器访问时将出现安全锁标志;
备份和恢复
1. 备份服务器证书
备份服务器证书私钥文件youdomain.key,服务器证书文件信搭宴youdomain.crt,即可完成服务器证书的备份 *** 作。
2. 恢复服务器证书
参照步骤“三、安装服务器证书”即可完成恢复 *** 作。
在本教程中,我们将介绍如何在 Ubuntu 16.04 / 16.10 中使用 SSL / TLS 加密 FTP(本文中,我们将使用 VsFTP,一个号称非常安全的 FTP 软件)在完成本指南中的所有步骤之后,我们将进一步去了解在FTP服务器中启用加密服务的基本原理,以确保能安全的传输数据。
必须在 Ubuntu中已经安装并配置完FTP服务器
请确保本文中的所有命令都将以root或sudo特权帐户运行。
1.我们将首先在 /etc/ssl/ 下创建一个子目录(如果这个目录不存在),以存储SSL / TLS证书和密钥文件:
2.现在,我们通过运行下面的命令在单个文件中生成证书和密钥。
上述命令将提示您回答以下问题,请输入自己特定的值。
3.在进行任何 VsFTP 配置之前,对于启用了UFW防火墙的用户,必须打开端口990和40000-50000,以允许在VSFTPD配置文件改前燃中分别设置TLS连接和被动端口的端口范围:
4.现在,打开VSFTPD配置文件并在其中定义SSL详细信息:
然后,添加或找到选项 ssl_enable 并将其值设置为 YES 以激活 SSL 的使用,因为 TLS 比 SSL 更安全,因此通过启用 ssl_tlsv1 选项,我们将限制 VSFTPD 使用 TLS:
5.接下来,使用 # 字符注释掉下面的行,如下所示:
6.现在,我们还必须防止匿名用户使用SSL,然后强制所有非匿名登录使用安全的SSL连接进行数据传输,并在登录期间发送密码:
7.此外,我们可以使用以下选项在FTP服务器中添加更多的安全功能。使用option_ssl_reuse = YES选项,所有SSL数据连接都需要展示SSL会话重用证明他们知道与控制频道相同的主机密码。所以我们应该禁用它。
另外,我们可以通过设置 ssl_ciphers 选项来设置SSL密码等级。这将有助于阻挡试图强制使用特定密码的攻击。
8.然后,我们来定义被动端口的端口范围(最小和最大端口)。
9.我们可以使用debug_ssl选项启用SSL调试,将 openSSL 连接记录到VSFTPD日志文件中:
最后核虚保存并关闭文件。然后重启 VSFTPD 服务:
10.执行上述所有配置后,通过从命令行使用FTP来测试VSFTPD是否正在使用SSL / TLS连接。
在下面的输出,有一个错误消息,VSFTPD 只允许用户(非匿名)从支持加密服务的安全客户端登录。
因为命令行不支持加密服务,从而导致了上述错误。因此,为了安全地连接到启用加密服务的FTP服务器,我们需要一个默认支持 SSL / TLS 连接的FTP客户端,例如FileZilla。
FileZilla是功能强大,广泛使用的跨平台FTP客户端,支持通过SSL / TLS等方式连接 FTP。要在Linux客户端计算机上安装FileZilla,请使用以下命令。
12.安装完成后,打开它并转到File =>Sites Manager或按 Ctrl + S 以打开下面的站点管理器界面。
13.现在,添加主机/站点名称悔简和IP地址,定义要使用的协议,加密和登录类型,如下面的屏幕截图(使用适用于您的实际情况的值):
14.然后点击从上面的“Connect”,输入密码,然后验证用于SSL / TLS连接的证书,然后单击“确定”再次连接到FTP服务器:
15.现在,您应该已经通过TLS连接成功登录到了FTP服务器,可以从下面的界面查看连接状态以获取更多信息。
16.最后,我们将文件从本地机器传输到FTP服务器的文件夹中,看看FileZilla界面的下端,查看有关文件传输的报告。
全部教程如上!永远记住,安装FTP服务器而不启用加密服务具有一定的安全隐患。正如我们在本教程中所述,您可以在 Ubuntu 16.04 / 16.10中配置FTP服务器以使用SSL / TLS来实现安全连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)