運用 Fail2ban 自動封鎖攻擊者的 IP

說到最近 IT 圈最熱門的資安問題,想必大家一定都知道,即是源自 Apache Log4j 2 被開採的漏洞 Log4Shell,事件爆發至今依然燒個不停,多少 IT 人為了盤點影響範圍與修補漏洞,不知道少睡了多少時間、死了多少腦細胞,此時此刻要先向所有 IT 人說一聲「辛苦了!」。 連上網路即是被攻擊的第一步 回到本文主題,如果你有經手 Server 管理與維護的工作,想必你一定有過這樣的經驗,即是只要 Server 一接上網路,接著在 Log 中就會開始看見各式各樣嘗試攻擊你的紀錄,以最常見的 Web Server 為例,我們經常會在 access.log 看見類似下面這幾種 Log: # 下面以 Nginx 的 access.log 為例 ## 針對 Wordpress 的攻擊,看你是不是會不小心把 wp-admin.php 暴露在外 14.18.100.250 - - [18/Dec/2021:03:41:40 +0800] "GET /wp-admin.php HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" ## 嘗試找到 MySQL 的介面或資訊 14.18.100.250 - - [18/Dec/2021:04:25:32 +0800] "GET /admin/mysql/ HTTP/1....

December 19, 2021 · Cheng Wei Chen

自架「密碼管理器」服務

這則一樣是從工作筆記中撈出來的舊筆記,重新整理後釋出在部落格分享。 對於「密碼管理器」觀望了很久,一直在考慮要不要使用它,最後看了這篇《為什麼今天就該開始使用密碼管理器》之後,覺得作者說的很有道理,我們應該用一套正規、有加密、有一定安全防護的「密碼管理器」來管理密碼;同時由於團隊協作的需要,難免會遇到必須共用帳號密碼的情況,故確實需要一個合適的服務來管理密碼。於是當時稍微花了一些時間比較了幾套常見的「密碼管理器」,最後在參考該文章的介紹後,選擇試用了 LessPass 與 Bitwarden 這兩套工具。 (本文同步發表於 Medium。) LessPass LessPass 在當時號稱是一個全開源(Fully open source)的軟體,你可以自行架設服務,也可以註冊使用官方維護的雲端服務。 實際試用之後,第一時間覺得 LessPass 的運作邏輯跟一般想像中的「密碼管理」不太相同。該怎麼說呢?當下使用的感覺是 LessPass 與其說是幫我們集中儲存與管理密碼的「密碼管理器」,正確來說它更像是一個「密碼產生器」。 也就是根據你輸入的「網址」、「帳號」、「主密碼」、「密碼強度與亂數的設定值」,它會幫你產生出一組「高強度的密碼」,於是你可以使用這一組密碼去註冊其他需要登入密碼的服務。 接著當下次需要輸入密碼登入某個服務時,你只要能在 LessPass 輸入正確的「網址」、「帳號」、「主密碼」、「密碼強度與亂數的設定值」,LessPass 就會再次幫你產生出相同的「高強度密碼」,讓你可以複製貼上,順利登入服務。 (如上案例,根據「網址」、「帳號」、「主密碼」、「密碼強度與亂數的設定值」,即可產生出一組獨一無二的「高強度的密碼」。) 看到這裡,你一定會想說「這也太麻煩了,我光是記憶密碼就夠累了,現在還要記憶這麼多組變數!?」,對此 LessPass 的解決辦法即是 LessPass Database。 因此不論是 lesspass.com 提供的雲端服務,或你自行架設的 LessPass Database Server,其實最主要的功能都是用來幫你儲存各個服務的「網址」、「帳號」、「密碼強度與亂數的設定值」,方便你下次要「產生」密碼時,可以免去輸入這些欄位。也就是說 LessPass 並不是直接儲存「密碼」本身,因此我才會說它本質上更像是一個「密碼產生器」。 LessPass 有 Chrome 的擴充套件可以安裝,方便使用者可以快速使用。 目前 LessPass 在 GitHub 上的 Readme 已經沒有直接寫明如何 Self Host your LessPass Database,並且 install-lesspass.sh 這個安裝腳本也已經在這個 Commit 中將其移除了。 因此如果想要自行架設 LessPass Database,可以自己研究一下現行版本的 docker-compose.yml,嘗試用 Docker 架設。 艦長當初是參考舊版本的 Readme,並對照前述的 install-lesspass.sh 及 docker-compose.yml 來架設的。但就如前述這些資訊都已經有些過期,只能做為參考輔助,無法保證照著做還能正常架設。 續上,再提供另一項資訊給各位參考。在上述 LessPass 官方提供的 docker-compose....

March 5, 2021 · Cheng Wei Chen