DNS解析迁移回国内

最近中美贸易关系闹得挺乱,突然发现在国际政治面前,一切遮羞布都是渣渣。

为了规避中中美国际政治风险,把源CloudFlare的域名解析全部迁移回国内。

本来想换位百度DNS智能云解析 ,后来发现它只能解析已备案域名,所以没备案的就没戏了。

另外百度的DNS域名解析识别备案也出错,一个.XIN域名总是识别为没备案。于是我只放了一个域名在上面,买了个9快钱的普惠版凑合用着。百度解析没有什么特殊的功能。

 

在闲逛的时候无意发现一家新的云安全服务商,有免费的域名解析服务:上海云盾信息技术有限公司(YUNDUN) ,主要业务为云安全服务。旗下业务有安全的DNS云解析,本来以为平淡无奇,进去发现还是不错,有完善的分区解析,比DNSPOD那小气劲可算是大方多了。看其VIP服务差异不大。还是希望它能够办下去,毕竟国内靠谱的域名解析服务不多了。

回过头来想想,中兴这次事件也为我们的基础服务敲响了警钟,虽然网络无国界,自由平等开源其实很多时候还是受到政治制约的。

从这些云解析中看来,还是希望国内的云服务商都争气,完善好我们自己的网络和服务吧。截止目前,我一直在使用着阿里云、腾讯云、京东云,国外的VPS也很少用了。

使用Oneinstack实现TLS1.3部署

一直在使用OneInstack,一直为网站部署了SSL,随着TLS1.3的草案落实发布,Openssl也发布了多个草案适配的TLS1.3的OPENSSL测试版套件。本文在此提供一种方案实现部署TLS1.3实现draft 23.

1.按照OneInstack网站下载WEB运维脚本源码,解压。

2.修改根目录下versions.txt文件,修改Openssl和NGINX版本要求,目前是为了下载适用的openssl-1.1.1-pre2版本和NGINX版本

nginx_ver=1.13.11
openssl_ver=1.1.1-pre2

3.修改oneinstack源码中./include/check_download.sh文件中openssl-1.1.1-pre2下载连接,由于新版本的openssl-1.1.1-pre3和pre4版本的发布,openssl官网上的pre2的连接更新至:https://www.openssl.org/source/old/1.1.1/openssl-1.1.1-pre2.tar.gz

  echo "Download openSSL..."
  src_url=https://www.openssl.org/source/old/1.1.1/openssl-${openssl_ver}.tar.gz && Download_src

 

4.按照以上设置,按照正常的oneinstack安装程序安装会出现x25519-x86_64一个文件的编译错误,是由于在openssl-1.1.1-pre2源码中一直存在一个错误:在./crypto/ec/asm/x25519-x86_64.pl 文件中末尾存在一个变量错误,更正如下:

close STDOUT;

考虑下载的覆盖问题,我建议直接下载openssl-1.1.1-pre2源码修改完成打包文件名为openssl-1.1.1-pre2.tar.gz直接放置于oneinstack源码中./src文件夹中。安装时候才不会下载源码覆盖。

5.完成以上后可以正常安装编译。完成后新建vhost网站,修改nginx对应的conf设置:

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

修改完成重启nginx

6.设置浏览器支持tls1.3

目前最新版 Chrome 和 Firefox 都支持 TLS 1.3,但需要手动开启:

  • Chrome,将 chrome://flags/ 中的 Maximum TLS version enabled 改为 TLS 1.3(Chrome 62 中需要将 TLS 1.3 改为 Enabled (Draft));
  • Firefox,将 about:config 中的 security.tls.version.max 改为 4

目前ssllabs和myssl两个ssl检测网站都无法识别tls1.3 draft 23,因此检测不到TLS1.3.

至此,网站已经正常启用TLS1.3

 

Cloudflare 1.1.1.1公共DNS上线Cloudflare Public DNS

什么是公共DNS

我们都知道,我们要能上网,就必须要使用DNS。这个DNS可能是你的运营商提供给你的,也可以是一些其它组织提供的,比如我们熟知的谷歌的8.8.8.8,国内114dns的114.114.114.114. 。他们负责给我们的请求提供解析服务。

不过首先要明白,公共DNS不是:
  • 不是根服务器
  • 不是权威dns托管商,不提供域名注册等服务,比如万网和DNSpod
  • 不是权威dns,不针对个别域名进行解析

公共DNS服务的特点就是服务的域名数量巨大,用户数多,同时要求具有安全性和抗攻击性,低延迟(响应快),无拦截(无广告)以及对解析成功率要求非常的高。

近期,深耕于域名解析DNS和CDN的国外知名服务商Cloudflare上线了其下的免费公共DNS服务,其与 APNIC合作推出了免费的公共DNS解析服务:

DNS解析服务IP为:

IPV4:1.1.1.1    1.0.0.1

IPV6:2001:2001:: 2001:2001:2001::

从IP都直接看来,颇具诚意。

以前国外特色的DNS公共DNS解析服务有:

GOOGLE IPV4:8.8.8.8    8.8.4.4

Quad 9 (IBM):9.9.9.9

Let’s Encrypt 宣布 ACME v2 正式支持通配符证书

Let’s Encrypt 宣布 ACME v2 正式支持通配符证书。

证书周期仍然为3个月,通配符证书需要acme.sh dnsapi模式.

以前的certbot验证方式只是从单域名的DNS模式。

Let’s Encrypt 宣布 ACME v2 正式支持通配符证书。Let’s Encrypt 宣称将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书。

 

v2 vs v1

ACME v2 与 v1 API 有许多不同之处,值得注意的变更:

  1. 授权/签发流程已改变
  2. JWS 请求授权以改变
  3. JWS 请求体的”resource”字段被新的 JWS 请求头“url”替换
  4. 目录端点/资源重命名

ACMEv 是 ACME 协议的更新版本,考虑到行业专家和其他组织可能希望在某天使用 ACME 协议进行证书颁发和管理,它已经通过 IETF 标准流程。

通配符证书 允许使用单个证书来保护域的所有子域。在某些情况下,通配符证书可以使证书更容易管理,以帮助使 Web 达到 100% 的 HTTPS 协议。但是对于大多数用例,Let’s Encrypt 仍然推荐使用非通配符证书。

通配符证书只能通过 ACMEv2 获得。为了将 ACMEv2 用于通配符或非通配符证书,你需要一个已更新且支持 ACMEv 的客户端。Let’s Encrypt 希望所有客户和订户转换为 ACMEv2,尽管 ACMEv1 API 还没有“报废”。

另外,通配符域必须使用 DNS-01 质询类型进行验证。这表明你需要修改 DNS TXT 记录才能演示对域的控制以获得通配符证书。

更多有关 ACME v2 和通配符证书的技术信息,请参阅此文章:

  • https://community.letsencrypt.org/t/acme-v2-production-envrionment-wildcards/55578

通配符证书解释

域名通配符证书类似 DNS 解析的泛域名概念,主域名签发的通配符证书可以在所有子域名中使用。

通配符证书的优势

域名通配符证书最大的特点就是申请之后可以部署在子域名使用, 因此对于子域名,没有必要再次申请新的证书。

而价格方面,通配符域名证书通常会比单域名证书高几倍, 不过价格高的主要原因自然是使用的便利性。

.xyz域名解析管理的坑

.xyz一直是国内比较心水的域名,作为字母域名,一直从小唱着字母歌,做着XYZ的方程式长大的中国民众来说,很多人很喜欢这个后缀域名。

在早之前注册了一个.xyz域名,每次更改解析服务商或者更改域名解析记录,总会出现注册局的根域更新很慢。

都21世纪了,还要等个好久。前天更改了域名解析服务商,三天过去了,今天查询还是找不到A记录。我也是醉了。

随便搜索了一下,.xyz的注册局确认有时候抽风不靠谱。详见:https://www.v2ex.com/t/246719

只能说各自珍重吧。

PS,用的国外的解析无法传递到国外根域,换成CloudFlare竟然好了。

See U!

 

纪念第一次被DDOS

半夜零点腾讯云突然发短信通知一台云主机被DDOS,弄得我正睡意正浓的突然被吵醒。

我那破主机还有人光顾。不过想想还要上班,懒得折腾,管他谁呢,怕它再扰我清梦,直接用手机把服务器关了。

早晨醒来,以为哪个无聊的家伙应该走了吧,我一空主机,就装了LNMP也被关照,难得啊。

于是开机。谁知上午又出现了三次,我一空网站,页面都没有,不知道谁攻击。

每次1~2分钟,从几百M的到2G的攻击带宽。

没处理过啊。一时无头脑。突然想起来以前玩VULTR和AWS时可以随时换IP。不知道腾讯云会不会有弹性IP。

发现还真有,于是直接换了IP。让DDOS见鬼去吧。

 

Nginx配置网站ECC RSA 双证书

软件版本需求:

NGNIX>1.10

Openssl>1.02

首先需要申请ECC和RSA两种签名SSL证书,免费证书申请详见:关于免费ssl证书的那些事儿

配置证书路径:

ssl_certificate     example.com.rsa.crt;
ssl_certificate_key example.com.rsa.key;
 
ssl_certificate     example.com.ecdsa.crt;
ssl_certificate_key example.com.ecdsa.key;

此时由于双证书,浏览器无法区分不同的加密算法使用的配套加密协议该使用哪个证书;

因此重点在于算法的区分,不同的算法对应不同是证书,配置ssl_ciphers

ssl_ciphers 'EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5';
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';

以上三种算法区分,均可使用一种即可。

至此,双证书配置完成。

 

关于免费SSL证书的那些事儿

根据 Let’s Encrypt CA 的统计,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升。浏览器开发商如 Mozilla, Google 准备采取下一步措施:将所有 HTTP 网站标记为不安全。
随着 HTTPS 的普及,给网站加个 SSL 证书已经是大势所趋而且很有必要了。
目前已经存在不少免费好用的 SSL 证书,因此,本文就来盘点一下关于免费 SSL 证书的那些事儿。

一、Let’s Encrypt

官方网站:https://letsencrypt.org/
点评:毫无疑问,Let’s Encrypt 是目前使用范围最为广泛的免费 SSL 证书,而且官方博客宣布,自 2018 年开始提供通配符 SSL 证书,也就是 wildcard certificates。这对于广大个人站长来说,无疑是个不错的利好消息。唯一的缺憾就是,Let’s Encrypt 发行的证书有效期只有 3 个月,虽然可以通过定时任务来自动续期。
如何申请?可以通过安装 LAMP 后,使用 lamp add 命令来自动创建 SSL 证书。也可以通过以下在线申请网站,手动申请证书。
在线申请网址1(中文):https://freessl.org/
在线申请网址2(英文):https://www.sslforfree.com/
在线申请网址3(英文):https://gethttpsforfree.com/

二、TrustAsia

官方网站:https://www.trustasia.com/
点评:TrustAsia 是国内一家新兴的 SSL 证书提供商,赛门铁克(Symantec)亚太区的白金合作伙伴。随着 Symantec 的 CA 业务被 DigiCert 收购完成,其证书链也从 Symantec 变为 DigiCert。现在也开始提供免费 1 年期的 DV SSL 证书。
在线申请网址:https://freessl.org/

三、AlwaysOnSSL

官方网站:https://alwaysonssl.com/
点评:AlwaysOnSSL 是一个新的免费和自动认证机构。它由 CertCenter 和 Digicert 运行,免费提供 6 个月的 DV SSL 证书。
在线申请网址:https://alwaysonssl.com/

四、Comodo

官方网站:https://www.comodo.com/
点评:在 Let’s Encrypt 没有问世之前,Comodo 的市场占有率是第一位。随着 Let’s Encrypt 的盛行,Comodo 在 DV SSL 市场占有率逐渐下降,但依然是 SSL 的龙头企业。目前 Comodo 也提供免费 90 天的免费 DV SSL 证书。
在线申请网址1:https://secure.instantssl.com/products/SSLIdASignup1a
在线申请网址2:https://www.100tb.com/
备注:100TB 免费提供 1 年期的 Comodo 证书,前提是需要注册为会员后才能在后台申请。100TB 的规定是,发行的证书只能在他们家的产品上使用,否则会有被吊销的风险。申请时,请自备 CSR(Certificate Signing Request),这里有 CSR 在线生成工具。参考网址:https://www.csr.sh/

五、Cloudflare

官方网站:https://www.cloudflare.com/
点评:Cloudflare 很早就开始提供免费 SSL 证书,前提是你的域名要放在 Cloudflare 解析,注册为 Free Plan 就可以。
备注:只要域名加入 Cloudflare Free Plan,解析 A 记录的时候,点击 Traffic to this hostname will go through Cloudflare,就可以了。一般情况下,这个免费的 Universal SSL 里会包含一大堆别人的域名(该证书也是 Comodo 发行的)。当然,如果你比较介意这个的话,可以付费购买其 Dedicated SSL Certificate ($5/month) 或 Dedicated SSL Certificate with Custom Hostnames ($10/month)。

六、AlphaSSL

官方网站:https://www.alphassl.com/
点评:其实 AlphaSSL 并不免费提供 SSL 证书,而且价格不菲。但是 AlphaSSL 跟 SingleHop 有合作关系,免费给 SingleHop 的客户发行证书,甚至包括通配符 SSL 证书。有人根据这个规则,开发了个自动发行证书的工具。详见:https://github.com/Vittfarne/ASSL
也就是说,只要你有了 SingleHop 的服务,就可以使用你的帐号密码以及该工具去当个活雷锋了。但是,不可避免地,这样的活雷锋是当不了多久的。一般其下场会因为滥用被 SingleHop 给关闭账户。
值得注意的是,如果你申请了这个 SSL 证书,就要有 SSL 证书随时可能被吊销的觉悟。
详情始末的参考网址:https://www.lowendtalk.com/discussion/comment/2306096/#Comment_2306096
在线申请网址:https://en.assl.space/

尾声:

自从 Let’s encrypt 开始提供免费DV SSL后,SSL 证书市场就已经开始洗牌了。
值得一提的是 StarCom 原本是一家以色列的证书商,提供免费和收费的 SSL 证书,后被国内公司 360 收购。曾在 CA 市场也有一席之地,StartCom 的问题在于被发现允许对证书的签发日期进行倒填,从而达到规避 SHA1 证书在 2016 年 1 月 1 日之后被浏览器警告的目的。最终于 2017 年 11 月 16 日,StartCom 宣布终止业务,自 2018 年 1 月 1 日起停止颁发新证书,并于 2020 年停止 OCSP 和 CRL 服务。
沃通(Wosign)也属于类似情况,被 Mozilla 认为 WoSign 最严重的问题是伪造(或者说人为设置)了证书签发日期,相继被 Mozilla 和 Chrome 不信任,最终导致出局。

最后,随着 https 的广泛被适用,我们也乐于看到越来越多的 CA 开始提供免费的 DV SSL 证书。

文章来源:秋水逸冰 » 关于免费SSL证书的那些事儿

如何卸载阿里云&腾讯云官方的监控软件服务(安骑士、云镜)

阿里云和腾讯云都提供了自己的安全保姆化方案,但是自从去年阿里云安骑士错误删除客户文件后,这类服务器软件一直处于褒贬不一的情况。中国的服务器安全确实缺口很大,但是也确实不能因为客户不作为就帮他打开家门加了个管家吧,虽然是免费的。

查询网上有提到的几种卸载方案,各位备用:

卸载云盾(安骑士)

curl -sSL http://update.aegis.aliyun.com/download/quartz_uninstall.sh | sudo bash
 
sudo rm -rf /usr/local/aegis
 
sudo rm /usr/sbin/aliyun-service
 
sudo rm /lib/systemd/system/aliyun.service

代码备份

bash
#!/bin/bash
 
#check linux Gentoo os 
var=`lsb_release -a | grep Gentoo`
if [ -z "${var}" ]; then 
    var=`cat /etc/issue | grep Gentoo`
fi
 
if [ -d "/etc/runlevels/default" -a -n "${var}" ]; then
    LINUX_RELEASE="GENTOO"
else
    LINUX_RELEASE="OTHER"
fi
 
stop_aegis(){
    killall -9 aegis_cli >/dev/null 2>&1
    killall -9 aegis_update >/dev/null 2>&1
    killall -9 aegis_cli >/dev/null 2>&1
    printf "%-40s %40s\n" "Stopping aegis" "[  OK  ]"
}
 
stop_quartz(){
    killall -9 aegis_quartz >/dev/null 2>&1
        printf "%-40s %40s\n" "Stopping quartz" "[  OK  ]"
}
 
remove_aegis(){
if [ -d /usr/local/aegis ];then
    rm -rf /usr/local/aegis/aegis_client
    rm -rf /usr/local/aegis/aegis_update
fi
}
 
remove_quartz(){
if [ -d /usr/local/aegis ];then
    rm -rf /usr/local/aegis/aegis_quartz
fi
}
 
 
uninstall_service() {
 
   if [ -f "/etc/init.d/aegis" ]; then
        /etc/init.d/aegis stop  >/dev/null 2>&1
        rm -f /etc/init.d/aegis 
   fi
 
    if [ $LINUX_RELEASE = "GENTOO" ]; then
        rc-update del aegis default 2>/dev/null
        if [ -f "/etc/runlevels/default/aegis" ]; then
            rm -f "/etc/runlevels/default/aegis" >/dev/null 2>&1;
        fi
    elif [ -f /etc/init.d/aegis ]; then
         /etc/init.d/aegis  uninstall
        for ((var=2; var<=5; var++)) do
            if [ -d "/etc/rc${var}.d/" ];then
                 rm -f "/etc/rc${var}.d/S80aegis"
            elif [ -d "/etc/rc.d/rc${var}.d" ];then
                rm -f "/etc/rc.d/rc${var}.d/S80aegis"
            fi
        done
    fi
 
}
 
stop_aegis
stop_quartz
uninstall_service
remove_aegis
printf "%-40s %40s\n" "Uninstalling aegis"  "[  OK  ]"
 
remove_quartz
printf "%-40s %40s\n" "Uninstalling aegis_quartz"  "[  OK  ]"

另有强删方案:

#!/bin/bash 
rm -rf /usr/local/aegis 
for A in $(ps aux | grep Ali | grep -v grep | awk '{print $2}') 
do 
  kill -9 $A; 
done

屏蔽云盾 IP

而后检查服务器记录时发现一堆  Alibaba.Security.Heimdall 的访问记录。网上查询发现是云盾。

根据官方介绍

云盾会通过公网模拟黑客入侵攻击,进行安全扫描。所以服务器有安全防护时,需要对云盾扫描ip进行放行。

赶快屏蔽!

此处使用 UFW, iptables 用户请自己找一下添加方法。注意:如果已有接受 80 端口之类的规则,新增的拒绝 IP 规则在其后将不会生效。所以要在  /etc/ufw/before.rules 设置。

sudo nano 编辑此文件并找到  # End required lines,在其后添加:

# Block Ali Yun Dun  https://help.aliyun.com/knowledge_detail/37436.html
 
-A ufw-before-input -s 140.205.201.0/28 -j DROP
-A ufw-before-input -s 140.205.201.16/29 -j DROP
-A ufw-before-input -s 140.205.201.32/28 -j DROP
-A ufw-before-input -s 140.205.225.192/29 -j DROP
-A ufw-before-input -s 140.205.225.200/30 -j DROP
-A ufw-before-input -s 140.205.225.184/29 -j DROP
-A ufw-before-input -s 140.205.225.183/32 -j DROP
-A ufw-before-input -s 140.205.225.206/32 -j DROP
-A ufw-before-input -s 140.205.225.205/32 -j DROP
-A ufw-before-input -s 140.205.225.195/32 -j DROP
-A ufw-before-input -s 140.205.225.204/32 -j DROP

保存后运行  sudo ufw reload。完毕!

 

据说腾讯云云镜也有类似问题:转:

#!/bin/bash
#fuck tx process
rm -rf /usr/local/sa
rm -rf /usr/local/agenttools
rm -rf /usr/local/qcloud
process=(sap100 secu-tcs-agent sgagent64 barad_agent agent agentPlugInD pvdriver )
for i in ${process[@]}
do
  for A in $(ps aux | grep $i | grep -v grep | awk '{print $2}')
  do
    kill -9 $A
  done
done
 
chkconfig --level 35 postfix off
service postfix stop
echo ''>/var/spool/cron/root
echo '#!/bin/bash' >/etc/rc.local

文章转载:

https://www.cmsky.com/uninstall-aliyun-monitoring

https://blog.whe.me/post/uninstall-aliyun-monitoring.html

参考文献:

https://www.v2ex.com/t/217931

https://help.aliyun.com/knowledge_detail/40477.html

http://51.ruyo.net/p/5369.html