Tag: Linux

建立 subdomain 的 MX 及 TXT 紀錄

一個網域下會建立副域名很常見, 只要建立 A record 或 CNAME record 即可。另一個情況是對 subdomain 建立 MX 及 TXT 紀錄, 例如網域是 mydomain.ltd, 分別想建立 @local.mydomain.ltd 及 @member.mydomain.ltd 的電郵。 除非有其他原因, 否則便不用額外建立一個 subdomain 的 zone, 可以在原來網域的 zone 內加入相關 …

Shell Script 建立臨時檔案

在寫 Shell Script 時, 有時需要建立臨時檔案, 很多時會用 temp 或 tmp 這類副檔名實現。但如果這些檔案名稱和其他 process 的臨時檔案名稱相同, 便會錯誤地覆寫其他臨時檔案的內容。 在 Linux 系統可以用 mktemp 工具, 它可以很簡單地建立, 使用及移除不會重覆檔名的臨時檔案。 執行 mktemp 時, 它們預設會出檔案名稱及路徑: $ mktemp /tmp/tmp.94uGx1HYiS 如果沒有指定路徑, 臨時檔案的的位置是 …

Linux 用 iconv 轉換檔案文字編碼

在 UNIX Like 的環境要轉換文字編碼, 一般會使用 iconv 指令, iconv 已經內建在很多發行版, 使用起來也很方便。 把 BIG-5 及 UTF-8 互換十分常見, 以下是具體的操作方法: BIG-5 轉 UTF-8 編碼 $ iconv -f BIG-5 -t UTF-8 old-big5.txt > new-utf8.txt …

Fail2Ban 配合 CloudFlare 封鎖 IP

Fail2Ban 是阻擋暴力攻擊的工具,例如發現指定次數的登入失敗後,會自動把遠端的 IP 地址封鎖,在設定的時間過後才會對封鎖的 IP 開放。Fail2Ban 的用途非常廣泛,除了一般的 SSH 登入及電郵登入外,也可以對一些針對網頁的攻擊進行封鎖。 但如果網頁使用了 CloudFlare 的話,那 Fail2Ban 只會封鎖 CloudFlare 的 IP,而 CloudFlare 的那麼多,很多時即使封鎖了幾個 IP,攻擊者還是可以繼續進行攻擊及掃描漏洞。 要解決這個問題,可以使用 CloudFlare 的 API,在 Fail2Ban 設定把要封鎖的 IP 傳送給 CloudFlare,在 …

Ubuntu 20.04 設定硬碟 Quota 配額

Quota 是用作限制使用者或群組使用的碟硬空間, 如果沒有設定 Quota 限制, 使用者可以無上限地儲使用硬碟空間。以下是在 Ubuntu 20.04 設定 Quota 的步驟。 在設定使用者的 Quota 前, 需要先安裝 quota 套件, 可以用 apt 安裝: $ sudo apt install quota 然後檢查 Ubuntu 的 kernel …

檢查 Linux 系統是否存在 Log4j 漏洞

Log4j 是很嚴重的安裝漏洞, 影響也很廣泛, 駭客可以透過 Log4j 漏洞執行指令, Log4j 漏洞在 CVSS 評分高達 10.0, 所以十分值得關注。本文會講述測試系統是否存在 Log4j 漏洞的方法。 已經有人寫了在 Linux 檢查 Log4j 漏洞的 Shell Script,雖然目前還是 beta 版, 不保證有 100% 檢測成功率, 因為這個 Shell Script …

dd 指令, 備份及回復資料工具

dd 是十分實用的 Linux / Unix 小工具, 它可以轉換及複製檔案。dd 指令可以 clone 硬碟, 備份及復原原始設備檔案等。以下文章會介紹 dd 的常用例子。 dd 使用方法很簡單, 預設會讀取 stdin 及寫入 stdout,如果要指定讀取及寫入的檔案, 使用 “if” 及 “of” 選項。以下是 dd 常見的使用例子, 使用 dd 備份硬碟的 …

開啟 HSTS 安全機制

HTTP Strict Transport Security (HSTS) 是一個安全機制, 通知瀏覽器將來對目網域的所有查詢使用 HTTPS, 即使嘗連接到 http:// 的網址, 也會強制使用 https:// 的網址. 以下分別是在 Let’s Encrypt, Apache, .htaccess 及 Nginx 開啟 HSTS 的方法. Let’s Encrypt Let’s Encrypt 要啟用 …