CDN

显示标签为“CDN”的博文。显示所有博文
显示标签为“CDN”的博文。显示所有博文

2018年10月17日星期三

SSL/TLS安全评估为B的解决方法



近期使用SSL/TLS安全评估报告查询网站SSL安全性的时候网站安全性总是B,现在通过下面的方式可以升级到A或者A+。当然我们也提供了nginx不使用CDN的情况下的配置方案。


使用了Fikker CDN系统



Fikker是一个非常好的反向代理系统, 但是他们的SSL默认配置文件有点问题, 导致SSL评级会比较差, 主要提示是:

服务器易受到POODLE漏洞攻击,降级为C
因为使用RC4密码套件,降级为B






其实Fikker已经提供解决方案了, 只需要修改一下Fikker的SSL配置文件就可以了.
进入Fikker的ssl配置目录, 如


cd /root/fikkerd-3.7.5-linux-x86-64/config/ssl

先备份原来的配置文件


mv ssl.ini ssl.ini.bk #备份原来的ssl配置
mv ssl.ini.HIGH\! ssl.ini #生成新的ssl配置


再重启fikkerd服务就好了


cd /root/fikkerd-版本号-linux-x86-64/
./fikkerd.sh restart


再来测试一下


但是要注意, 如果这样设置Windows XP系统的IE 6和IE 8浏览器(不包括其他浏览器)是无法打开HTTPS网站, 详情请看这里:
HTTPS安全与兼容性配置指南

只使用了nginx没有使用CDN的情况下的配置方案



在网站的配置文件中修改为以下内容即可(宝塔页面,lnmp请前往主机的vhost.conf修改):

#HTTP_TO_HTTPS_END
***
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #就只需要修改这两行内容就可以了
***

#SSL-END


要让修改结果生效,请重启nginx。
其他网页服务器软件请自行百度。

到这里,检查结果只会在A不会到A+,要到A+需要打开HSTS,接下来说说设置HSTS。

设置HSTS



HSTS只支持打开了ssl的网站,并且打开了HSTS就表示这个域名要一直提供ssl服务,中断ssl服务可能让域名无法正常访问,请谨慎设置。


在网站的配置的网站Server_name下添加add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";即可打开HSTS。

server

{
listen 80;
listen 443 ssl http2;
server_name 你的域名;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
#添加这一行代码就可以了,63072000表示63072000秒即一年。
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/你的域名;


设置完HSTS后需要重启Nginx服务方可生效,由于缓存问题,可能无法及时生效,需要等一段时间再去测试,这样就可以达到A+了。

2017年10月20日星期五

解决sspanel使用cdn后无法获取真实ip



先说哈,这些方法都是问大佬问到的方法,如果说有其他的方法,那么请告诉我吧~

方法一:


一直以来有个烦恼就是使用了cdn后sspanel的后台ip统计就不准确了,无论谁登录都会记录cdn的ip,而不是访客的真实ip,原因其实很简单,因为我们通过了cdn这个代理来访问的网站,但其实cdn在请求网站数据时,会通过HTTP_X_FORWARDED_FOR附加真实访客的地址,我们只需要解析这个函数的内容就可以了,具体操作如下。

在sspanel目录下找到/app/Controllers/AuthController.php这个文件,并用vim打开,在所有的$loginip->ip=$_SERVER["REMOTE_ADDR"];前均添加下述语句即可。
if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]))
{
$list = explode(‘,’,$_SERVER[‘HTTP_X_FORWARDED_FOR’]);
$_SERVER[‘REMOTE_ADDR’] = $list[0];
}

[v_error]此处的标点符号请注意,将所有中文模式下的标点改为英文的标点[/v_error]
解决后效果如图



[v_notice]方法来源:DoubleDou[/v_notice]

方法二:


在sspanel的配置文件中加入
if (isset($_SERVER['HTTP_CF_CONNECTING_IP']))
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];

[v_notice]方法来源:魔改的世界[/v_notice]

某些魔改版自带的


在ssp的配置文件里面,最下面添加

#在套了CDN之后获取用户真实ip,如果您不知道这是什么,请不要乱动

if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) {

$list = explode("," , $_SERVER["HTTP_X_FORWARDED_FOR"]);

$_SERVER["REMOTE_ADDR"] = $list[0];

}



如果你有其他的方法,那可以告诉我哟~