分类 Linux 下的文章

昨晚无意间发现的,睡前随手打开博客结果转圈然后Connect Rest/Closed,刚开始以为服务器被墙了,就顺手打开笔记本看了一眼。

开始看乐子

Ping了一下域名,正常响应了,看来没被墙,SSH服务正常登录上去Htop看了一眼,CPU占用100%,RAM倒是没什么影响。 刚开始也没在意,只当是出了点bug抽风一下,直接重启。
重启后刚开始还能打开页面,过了几秒又是Connection Rest/Closed,htop命令上php-fpm占用居高不下,想了想可能是被攻击了,稍微上点心开始看日志。
cat /var/log/nginx/access.log
日志一直刷不完,那就
tail -f /var/log/nginx/access.log
看了下,刷不完是因为后面访问记录一直在高频刷写。
这里随意摘出来一部分:

35.197.121.158 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=ce167aaf-483f-4887-b710-4fa822ef5e34&param1=4GDzirKVEe&param2=gA6vVX8eaw&timestamp=1691601014 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0"
198.23.254.212 - - [10/Aug/2023:01:10:23 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
35.197.71.216 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=7fb35c3b-a136-4223-b68a-8317ee501a07&param1=7RvcaEVkej&param2=gnVzSYROZ3&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"
34.66.111.163 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=b3f2bfc1-de55-4c22-a701-7f68052dc544&param1=vrkJ5thvM7&param2=fgIC6O2tJz&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 5.0.1; ALE-L23) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36"
198.23.254.212 - - [10/Aug/2023:01:10:24 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=d4aa11be-98fa-4750-a0eb-5d0dc5776086&param1=QtOZIkFllL&param2=QSGsDtkQ0d&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4"
35.197.121.158 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=426e4139-08f4-4f34-a37f-b71370953631&param1=IeNOGHrPqK&param2=rdtWgqRdps&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
35.197.71.216 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=0a8da378-ece3-49ee-9ec2-2236e2757c50&param1=xjEtLEFZAf&param2=fNBFJMmWv2&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.33 Safari/537.31 SmartTV/5.0"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=5418aacd-821e-4d70-8fe8-979ee757d923&param1=SRCtiYzr7m&param2=bg3Ce86SOK&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 7.0; SM-G610M Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/191.0.0.35.96;]"

稍作分析

198.23.254.212是服务器自己发出的正常请求,不过这个api我貌似早就弃用了,后续去看看主题文件是不是没删掉。
其他ip随机抓下来查了下都是美国谷歌的机房IP。UA估计也没啥真实性,都是随机出来的垃圾数据。
之前也有找朋友DDoS帮我测压,国内服务器1TB下去没买防御套餐直接就黑洞了,不过我这个国外的VPS就没那么脆弱了,目前从头到尾除了博客打不开其他服务都正常运行,因为这个服务器带宽不小亦不是按流量计费,上面也没需要100%全天运行的东西,之前就没怎么关心防DDoS/CC。

第一次遇到还是挺新奇的,群友的博客服务器之前也有遇到过访问日志一直刷的。当晚也没什么事情就在B站开了个直播和网友一起看日志刷屏,顺便一起聊聊天。有个粉丝说关注我第一次看见我开播哈哈,正好赶上当作活素材了。

睡觉之前,给NAS装上了OBS,然后在Nas上继续串流直播。
今天睡醒把这事都忘了,刚才爬起来上去看nas命令行已经停掉了,直播间有粉丝留言说攻击已经停了可以正常访问了。
报错是:client_loop: send disconnect: Broken pipe
然后看了看中断之前日志上最后一个访问的异常ip是35.197.121.158,
http访问过去,页面就一个ヾ(*ФωФ)βyё βyё☆彡,又试了试另一个ip,也是一样。

乐子结束

不知道是哪家的小孩打着玩的,本来当天晚上打算看看有没有什么防火墙工具可以处理一下,但是这点流量又没什么技术性也就没什么实质性威胁我就懒得管了,挂着直播给网友娱乐,我直接睡觉去。

韩国发现疑似室温超导(目前正在多方验证,如结果为真将载入人类史册。

虽然目前还没明确证伪,但是中科院已发声表示可能性不大。
美国公司OpenAI的大语言模型ChatGPT。
俄乌军事冲突,或者说俄罗斯和北约的实质性战争。
还有最近刷B站发现的一个项目:SoftVC VITS Singing Voice Conversion
2020年的时候字节跳动人工智能实验室发表的关于中文歌声合成系统的论文——《 A Chinese Singing Voice Synthesis System Using Duration Allocated Encoder-Decoder Acoustic Models and WaveRNN Vocoders》。这个项目就是这篇论文的一个很好的实现。
这个项目让我想起来之前一段时间看到的MockingBird
可以说是群除我佬,我很庆幸的是我还有机会作为用户成为这些开源项目的受益者。

我给各位直接放个其他用户的成果:

前两天突然出现的。

xfox@ThinkPadE14Gen3:~$ sudo apt upgrade
[sudo] xfox 的密码:正在读取软件包列表... 完成正在分析软件包的依赖关系树... 完成正在读取状态信息... 完成                 
正在计算更新... 完成升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。有 4 个软件包没有被完全安装或卸载。解压缩后会消耗 0 B 的额外空间。您希望继续执行吗? [Y/n] y
正在设置 linux-headers-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/header_postinst.d/dkms:
dkms: running auto installation service for kernel 6.1.0-10-amd64.
Sign command: /usr/lib/linux-kbuild-6.1/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j12 KERNELRELEASE=6.1.0-10-amd64 -C /lib/modules/6.1.0-10-amd64/build M=/var/lib/dkms/ntfs3/v27_20210901.lore/build...
Error!  Build of ntfs3.ko failed for: 6.1.0-10-amd64 (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/ntfs3/v27_20210901.lore/build for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.1.0-10-amd64 failed!
run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11
Failed to process /etc/kernel/header_postinst.d at /var/lib/dpkg/info/linux-headers-6.1.0-10-amd64.postinst line 11.
dpkg: 处理软件包 linux-headers-6.1.0-10-amd64 (--configure)时出错: 已安装 linux-headers-6.1.0-10-amd64 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 linux-headers-amd64 的配置工作不能继续: linux-headers-amd64 依赖于 linux-headers-6.1.0-10-amd64 (= 6.1.37-1);然而:  软件包 linux-headers-6.1.0-10-amd64 尚未配置。
dpkg: 处理软件包 linux-headers-amd64 (--configure)时出错: 依赖关系问题 - 仍未被配置正在设置 linux-image-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/postinst.d/dkms:
dkms: running auto installation service for kernel 6.1.0-10-amd64.
Sign command: /usr/lib/linux-kbuild-6.1/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j12 KERNELRELEASE=6.1.0-10-amd64 -C /lib/modules/6.1.0-10-amd64/build M=/var/lib/dkms/ntfs3/v27_20210901.lore/build...
Error!  Build of ntfs3.ko failed for: 6.1.0-10-amd64 (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/ntfs3/v27_20210901.lore/build for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.1.0-10-amd64 failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
dpkg: 处理软件包 linux-image-6.1.0-10-amd64 (--configure)时出错: 已安装 linux-image-6.1.0-10-amd64 软件包 post-installation 脚本 子进程返回错误状态 1
dpkg: 依赖关系问题使得 linux-image-amd64 的配置工作不能继续: linux-image-amd64 依赖于 linux-image-6.1.0-10-amd64 (= 6.1.37-1);然而:  软件包 linux-image-6.1.0-10-amd64 尚未配置。
dpkg: 处理软件包 linux-image-amd64 (--configure)时出错: 依赖关系问题 - 仍未被配置在处理时有错误发生: linux-headers-6.1.0-10-amd64
 linux-headers-amd64
 linux-image-6.1.0-10-amd64
 linux-image-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

看了看,和ntfs3内核驱动有关,我不确定这是debian12自己引入的ntfs3还是我之前瞎折腾试图编译ntfs3引入的问题。
进入目录看了看,手动编译了一下,有不少报错,我不会C也没法修。
想了想ntfs3现在对我基本上没什么用,干脆sudo rm-rf /var/lib/dkms/ntfs3/
再次执行sudo apt upgrade
问题解决。

我不使用docker的原因

参考内容:Podman 的特性概述

  1. podman安装和配置十分简便,而安装和使用docker时常常需要添加软件源,安装多个软件包的繁琐且令我恶心。
  2. podman不强制使用root权限运行容器
  3. podman不会在我查看ip link 的时候看到一堆该死的veth
  4. podman不比docker慢甚至可以更快
  5. podman兼容几乎所有docker的命令/操作方式并支持运行现有的标准的docker镜像
  6. podman 官方目前没有像docker一样做出过什么对普通用户来说糟糕的决定。

    安装

    sudo apt install podman

- 阅读剩余部分 -

由于技术能力有限,迁移时处理伪静态重写规则存在偏差,未能做到平滑过渡。
故经过接近6个小时的折腾才解决问题,当前博客运行于CC机房的服务器上。
PS: 我把我的家庭服务器(J3160)顺道重装Debian12了,因为之前搞的比较乱,简单备份了下关键配置就重装了。

敬告各位博友

由于全球DNS广播存在延迟,当前部分同步速度较慢的DNS服务器对主域名xfox.fun的记录还停留在旧的中国大陆境内的IP,为了避免造成误解,原服务器站点已设置强制跳转到本页面。
SSL证书等休息够再上。

- 阅读剩余部分 -

服务器公开

地址: voip.xfox.fun
端口(默认):64738
附属讨论群组:#ChineseMumble:matrix.org

客户端下载:

Mumble官网:https://www.mumble.info/downloads/请选择:Client 即客户端
Debian用户:apt install mumble 其他发行版参见官网。
Android用户可以使用:https://f-droid.org/packages/se.lublin.mumla/ 下拉选择“下载APK”
你可以在客户端的 公共服务器-亚洲-中国 找到本频道:Chinese Plubic Mumble Server(IPv4/6)

为什么我无法加入服务器?

正如频道名称所写,本服务器仅支持IPv6网络。

  1. 根据全球高速互联网GTRN中国下一代互联网示范工程(CNGI)项目的主要标准,下一代互联网使用IPv6协议。
  2. 截至本文章修订之时:即2024年2月1日 中国大陆三大民用ISP:中国联通(2408),中国移动(2409),中国电信(240e), 均在大陆境内绝大部分地区开通了IPv6支持。并且绝大部分地区宽带安装时默认启用了IPv6,4/5G移动网络默认提供IPv6地址。
  3. IPv4地址在全球范围内频临枯竭,使用成本陡增,使用IPv6可以极大降低这项免费服务的成本。
  4. IPv6默认即为公网,减少了了NAT次数,降低了数据交换延迟。

    连接服务器失败:无法解析主机名。/连接服务器失败:The remote host closed the connection。

    前者通常是由于你使用了国内三大运营商下发的DNS导致的。运营商的DNS通常无法正确处理两个CNAME指向,其仅能解析出一个IPv6地址,请修改你的DNS服务器为谷歌/Cloud Flare的公共DNS :

    谷歌公共DNS

    主:8.8.8.8
    副:8.8.4.4

    Cloud Flare /APNIC Plubic DNS

    主:1.1.1.1
    副:1.0.0.1
    如有条件,推荐使用加密DNS:DNS over TLS/DNS over HTTPS

    自2024年8月17日起本Mumble服务器亦支持ipv4访问(通过Frp转发)

    安全提醒

    只要本人正在网上冲浪就会进入相应频道,你可以随时在找到我,这比邮件具备更好的即时性更快速,一定程度上可以替代电话。🙂
    后续如果条件允许还会部署其他安全且便捷的通讯方式。

    注意安全

    通常情况下使用Mumble交流是较为安全的,但前提是你初次连接Mumble Server并选择信任服务器证书时没有受到中间人攻击。
    因此我公开服务器当前的签名信息,如果签名信息有所变动我会及时更新本文章。

当前证书由受信CA机构颁发

请务必在第一次连接服务器时查看证书指纹是否与本文章显示信息一致!不一致则说明你处于受到劫持监听的危险网络环境!

请注意对比初次连接时证书的SHA-1公钥是否与本页面公示匹配。
通用名称: ZeroSSL RSA Domain Secure Site CA
摘要(SHA-1):B0:39:5A:1D:92:A3:06:FB:A8:6E:9E:96:6A:39:36:F4:A6:34:69:90