省亲之旅结束,回家了,要继续好好工作了
父母在,人生尚有来处;父母去,人生只剩归途。爸爸已经走了,真希望妈妈能长命百岁。
不经历过的人会觉得是无病呻吟,只有到了那一天自己才能深刻的领会。然后一代一代传承直到永远。

等两天要回国探亲了,即将回到墙的怀抱。
出来这么多年了,已经习惯google了,没有还真不行。
以前是直接用漫游流量,一周折合人民币100多块钱,还是有点肉痛的,而且关键是不够用,看看油管一会就没了。
还是机场吧。。。随便在loc找的,双保险,一个月付10多块,一个年付10块,希望能坚挺住。

proxy.jpg

野卡证书很贵,去年是买的digital cert的,好几十刀,已经算便宜的了。
网上也流传alphassl的证书,只要30块钱,不过这个是利用了人家的漏洞,它的正常价格是100多刀。自己玩玩可以,掉证书就掉,不过生产环境的话三思。虽然没有掉的历史,但谁知道呢。。
免费+稳定,这就必然只能R3了。
一、安装certbot。(当然,用acme也可以,只是certbot简单点)
apt install certbot
二、运行:
certbot certonly --manual --agree-tos -d "*.你的域名" -d 你的域名 --email 你的email --preferred-challenges dns --manual-public-ip-logging-ok --server https://acme-v02.api.letsencrypt.org/directory
域名需要同时申请 *.domain.com 和 domain.com ,因为*不包含空。
三、运行时会提示你二次(因为上面输了两个域名):
Please deploy a DNS TXT record under the name:

_acme-challenge.你的域名.

with the following value:

s_vnp6r1TFPaCrO32hFUqCErUeGxEQ9KNbRwyQkNSW4

Press Enter to Continue

在你的dns管理器里面加入dns的txt记录即可。
在上面的例子中,就是加入 名称 _acme-challenge, 类型 TXT,值 s_vnp6r1TFPaCrO32hFUqCErUeGxEQ9KNbRwyQkNSW4
在没加好之前,一定不要敲回车,最好加好了再休息几分钟回车,如果不急的话。因为不排除有些dns不是立即刷新生效的。(dnspod和cloudflare都是立即生效)
一共重复两次。
四、不出意外,下面就是成功的提示:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/你的域名/fullchain.pem
Key is saved at: /etc/letsencrypt/live/你的域名/privkey.pem
把对应的证书设置到nginx或者cdn就可以了。
五、更新需要重新运行上面的过程,certbot renew不能象单域名那样扔crontab使用,因为需要dns认证,不能自动完成。acme可能可以,不过三个月一次,多大件事呢。 这个是wildcard证书,单域名证书当然不需要这么复杂。

折腾了一个晚上,很失败。想象中很简单,就是对 DOCKER-USER 链加上白名单,然后禁止其余即可。然而,它就是不工作,或者全部允许,或者全部不允许,反正不按照预期中的来。
AI就不消说了,我把GPT老娘操了一万次它也改不对,BARD(老名字,现在叫啥忘了),更是差劲。
最后还是只能看GOOGLE,看上去洋人们很认真的讨论了这个问题,并号称找到了解决方案,还有好几种。。然而,在我这里还是失败。
放弃。也不想再深究了,我是实用主义者,不是科学家。
关闭掉DOCKER的iptables,人工维护规则算了: /etc/default/docker加上 DOCKER_OPTS="--iptables=false"。 还别说,就算这个也是坑,文档都说改 /etc/docker/daemon.json这个文件,然而这个文件并不存在。(文档不会和你说,新建一个即可)

完成后的规则,其实就是以前一直用的规则了,和docker无关。列在这里给有需要的人看看吧。

# Generated by iptables-save v1.8.9 (nf_tables) on Wed May  1 01:06:24 2024
*filter
:INPUT DROP [3816:196637]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2700:502529]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT   #SSH,正常应该白名单,我这个玩具机就开着了。
-A INPUT -p tcp -m tcp --dport 81 -j ACCEPT   #这个是NPM的管理端口
-A INPUT -s 173.245.48.0/20 -p tcp -m tcp --dport 80 -j ACCEPT #CF白名单,IP段几十年不变,写死即可。
-A INPUT -s 103.21.244.0/22 -p tcp -m tcp --dport 80 -j ACCEPT #CF使用灵活模式,就是回源HTTP。回源HTTPS没有意义,除了消耗自己的CPU资源。
-A INPUT -s 103.22.200.0/22 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 103.31.4.0/22 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 141.101.64.0/18 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 108.162.192.0/18 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 190.93.240.0/20 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 188.114.96.0/20 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 197.234.240.0/22 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 198.41.128.0/17 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 162.158.0.0/15 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 104.16.0.0/13 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 104.24.0.0/14 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 172.64.0.0/13 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP
COMMIT

telegram连续宕机两天,让人不得不研究一下备胎了。下面总结一下几个常见的的app,仅从安全的角度,不说其它。
由低至高排列:

  1. iMessage: 全局使用P2P加密,但云上XX同步有你的明文聊天记录和加密密钥。加密纯属脱裤子放屁。
  2. Telegram 除了私密对话外,均不使用P2P,包括普通对话,包括群组。对话内容用Telegram未公开的加密算法保存于telegram服务器。telegram老板俄国人,但号称反俄并定居海外。
  3. Skype: 微软历来配合审查。在先前的XX区版本中,不使用P2P加密,其它版本使用。但目前所有的版本均已号称使用P2P。
  4. WhatsApp: 全局使用P2P加密,服务器无法获得对话内容。然而,WhatsApp出过泄露用户资料的安全事件,就是不知道你说什么,但知道你是谁。业界一直怀疑,WhatsApp拥有者,facebook公司有意整合两者之间的部分数据,这对安全非常不利。
  5. Signal: 全局P2P加密,并开源。 安全角度无懈可击,包括Skype和WhatsApp均使用Signal加密算法,并被从数论上证明无法破解。然而Signal过于技术流,功能太少及使用不便。

还有两个就不点评了,微信,排名0,QQ排名-100。。这个应该没有争议。
*使用P2P(点对点加密)理论上是无法破解的,就是,对话只有发件人和收件人知道,链路层中间没有任何人可以知道。这是理论上的,不可能违反的。