Category: Linux

Linux 用 netstat 偵測 DDOS 攻擊

當主機回應很慢時,除了可能是因為系統的負荷過大,或者系統設定錯誤外,另一個可能性是遭受 DDOS 攻擊。對於小規模 DDOS 攻擊, 使用 Linux 內建的工具偵測來源 IP 及阻擋可以達到一定的效果, 以下會示範用 netstat 及其他 Linux 內建指令,檢測系統是否遭受 DDOS 攻擊。用 netstat 列出所有連線, 可以用以下指令:以上指令列出相當多的連線, 我們先用 grep 過濾出我們想要的資訊, 然後用 sort 將 ip 排序, 例如我想查看 port …

Linux 檢查密碼強度工具 — cracklib

要檢查密碼的強度, 單純以密碼長度及是否包含英文字母, 數字並不足夠, 例如 “abcd1234” 便是 8 個位, 包含字母及數字的密碼, 但這個密碼很簡單。cracklib 就是一套檢查密碼強度的工具, 以下是 cracklib 的安裝及使用方法。在 Redhat 及 Debian 系列的發行版, 安裝 cracklib 都很方便:RHEL / CentOS / Fedora: # yum install cracklib Debian …

sed 刪除包含 keywords 的整行資料

sed 除了可以對檔案內的 keyword 做 search & replace 外, 也可以將包含有 keyword 的整行刪除, 語法是:以上指令會對 filename 逐行搜索, 並將有 “keyword” 的整行刪除。另一個情況是想將兩個 keywords 中間的整行資料刪除, 語法可以改成這樣:以上指令會在 filename 內, 將有 “keyword-1” 及 “keyword-2” 的資料整行刪除。

Linux 壓縮及解壓 .tgz 及 .tar.gz 檔

在開源的領域中, .tgz 或 .tar.gz 格式的壓縮檔很流行, 這是 .tar 壓縮檔使用 gzip 再次壓縮。 這個檔案格式其實就是把一般的 .tar 檔案使用 gzip 再壓縮要解壓 .tgz 檔案, 跟解壓 .tar 類似, 只要加入 “z” 參數即可, 以下是解壓 .tgz 及 tar.gz 的指令: $ tar …

CentOS 7 變更 SSH 埠號 (+SELinux 設定)

以資安的角度,一般上建議將 SSH 預設的 22 埠號變更為其他埠號,而選擇埠號時則盡量使用 1024 以上的埠號,以及不要與其他系統服務的埠號相撞。RHEL 及 CentOS 的 SSH Server 設定檔是 /etc/ssh/sshd_config, 以下會設定 SSH 的埠號為 2202, 先開啟 SSH 設定檔: # vi /etc/ssh/sshd_config 找到以下一行:# Port 22改為 Port 2202儲存檔案後離開編輯器。現在設定 SELinux,SELinux …

Ubuntu 設定 root 密碼

Ubuntu 預設的 root 沒有公開,一般上會假設要以 root 權限執行指令,便用 sudo 執行,但如果在家中的電腦,或者測試用的系統,為求方便要設定 root 密碼,在 CLI 也很容易做到。先用一毎有執行 sudo 權限的帳號登入,開啟終端機,執行以下指令: $ sudo passwd root 然後要輸入登入帳號的密碼,之後便可以設定 root 密碼了。設定好 root 密碼後,可以用 su 切換到 root 測試是否成功: $ su – …

crontab 每 30 秒自動執行

crontab 容許最少自動執行間隔為 1 分鐘, 即在 crontab 的格為是:如果需要將自動執行時間設定為少於 1 分鐘, 或者以秒數為單位, 可以透過 crontab 配合 sleep 指令完成, 或者建立一個 shell script 再配合 sleep 實現。以下會示範在 crontab 或 shell script, 設定每 30 秒自動執行, 如果需要設定其他秒數, 只要修改 …

手動設定網址與 IP 對應 — /etc/hosts

Unix Like 系統在向 DNS 查詢網址與 IP 對應前, 會先查詢檔案 /etc/hosts 的內容, 下文會介紹 Linux 的 /etc/hosts 檔案, 及手動設定網址與 IP 對應的方法。方法同樣適用於 Mac OS X 及 Windows, 格式是一樣的, 只是檔案位置不同, 它們的位置在:Linux: /etc/hosts Mac OS X: …

防止 Shell Script 重複執行

Shell Script 對日常系統維護很實用,對於多用戶系統,Shell Script 經常面對一個問題是重複執行,即一個 Shell Script 正在執行時,避免另一個使用者執行。另一個情況是,當 Shell Script 變得複雜及龐大時,放到 crontab 定時執行時 (例如每分鐘執行一次),Shell Script 還未完成上次的執行,就重複自動執行一次。要防止 Shell Script 重複執行,一般上會用 lock file 及 PID 的方法,不論是 lock file 還是 PID,除了用 Bash 外,用其他程式語言 …