[linux]如何使用IPSET和IPTABLES功能來預先過濾掉一些已知的惡意IP

LAST UPDATED: 2025.09.25 感嘆AI、讚嘆AI
調整匯入方式,取消迴圈呼叫一筆一筆ip插入。變成ipset restore一次匯入。

雖然盡可能地消除對外服務開放的PORT,但是主機仍會有被fail2ban監控到一些惡意IP,用程式碼或方式在暴力拆解TRY可以登入的弱點掃描。
這個很煩人,但因為LOG有些測試的內容很有創意,腦袋不清晰會誤以為自己的主機怎麼會有這種帳號。

利用最近很夯的chatGPT,魔法溝通後目前找到一個應該是有效的方式。
網路上有一些專門維護的組織團體,會固定維護提供已知的惡意IP清單下載。
有些是免費的、有些是收費的。
不過就跟Pi-Hole或Adguard Home類似的功能,我們找到的免費IP清單來利用亦可。

目前透過的免費方案有這五個:
1. https://www.abuseipdb.com/ 這個AbuseIPDB可以免費註冊拿到API,但是每天有更新限制次數。
2. Emerging Threats的清單https://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt
3. FireHOL的清單https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset
4. Blocklist.de的清單https://lists.blocklist.de/lists/all.txt
5. Spamhaus的清單https://www.spamhaus.org/drop/drop.txt
透過一個簡單的script指令和設定來定時下載更新檔案,然後合併處理移除彼此重複的IP值。
最後就會產出一個ip.blacklist檔案,隨時可以拿來利用。
PS. 截至目前為止,已知的IPV4惡意IP約快9萬個、IPV6約快3千個。

也許有人是純用iptables,或者firewalld延伸應用。
接下來script的範例檔案,是目前測試出來的可以用的做法。
首先,要先確認是不是都有安裝到這些套件:
sudo apt install ipset iptables netfilter-persistent ipset-persistent iptables-persistent

sudo nano banIPlist-jir.sh

閱讀全文

POSTFIX郵件伺服器,架設Mailscanner可能會遇到OpenDKIM衝突的解決方法

這一個禮拜時間,被自己把自己搞傻了…
好不容易把Mailscanner整合Clamav掃毒和spamassassin防垃圾信的套件架設好,強化POSTFIX郵件伺服器的功能性。
卻又遇到卡關,因為Mailscanner過濾會把Header格式破壞,會影響到OpenDKIM的簽名認證,造成外面信箱服務的網站都會拒絕收信。
花了很大的力氣再GOOGLE找答案、問CHATGPT,有限的知識和破英文,一直無法順利弄出正常的功能。

最終,還是讓我搞懂、搞動POSFIX + OpenDKIM + Mailscanner工作了。
趁現在記憶猶新,趕快紀錄一下相關細節,以後遇到重灌或架設,至少還能給自己筆記。

閱讀全文

MAIL伺服器Dovecot + Postfix + Mailscanner安裝,紀錄&更新

版本:20241210-1

私網有架設一個一直不對外使用的私人郵件伺服器,但不常態使用的原因主要是考量單純個人研究用以外、對於管理、安全性和可靠度絕對不及一般大眾熟知使用的GMAIL、YAHOO或HOTMAIL服務商。
相安兩無事的好陣子的然而忽然某天開始,一直固定會出現奇怪的釣魚信件(恐嚇信件),花了一點時間反查點檢相關設備電腦們、陸續留意到logwatch其實蠻多奇怪的嘗試破門而入的不速之客痕跡。
後來陸續把fail2ban的監獄監控模式、防火牆和對外開放埠重審、VPN內網化工作,也試著調整改善防堵完整。
剩下郵件伺服器,是必須暴露在外給人亂槍打鳥寄垃圾信和釣魚信,遲早會被這些無聊人士發現、陸續寄送這台私網郵件主機(縱使我內部的郵件地址都還沒拿去外面用過)。
一路研究問題和相關主機服務的設定修修改改,花很長時間而催生出這篇整理的文章後記。
順便也給自己回顧和記錄一下相關的架設設定,畢竟主機上次修復重灌後,年齡也已經是累計起來。
哪天要再重新升級或全新安裝,至少還要有個紀錄讓我能最快速的參考去復原…。

閱讀全文

如何在rkhunter找到疑似感染的項目和微調參數降低誤判

rkhunter在LINUX系統中,是一個很好的小套件,幫忙輔助掃描判斷自己的系統有沒有被惡意感染或執行異常的程式。
但是有一些預設的參數,若沒有適當的微調,會一直出現誤判和提醒設備已經有問題。
用它產出的LOG檔案,有時候項目太多,也很難閱讀和找到重點去處理。
這時候可以試著這樣執行指令:
sudo rkhunter --check --sk --report-warnings-only --rwo

讓產出的報告顯示,會只有顯示Warning的狀態。
例如我的設備出現這個很惱人的原因是這樣的情形:
Warning: The following suspicious (large) shared memory segments have been found:
Process: /usr/lib/x86_64-linux-gnu/xfce4/notifyd/xfce4-notifyd PID: ____ Owner: xxx Size: 4.0MB (configured size allowed: 1.0MB)
Process: /usr/bin/pcmanfm PID: ____ Owner: xxx Size: 64MB (configured size allowed: 1.0MB)
Process: /usr/bin/lxpanel PID: ____ Owner: xxx Size: 2.0MB (configured size allowed: 1.0MB)
Process: /usr/bin/lxterminal PID: ____ Owner: xxx Size: 1.0MB (configured size allowed: 1.0MB)
Warning: Hidden directory found: /etc/.java

閱讀全文

SWAP還是有需要他的存在….

是說,以前有發過這個文章:UBUNTU系統若安裝在USB裝置 開機和讀取很慢的解法
不過最近在單板電腦上少之又少的內建記憶體,發現不使用或關閉時會有個20年前老低配的電腦會遇到的問題。XD
之前不知道,一開始只是覺得單板電腦會常常發現運作很慢、甚至當機的情形,單純真的以為可能是安裝OS的SD記憶卡快壞了。
後來發現執行clamav防毒軟體的掃描,因為一直出現killed的訊息字樣,查LOG才發現是說記憶體不足。
檢查了free -h和sudo swapon -s指令,才發現這個UBUNTU/DEBIAN作業系統都沒有掛SWAP的虛擬記憶體的磁區和檔案。

好的,以前的LINUX系統,對我以前的經驗來說也很麻煩,要分割硬碟一個空間定義磁區FORMAT成SWAP磁區才能使用。
那現在的做法,其實有點像微軟的WINDOWS系統掛載需要的虛擬記憶體方式,在指定的磁碟槽增加一個pagefile.sys概念的如此簡單了。
那我就來增加一個新的SWAP檔案。

閱讀全文

CPI SM250滑胎(前後17),改類SX250越野林道式樣(前21/後18)

本來SM250的雙17框,換胎改成IRC 4.60-17、5.10-17這樣設定的胖胖胎,參加去年和前年墾丁大會師,但是一直摔車,萌生要改成真正的越野車式樣。

但是,以前看到的分享文章:改SM250越野框 https://3wa.tw/blog/blog.php?id=1389
幾乎快10年前的資訊,已經過時。
中國掏寶已經明顯很難找到鑫源X2/X2X(250GY)這個跟CPI SM250有血緣關係的車種相關物料。
而且,中國的越野車種,也似乎材料和功能都有一個系列的變動和改設計。
不像前輩文章說的可以買來直上前後輪。
一整個就是要修改,搞到最後發現是大量的修改…XD

買來的輪框的哈姆的尺寸和軸承規格都不能流用。
SM250前後軸承都是6004的規格,但是這組框,前輪6906、後輪6005、兩輪各有兩個軸封TC35-47-8。
所以量測判斷後,決定以現狀遷就,訂製適用的輪軸套筒。
一整個就是在考驗我的幾何能力和抓尺寸長度…。

閱讀全文