<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[島上隨筆]]></title> 
<atom:link href="https://blog.1dao.cc/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[一島之道的思考與記錄]]></description>
<link>https://blog.1dao.cc/</link>
<language>zh-cn</language>

<item>
    <title>主站 v1.2.0 發佈:版本體系與新功能一覽</title>
    <link>https://blog.1dao.cc/?post=5</link>
    <description><![CDATA[<h1>主站 v1.2.0 發佈:版本體系與新功能一覽</h1>
<p>1dao.cc 主站今天發佈了 v1.2.0——一個涵蓋新頁面、新功能與安全狀態的大版本快照。這篇記錄本次更新的主要內容。</p>
<h2>版本說明</h2>
<ul>
<li>版本:v1.2.0</li>
<li>發佈日期:2026-08-12</li>
<li>備份包:<code>1dao.cc-v1.2.0-20260812.tar.gz</code>(2.7M)</li>
<li>SHA256:<code>ce0fe08b9ae18e87d00e544e164fa20f98fb52d00a3e890629645e21e19d56cd</code></li>
</ul>
<h2>本次更新內容</h2>
<h3>1. 新增「版本發佈」頁面</h3>
<p>主站新增 <code>/releases/</code> 頁面:以時間線形式展示全部 9 個歷史版本(v1.0.0 → v1.2.0),每個版本包含修改內容、誕生過程、備份包下載與 SHA256 校驗值。版本體系形成完整閉環:<strong>備份腳本 → VERSIONS.md → 發佈頁面</strong>,三處同步。</p>
<h3>2. 更新「關於本站」頁</h3>
<p>製作時間線新增兩條記錄:安全事件與加固、博客上線;技術棧更新(PHP 8.4 / MariaDB / emlog / fail2ban);下一步計劃新增「安全加固收尾」。</p>
<h3>3. favicon 與訪問統計</h3>
<ul>
<li>新增全套 favicon(SVG + PNG + ICO,分子結構圖標,呼應科學儀器主題)</li>
<li>主站新增訪問量計數器(自動排除爬蟲),與博客的計數器同源方案</li>
</ul>
<h3>4. 博客「島上隨筆」上線</h3>
<p>部署 emlog 至 blog.1dao.cc,深墨冰藍主題與主站統一;首發建站記與安全系列文章;主站與博客雙向鏈接、統一 favicon。</p>
<h3>5. 安全加固</h3>
<p>fail2ban 自動封禁、上傳目錄禁止執行 PHP、登入驗證碼、AI 接口 SSL 校驗、管理員強密碼——詳見《伺服器安全工作記》。</p>
<h2>版本下載</h2>
<p>所有歷史版本均可從主站「版本發佈」頁面下載:<a href="https://1dao.cc/releases/">https://1dao.cc/releases/</a></p>
<hr />
<p><em>本文由「島上隨筆」編輯整理,記錄 1dao.cc v1.2.0 版本發佈。</em></p>]]></description>
    <pubDate>Wed, 12 Aug 2026 15:09:26 +0800</pubDate>
    <dc:creator>島主</dc:creator>
    <guid>https://blog.1dao.cc/?post=5</guid>
</item>
<item>
    <title>未完的加固:五項待辦的伺服器安全計劃</title>
    <link>https://blog.1dao.cc/?post=4</link>
    <description><![CDATA[<h1>未完的加固:五項待辦的伺服器安全計劃</h1>
<p>上一篇《伺服器安全工作記》記錄了已經完成的六項防線。但安全是持續的過程——還有五件事在待辦清單上。這篇把它們逐項說清楚:是什麼、為什麼做、怎麼做。</p>
<h2>一、備份頁恢復認證(最緊急)</h2>
<p><strong>現狀</strong>:<code>https://1dao.cc/backups/</code> 是網站版本備份下載頁,8 月 10 日改版時被移除了密碼保護。目前任何人——包括爬蟲——都能看到並下載全部 8 個歷史備份包。<strong>上次的備份泄露事件就是從這裡發生的,而這個口子至今仍然開著。</strong></p>
<p><strong>做法</strong>:給備份下載頁和訪問統計頁重新加上用戶名密碼驗證,恢復此前的保護。</p>
<p><strong>為什麼最緊急</strong>:這是「止血」操作——其他都是加強防線,只有這項是堵住正在漏水的口子。已泄露的數據無法追回,但至少不能繼續漏。</p>
<h2>二、444 兜底(防寄生域名)</h2>
<p><strong>現狀</strong>:有外部域名(martale.com、ifalao.cn 系列)被解析到本機 IP。由於 nginx 沒有配置「默認拒絕」,任何未知域名訪問都會落到 1dao.cc 的站點內容——AI 爬蟲把這些域名當作獨立網站收錄,GPTBot 正是經由這條路徑找到備份目錄的。</p>
<p><strong>做法</strong>:配置默認拒絕規則,所有未匹配的域名訪問直接斷開連接。寄生域名瞬間全部失效,訪問者看到的是連接被拒,而不是我們的網站。</p>
<h2>三、robots.txt(規範爬蟲)</h2>
<p><strong>現狀</strong>:兩個站點目前沒有 robots.txt,爬蟲完全不受限制。</p>
<p><strong>做法</strong>:創建 robots.txt,告訴搜索引擎:</p>
<ul>
<li>主站:禁止抓取備份目錄、統計頁</li>
<li>博客:禁止抓取後台管理頁</li>
</ul>
<p><strong>但要說明</strong>:這是「君子協定」,只約束守規矩的爬蟲。它不是安全措施,而是減少暴露面的輔助手段——真正的保護靠認證。</p>
<h2>四、自動安全更新(補丁管理)</h2>
<p><strong>現狀</strong>:伺服器有 17 個待升級軟件包,包括 OpenSSH、nginx 等核心組件,可能存在已知漏洞未修補。目前不自動更新,全靠手動。</p>
<p><strong>做法</strong>:啟用自動安全更新,只自動安裝安全補丁(不升級大版本,避免破壞環境),並配置郵件通知。同時把當前積累的 17 個包手動升級掉。</p>
<h2>五、ufw 防火牆(最後一道防線)</h2>
<p><strong>現狀</strong>:伺服器目前沒有操作系統防火牆,所有端口裸奔,只靠雲廠商控制台的安全組。甚至有個不常用的服務端口(5355,LLMNR)是全網可訪問的。</p>
<p><strong>做法</strong>:啟用防火牆,默認拒絕入站,只放行 SSH(22)和網站(80/443),其餘全部拒絕。</p>
<p><strong>意義</strong>:即使雲安全組配置失誤、或自動封禁失效,防火牆兜底——沒被允許的端口一律進不來。這一步涉及網絡配置,會先確認遠程管理通道安全再執行,避免把自己鎖在門外。</p>
<h2>總結</h2>
<table>
<thead>
<tr>
<th>優先級</th>
<th>項目</th>
<th>性質</th>
</tr>
</thead>
<tbody>
<tr>
<td>立即</td>
<td>備份頁恢復認證</td>
<td>止血</td>
</tr>
<tr>
<td>儘快</td>
<td>444 兜底</td>
<td>堵寄生</td>
</tr>
<tr>
<td>儘快</td>
<td>robots.txt</td>
<td>減暴露</td>
</tr>
<tr>
<td>儘快</td>
<td>自動安全更新</td>
<td>補漏洞</td>
</tr>
<tr>
<td>謹慎</td>
<td>ufw 防火牆</td>
<td>最後防線</td>
</tr>
</tbody>
</table>
<p>安全沒有終點。這五項完成後,還會發現新的問題、新的威脅——這就是互聯網的常態。守住自己的院子,然後繼續往前走。</p>
<hr />
<p><em>本文由「島上隨筆」編輯整理,記錄伺服器安全加固的待辦計劃。</em></p>]]></description>
    <pubDate>Wed, 12 Aug 2026 14:50:45 +0800</pubDate>
    <dc:creator>島主</dc:creator>
    <guid>https://blog.1dao.cc/?post=4</guid>
</item>
<item>
    <title>伺服器安全工作記:從一次泄露到系統加固</title>
    <link>https://blog.1dao.cc/?post=3</link>
    <description><![CDATA[<h1>伺服器安全工作記:從一次泄露到系統加固</h1>
<p>一個博客從上線第一天起,就要面對互聯網的「熱情」。這篇文章記錄「島上隨筆」與主站 1dao.cc 背後的伺服器,在上線四天裡經歷的安全事件與加固過程。</p>
<h2>起點:一台裸奔的伺服器</h2>
<p>8 月 9 日,伺服器上線。當天就迎來了互聯網的「問候」:</p>
<ul>
<li>SSH 端口開放不到幾小時,暴力破解嘗試源源不斷,三天累計 <strong>15,440 次</strong>失敗嘗試,日均約 5,000 次</li>
<li>各種漏洞掃描器輪番探測:<code>/.env</code>、<code>/.git/config</code>、<code>wp-config.php</code>、<code>phpunit</code> 遠程執行漏洞、SQL 注入……</li>
</ul>
<p>好在從第一天起就只允許密鑰登入,所有爆破嘗試全部鎩羽而歸。但掃描器的「熱情」提醒我:安全不是事後補救,而是與生俱來的要求。</p>
<h2>事件一:備份目錄泄露</h2>
<p>8 月 12 日,例行安全檢查時發現一個嚴重問題:網站備份目錄因為之前改版時移除了認證保護,處於完全公開狀態——而且<strong>已經被 AI 爬蟲整包下載</strong>。</p>
<ul>
<li>OpenAI 的 GPTBot 通過一個寄生域名找到了入口,把 8 個歷史版本備份一網打盡</li>
<li>百度爬蟲也抓取了目錄,備份頁面已被搜索引擎收錄</li>
<li>備份包內含個人證件掃描件、運維元數據、內部變更記錄</li>
</ul>
<p><strong>教訓</strong>:</p>
<ol>
<li>任何對外服務,默認都該是「關閉」狀態</li>
<li>移除安全措施前,先想清楚後果</li>
<li>敏感文件永遠不要出現在可下載的目錄裡</li>
</ol>
<p>已泄露的數據無法追回,但這次事件讓我下定決心:把安全加固提到最高優先級。</p>
<h2>事件二:寄生域名</h2>
<p>檢查中發現,有外部域名(martale.com、ifalao.cn 系列)被解析到本機 IP。由於 nginx 沒有配置默認拒絕,任何指向本機的未知域名都會「白嫖」主站內容,還會被 AI 爬蟲當作獨立站點收錄——GPTBot 正是經由這條路徑進入備份目錄的。</p>
<h2>加固行動:六項防線</h2>
<p>事件之後,陸續完成了一系列加固:</p>
<h3>1. 登入驗證碼</h3>
<p>emlog 後台開啟圖形驗證碼,字典爆破基本失效。</p>
<h3>2. 上傳目錄禁止執行 PHP</h3>
<p>nginx 層面攔截:即使上傳白名單被繞過,上傳目錄裡的任何 PHP 文件也無法執行——圖片馬、Webshell 這條路徹底堵死。</p>
<h3>3. fail2ban 自動封禁</h3>
<p>安裝 fail2ban,配置四個監控規則(SSH 爆破、登入嘗試、惡意掃描、403 重試):</p>
<ul>
<li>5 次失敗 → 自動封 IP 一小時</li>
<li>系統是純 nftables(Debian 13),踩了不少配置坑,最終全部打通</li>
<li>實測:暴力破解 IP 會被 nftables 鏈直接 reject</li>
</ul>
<h3>4. AI 接口 SSL 校驗</h3>
<p>emlog 的 AI 功能原本關閉了證書校驗,已修復——消除中間人竊聽風險。</p>
<h3>5. 管理員強密碼</h3>
<p>後台管理員密碼重置為強隨機密碼,使用官方哈希算法驗證通過。</p>
<h3>6. 訪問統計</h3>
<p>主站與博客都加了訪問計數器(排除爬蟲),方便觀察真實訪客。</p>
<h2>現狀:多層防線</h2>
<table>
<thead>
<tr>
<th>防線</th>
<th>狀態</th>
</tr>
</thead>
<tbody>
<tr>
<td>SSH</td>
<td>密鑰-only + fail2ban 自動封禁</td>
</tr>
<tr>
<td>後台</td>
<td>驗證碼 + 強密碼 + 登入監控</td>
</tr>
<tr>
<td>上傳</td>
<td>三重白名單 + nginx 禁止執行</td>
</tr>
<tr>
<td>網路</td>
<td>四個 fail2ban 規則實時監控</td>
</tr>
<tr>
<td>監控</td>
<td>訪問統計 + 日誌審計</td>
</tr>
</tbody>
</table>
<h2>未完的事</h2>
<p>安全是持續的過程,不是一次性的任務。待辦清單還有:恢復備份頁認證、配置默認拒絕兜底、robots.txt、自動安全更新、防火牆。</p>
<p>互聯網很熱鬧,但我們可以把自己的院子守好。這篇記錄既是提醒,也是開始——安全這條路,會一直走下去。</p>
<hr />
<p><em>本文由「島上隨筆」編輯整理,記錄 1dao.cc 與博客伺服器的安全加固歷程。</em></p>]]></description>
    <pubDate>Wed, 12 Aug 2026 14:46:56 +0800</pubDate>
    <dc:creator>島主</dc:creator>
    <guid>https://blog.1dao.cc/?post=3</guid>
</item>
<item>
    <title>建站記:從一台伺服器到一島之道</title>
    <link>https://blog.1dao.cc/?post=2</link>
    <description><![CDATA[<h1>建站记:從一台伺服器到一島之道</h1>
<h2>緣起</h2>
<p>2026 年 8 月,「一島之道」這個名字開始在互聯網上落地生根。</p>
<p>從一台阿里雲 ECS 開始,到 1dao.cc 主站上線,再到今天的「島上隨筆」——這中間不過短短四天,卻經歷了從零搭建、三語改版、安全風波,到博客開張的完整旅程。趁著記憶還新鮮,把這段經歷記錄下來。</p>
<h2>第一天:伺服器與第一個位元組</h2>
<p>8 月 9 日,伺服器正式上線。</p>
<ul>
<li>系統:Debian 13,一台 2 核 1.6G 的 ECS</li>
<li>網路:nginx + Let's Encrypt 證書,<code>1dao.cc</code> 與 <code>openclaw.1dao.cc</code> 兩個站點</li>
<li>助手:OpenClaw(就是幫我寫這篇文章的那位)</li>
</ul>
<p>主站第一版 v1.0.0 當天下午上線——個人主頁、三語切換(繁/簡/EN)、證書展示,還有配套的版本備份體系。每個版本都有「修改內容」與「誕生過程」說明,後來甚至養成了給每次改版寫 changelog 的習慣。</p>
<p>當天就見識了互聯網的「熱情」:SSH 端口開放不到幾小時,暴力破解的嘗試就開始源源不斷地湧來。好在從第一天起就只允許密鑰登入,所有嘗試全部鎩羽而歸。</p>
<h2>第二天:三語佈局與招聘板塊</h2>
<p>8 月 10 日,主站迎來最大一次改版(v1.1.0):</p>
<ul>
<li>首頁改為<strong>預設繁體</strong>,簡體移到 <code>/zh-hans/</code>,舊路徑 301 跳轉</li>
<li>新增「加入我們」招聘板塊,同步自獵聘的 5 個在招職位</li>
<li>新增「關於本站」頁面,記錄製作過程</li>
</ul>
<p>也是這一天,發生了一件後來讓我警醒的事——為了圖方便,移除了備份下載頁的密碼保護。</p>
<h2>第三天:互聯網的「回禮」</h2>
<p>8 月 12 日,例行安全檢查時發現:備份目錄因為移除認證而完全公開,而且<strong>已經被 AI 爬蟲整包下載</strong>——OpenAI 的 GPTBot 通過一個寄生域名找到了入口,把 8 個歷史版本備份一網打盡。</p>
<p>這次事件教會我三件事:</p>
<ol>
<li>任何對外的服務,默認都該是「關閉」狀態</li>
<li>移除安全措施前,先想清楚後果</li>
<li>個人證件類文件,永遠不要出現在可下載的目錄裡</li>
</ol>
<p>教訓歸教訓,也是這次風波讓我下定決心:把安全加固提到最高優先級。</p>
<h2>第四天:博客開張</h2>
<p>安全檢查的同時,博客的需求也提上了日程。從安裝 PHP、MariaDB,到部署 emlog、簽發證書,再到把主題從預設的淺色改成與主站一致的深墨底冰藍風格——半天之內,<code>blog.1dao.cc</code> 上線了。</p>
<p>它叫「島上隨筆」——一島之道的思考與記錄。</p>
<h2>結語</h2>
<p>四天,一台伺服器,兩個站點,一次教訓,一個博客。</p>
<p>互聯網的世界裡,建站永遠只是開始。接下來要寫的文章還有很多,要走的路還很長。這篇就算是「島上隨筆」的開篇——記錄我們從哪裡來,也提醒我們要去哪裡。</p>
<hr />
<p><em>本文由 OpenClaw AI 助手撰寫,發佈於「島上隨筆」開張之日。</em></p>]]></description>
    <pubDate>Wed, 12 Aug 2026 13:48:31 +0800</pubDate>
    <dc:creator>島主</dc:creator>
    <guid>https://blog.1dao.cc/?post=2</guid>
</item>
<item>
    <title>認識 emlog:輕量開源的建站系統</title>
    <link>https://blog.1dao.cc/?post=1</link>
    <description><![CDATA[<h1>認識 emlog:輕量開源的建站系統</h1>
<h2>什麼是 emlog</h2>
<p>emlog 是一個輕量級的開源博客/CMS 建站系統,採用 PHP + MySQL 架構,以「簡潔易用、快速部署」為設計理念。本博客「島上隨筆」正是運行在 emlog 之上。</p>
<h2>為什麼選擇 emlog</h2>
<p>選型時對比過 WordPress、Typecho 等方案,最終 emlog 勝出,原因有三:</p>
<ol>
<li><strong>輕量</strong>:整個系統體積小、依賴少,對 1.6G 內存的小伺服器非常友好</li>
<li><strong>開箱即用</strong>:安裝嚮導一鍵完成,後台功能直觀,無需複雜配置</li>
<li><strong>中文生態</strong>:國產項目,文檔、插件、模板都是中文,上手門檻低</li>
</ol>
<h2>核心功能</h2>
<ul>
<li><strong>Markdown 支持</strong>:寫文章直接用 Markdown,所見即所得</li>
<li><strong>模板與插件系統</strong>:官方應用商店提供大量免費模板和插件,可視化安裝</li>
<li><strong>多用戶角色</strong>:管理員、編輯、作者分級權限</li>
<li><strong>完整的博客功能</strong>:分類、標籤、評論、RSS、搜索、微語(輕微博)一應俱全</li>
<li><strong>SEO 友好</strong>:自定義 URL、meta 描述、站點地圖</li>
</ul>
<h2>官方信息</h2>
<ul>
<li>官網:<a href="https://www.emlog.net">https://www.emlog.net</a></li>
<li>開源倉庫:<a href="https://github.com/emlog/emlog">https://github.com/emlog/emlog</a></li>
<li>授權:開源免費(pro 版提供更多增強功能)</li>
</ul>
<h2>小結</h2>
<p>emlog 適合個人博客、小型內容站點,特別是喜歡輕量、不願被複雜功能淹沒的用戶。如果你想搭建一個自己的博客,它是一個值得一試的選擇。</p>
<hr />
<p><em>本文由「島上隨筆」編輯整理,用於介紹本站所使用的建站系統。</em></p>]]></description>
    <pubDate>Wed, 12 Aug 2026 13:32:43 +0800</pubDate>
    <dc:creator>島主</dc:creator>
    <guid>https://blog.1dao.cc/?post=1</guid>
</item>
</channel>
</rss>