云服务器到手第一件事——Ubuntu 24.04 安全加固实操
作者声明:本文所有命令均在一台全新的 Ubuntu 24.04 云服务器上实际验证通过。软件版本迭代较快,若实际情况与本文描述存在差异,请以官方文档为准。 云服务器到手第一件事——Ubuntu 24.04 安全加固实操 拿到一台新的云服务器,在部署任何业务之前,需要先完成基础的安全加固工作。本文记录了这台服务器从初始状态到具备基本防护能力的完整操作过程,适用于所有需要长期在公网运行服务的 Ubuntu 24.04 主机。 0 为什么拿到服务器的第一件事是加固 一台刚开通的云服务器,公网 IP 分配后的几分钟内就会开始收到扫描流量。这并非针对性攻击,互联网上有大量自动化脚本在持续扫描全网段,发现 22 端口开放就会尝试用弱密码字典爆破 root。开一台新机器,观察一天后查看日志: 1lastb | wc -l # 统计失败登录次数 通常能看到成百上千条失败记录。这就是加固需要应对的现实威胁,即无差别的自动化爆破,而不是有针对性的入侵。相应地,本文的加固思路也比较直接,分四层递进: 系统更新:先修复已知漏洞,这是所有后续措施的基础。 SSH 加固:爆破成立的前提是密码有...
树莓派 5 内核交叉编译速通——为 HM-SMR 硬盘启用 zoned 支持
树莓派 5 内核交叉编译速通——为 HM-SMR 硬盘启用 zoned 支持 这是Ultrastar DC HC620 分析与实战——树莓派 5 驱动主机管理式 SMR 硬盘的续篇。前文提过,Raspberry Pi OS 官方内核的 bcm2712_defconfig 没有启用 CONFIG_BLK_DEV_ZONED,主机管理式叠瓦(Host-Managed SMR,HM-SMR)盘接上以后,内核会直接拒绝为它创建块设备节点。所以想用 HC620,自己编译内核这一步省不掉。 本文的做法是在一台 x86_64 的 Ubuntu Desktop 26.04 虚拟机里交叉编译树莓派内核,打好包传到 Pi 5 上安装。官方内核、设备树和 cmdline.txt 全部原样保留,只在 config.txt 末尾加一行 os_prefix 做启动选择,回滚时删掉这一行重启就行。 环境 角色 配置 编译机 Ubuntu Desktop 26.04 虚拟机,x86_64,8 vCPU / 8 GB 内存 目标机 Raspberry Pi 5,Raspberry Pi OS(...
MS17-010(EternalBlue)渗透实战——从隔离靶场到拿下 SYSTEM
MS17-010(EternalBlue)渗透实战——从隔离靶场到拿下 SYSTEM 很多人第一次实际"打进"一台机器,用的都是 MS17-010(EternalBlue,永恒之蓝),我也是。当年比赛集训,教练拉起一台没打补丁的 Win7,让我们照着一串命令敲下去,回车之后屏幕上出现了 meterpreter > 提示符。这是我接触渗透的第一个实践,后来虽然没往这个方向发展,但一直记着。 这是渗透实战系列的第一篇。它不教你攻击他人系统,而是带你在一个完全隔离、完全属于自己的环境里,把这个早已被修复多年的经典漏洞从头到尾复现一遍:理解每一步在做什么,最后再从防御角度说明它为什么在 2017 年造成了那么大范围的影响。 0 写在前面:合法性与靶机隔离 先把最重要的话放在最前面,因为这不只是免责声明,它直接决定了你的网络怎么搭。 本文所有操作只能在你完全拥有、且与任何真实网络物理或逻辑隔离的实验环境中进行。未经授权对任何不属于你的系统进行扫描或利用,在几乎所有司法辖区都是刑事犯罪。这条没有灰色地带。 除了"违不违法",这里还有一个纯技术...
Ultrastar DC HC620 分析与实战——树莓派 5 驱动主机管理式 SMR 硬盘
Ultrastar DC HC620 分析与实战——树莓派 5 驱动主机管理式 SMR 硬盘 在二手平台搜索大容量机械盘时,很容易见到这样一类商品:西数(HGST)Ultrastar DC HC620,14TB,氦气企业盘,价格明显低于同容量的普通企业盘,商品描述里通常只带一句含糊的"需专用系统"或"不支持普通电脑"。价格低并非盘本身有故障,而是因为它属于主机管理式叠瓦盘(Host-Managed SMR,HM-SMR)。这类盘接入 Windows 无法识别,接入未启用 zoned 块设备支持的 Linux 内核时,lsblk 中也不会出现盘符,树莓派官方系统的内核恰好属于后者。多数买家因此无法正常使用,二手价格随之维持在低位。 但"系统不直接支持"与"不能用"是两回事。Linux 自 4.10 起引入分区块设备(Zoned Block Device)的核心支持,dm-zoned、zonefs、btrfs zoned 等组件在后续版本中陆续完善。本文的验证平台由一块 14TB 的 HC620、一台树莓...
从下签到开课——UC 授课硕士留学生落地全流程
从下签到开课——UC 授课硕士留学生落地全流程 免责声明:本文是个人经历与公开信息的整理,不构成任何移民、法律或财务建议。签证与入境政策、学校流程和各类收费随时可能调整,写作时准确的信息不保证在你阅读时依然有效,一切以 Immigration New Zealand 与 University of Canterbury 的官方发布为准;涉及签证的重要决定,请咨询持牌移民顾问(Licensed Immigration Adviser)。 拿到学生签证只是流程的中点。从下签到真正坐进教室,中间还隔着注册、保险、入境申报、开户、选课确认一整串环节,而且它们之间有先后依赖——顺序错了不至于出大事,但会白白浪费落地后最忙的第一周。本文按时间线把这段路走一遍,以 University of Canterbury(下称 UC)和基督城为准,其他学校的读者流程框架类似,但具体日期和系统名称请以自己学校为准。 本文假设你已经拿到 UC 授课硕士的 offer of place 并且学生签证已获批。如果你的项目需要先读一年 COP(Certificate of Proficiency)再衔接授课硕...
从零搭建企业虚拟化平台0——序章:背景、目标架构与全虚拟实验的可行性
从零搭建企业虚拟化平台0——序章:背景、目标架构与全虚拟实验的可行性 📚 从零搭建企业虚拟化平台 · 全系列导航 平台0 · 序章:缘起与全局规划 ← 本篇 平台1 · 环境:OPNsense 与网段搭建 平台2 · 计算:三台嵌套 ESXi 平台3 · vCenter:部署与建集群 平台4 · 网络:vDS 与端口组 平台5 · 存储:vSAN 全闪 平台6 · 高可用:HA 与 DRS 平台7 · 身份:AD 域控与 DNS 平台8 · 收尾:时间同步、vLCM 与全系列回顾 本系列尝试以一个完整的工程项目为脉络,从零搭建一套企业级虚拟化平台:以 VMware vSphere 为计算与调度核心,辅以共享存储与高可用机制,并由 Active Directory 支撑统一身份与基础服务(DNS、NTP)。为使每一项技术选择都有据可依,全系列围绕一家虚构企业的真实诉求展开——架构中的每一个组件,都对应着这家企业必须解决的某个具体问题,而非为部署而部署。 需要先行说明的是,整套实验将完全在一台笔记本电脑上、以嵌套虚拟化(nested virtualization)的方式完成,...
YubiKey 5 实践指南——用一把硬件密钥统管 FIDO2、SSH、PIV、OpenPGP 与 TOTP
YubiKey 5 实践指南——用一把硬件密钥统管 FIDO2、SSH、PIV、OpenPGP 与 TOTP 买 YubiKey 之前我一直觉得硬件密钥(hardware security key)是种偏执的东西——密码管理器加上手机验证器,难道还不够安全吗。真正让我改主意的不是某次安全事件,而是一个朴素的认识:我所有的「第二因素」其实都长在同一台手机里,验证器 App、短信、Passkey 全在那块屏幕后面。手机一旦丢失或被攻破,这层防线是同时塌的。YubiKey 5 解决的就是这件事——它把私钥这种最敏感的材料锁在一块独立的、无法被软件读出的芯片里,让认证这一步必须有「物理在场」才能完成。 这篇文章是我围绕一把 YubiKey 5 NFC 把日常认证逐项迁移过去的完整记录,覆盖四种主要用途:用 FIDO2 登录网站、用它做 SSH 认证、用 OpenPGP 加密与签名、以及替代手机上的验证器 App 生成 TOTP 验证码。命令以 ArchLinux 为主,Windows 的差异之处会单独标出来。 YubiKey简介 YubiKey 不是一个「U 盘」,把它理解成一张装了好几...
GPG 多设备提交签名——离线主 key + 每台设备独立 subkey
GPG 多设备提交签名——离线主 key + 每台设备独立 subkey 我有五个工作环境——两台 Windows、各自的 WSL、外加一台 ArchLinux 笔记本——都要往同一个仓库推代码。需求是:让 GitHub 上每个 commit 都显示 Verified,同时多台机器之间的密钥要好管理、好吊销。如果图省事把同一把私钥拷到每台机器,丢一台就等于整个身份泄露,得吊销后所有机器重新配置一遍——这正是要避免的。 这篇是整个配置过程的完整记录,供以后加设备、续期、处理设备丢失时翻阅,也供想搭同样结构的人参考。文中的密钥指纹(fingerprint)、key ID、keygrip 都不是机密,可以照抄;唯一的机密是主 key 的密码,只存在密码管理器里,不写进任何文件。 1 为什么是这套结构 后面所有操作都是从三个设计选择推出来的,先把它们讲清楚,比直接抄命令重要得多。 为什么用 GPG,而不是 SSH 签名。 Git 现在也支持用 SSH key 签 commit,配置更省事。但我选 GPG 图的是一个长期独立性(long-term independence):GPG 签名只...
坎特伯雷大学机械工程硕士课程介绍——基于本人所选课程(Semester 1)
本文中的课程评价均为本人在Semester 1修读期间的个人体会,带有主观性,不代表课程的客观水平。坎特伯雷大学的授课内容、考核方式与任课教授每年都可能调整,本文所述未必与你将来实际遇到的情况一致。以下内容仅供选课参考,具体请以学校官方课程大纲及最新通知为准。 坎特伯雷大学机械工程硕士课程介绍——基于本人所选课程(Semester 1) ENME603-26S1 — Advanced Linear Systems Control and System Identification 课程内容 本课程包含两条主线:线性系统控制(Linear Systems Control) 为讲授与考试的主体,系统辨识(System Identification) 则以课后 Quiz 的形式单独考核,Test 与 Exam 不涉及。 在 26S1,本课程尝试将全部学习内容录制为视频并上传至 Learn 平台,线下课堂则用于讲解学生提出的疑问、共性问题以及作业。教授最后对学生进行了相关调研,但此后的授课形式尚不确定。 线性控制部分以状态空间(State Space)方法为主线,依两次 Test 分...
Archlinux安装——UEFI 全盘加密(btrfs LUKS) 安全启动(systemd-boot UKI) TPM2自动解锁 基于ThinkPad X1 Carbon Gen 9(2021)
作者声明:本文整理自在 ThinkPad X1 Carbon Gen 9(2021)上的一次完整安装与日常使用过程,带有个人取舍,不代表唯一或最佳实践。详细信息请参考https://wiki.archlinuxcn.org/ Archlinux安装——UEFI 全盘加密(btrfs LUKS) 安全启动(systemd-boot UKI) TPM2自动解锁 基于ThinkPad X1 Carbon Gen 9(2021) 0 这套架构在解决什么问题 在动手之前,有必要先理清整套配置的逻辑。全盘加密、安全启动、UKI 与 TPM2 这四样东西并不是各自独立的功能堆叠,而是环环相扣、彼此补位的: LUKS 全盘加密 解决的是"设备丢失或被盗"——硬盘一旦离开本机,就只是一堆无法读取的密文。代价是每次开机都要手动输入一长串解密密码。 TPM2 自动解锁 把这把密码交给主板上的 TPM 芯片保管,开机自动放行,省去手输。但它随即带来一个新问题:如果有人物理接触机器、替换了内核或往引导链里塞了东西,TPM 是否还会乖乖交出钥匙? 安全启动 + UKI(Measure...