amavisd使用spamassassin範例檔案
咖啡偶架設郵件除了使用iRedMail外, 手動安裝一向喜歡 postfix+amavisd
amavisd很強大, 第一關就是spamassassin , 其設定檔包含白名單設定方式
請參考 10022號技術文件檔案
咖啡偶架設郵件除了使用iRedMail外, 手動安裝一向喜歡 postfix+amavisd
amavisd很強大, 第一關就是spamassassin , 其設定檔包含白名單設定方式
請參考 10022號技術文件檔案
Linux 如何如實轉寄郵件而不會顯示是誰轉寄的, 這有點繞舌 , 意思就是網管攔截到一封疑似廣告信
但是後來判定不是, 需要重新還給使用者, 這時候用網管的角色轉寄, 寄件者將會出現網管的名字, 而不是原本的寄件者.
因此, 需要原封不動的轉寄過去,
請使用這個指令
swaks -f <網管帳號> -t <收件者帳號> -d <郵件檔案>
-f 網管帳號 的選項可以不用,這只是藏在檔頭裡面方便以後查驗
安裝方式:
CentOS: yum install swaks Ubuntu: apt install swaks
Postfix 擋廣告的限制設定, 重要的有三個,簡稱三兄弟:
老大: smtpd_sender_restrictions
這部份著墨不多, 基本上就是檢查寄件者格式是否正確, 是第一階段限制
老2: smtpd_client_restrictions
這個設定重點在於限制主機名稱 或是 ip
例如:
check_client_access hash:/etc/postfix/sender_mail_hostname_check
代表你必須正確地, 將要限制的郵件主機名稱,或是ip (不能使用萬用字元), 寫入sender_mail_hostname_check 這個檔案裡面, 才能限制該主機.
接著再加上這個很威猛的設定 reject_unknown_client_hostname
利用dns方式, 來驗證主機名稱是否相符正, 否則就拒絕, 舉例來說:
若該郵件主機 ip 是1.2.3.4 , 且dns查詢結果是 xxx.com , 可是實際上 xxx.com 正向查詢不是 1.2.3.4 , 就會被擋下來!
ps. 1.2.3.4 可以宣稱是yyy.com 這個網域的郵件主機, 跟實際dns是xxx.com可以不一樣的.
光是這一招就能解決大部分廣告信, 因為廣告主機都會胡亂宣稱.
當然也造成很多誤判狀況, 因為有些IT人員並不會很認真處理主機ip的反解.
** reject_unknown_client_hostname 可以改用 reject_unknown_reverse_client_hostname 來替代, 只要反查不要查不出主機名稱 , 就不會擋下來, 比較寬鬆.
老3. smtpd_recipient_restrictions
這部份就很多設定了, 重點在於
check_sender_access hash:/etc/postfix/sender_email_check
sender_email_check 紀錄了寄件者郵箱或是網域是否可以限制
與老2不同的是, 這裡可以使用萬用字元, 因為阻擋的不是ip , 而是email
這也是postfix老掉牙的阻擋廣告信方式, 偶爾可以用一下,
大家都知道postfix 可以檢查檔頭header_checks, 然後阻擋
在 /etc/postfix/main.cf 設定一下即可啟用功能
header_checks = regexp:/etc/postfix/header_checks
接下來修改規則檔案 /etc/postfix/header_checks, 設定要阻擋的字串,
這裡比較有趣的是, 如何定位字串? 總共有兩個地方要注意的:
1.是”.”與”*” 後面加上要定位的字串 , 再加上”/” , 代表搜尋多個相同的字串,
例如 /^Subject:.*AV/ DISCARD
找出所有標題是AV的字串
2.中文需要考慮UTF-8, GBK, BIG5,然後進行Base64編碼
例如要定位”警告”這個字串, 有可能是utf8 , gbk, big5 三個
/^Subject:.*6K2m5ZGK/ DISCARD
/^Subject:.*vq+45g==/ DISCARD
/^Subject:.*xLWnaQ==/ DISCARD
編碼服務可參考
https://www.base64encode.org
SPF 是一種透過dns設定, 用於認證郵件伺服器是否合法, 進而阻擋拉圾郵件的機制, 咖啡偶管理的郵件伺服器老舊了, 從CentOS 6 改成CentOS7 , 安裝spf的方式不一樣, 因此記錄下來,
請進 10021號 IT地窖練功吧
咖啡偶上班的公司使用fortigate 80c , 已經很久沒更新了, 也沒使用到一些特異功能, 甚至vpn也關掉避免安全性問題發生.
可是呢, 公司高層忽然想看同仁上網行為, 身為IT人員當然要接受而且拒絕,
何謂接受呢?就是我能做到基本綜合統計,例如流量,瀏覽網頁數量與上網時間.
其實就是委婉拒絕, 理由:
1.拿個資法來向上管理
2.以系統老舊,無法提供詳細的網站行為分析( 除非花個2,30萬買設備,外加每年15%的維護費用,這時候通常上頭就退縮了).
接下來, 若高階主管想看統計資料的時候跟我要,而不是隨時可以看,並且要給我一個合理的理由,例如:上班時間上網,然後狂加班之類的.
好了, 話不多說, fortigate 能將log透過udp 514 port導到能接收的主機上, 咖啡偶使用 CentOS 6接收,
如何開啟fortigate就不多講了, 因為版本複雜. 這裡只講CentOS6設定
修改/etc/rsyslog.conf, 開啟udp 514監聽功能,並且寫下過濾規則
#### MODULES ####
# 聆聽 UDP/514
$ModLoad imudp
$UDPServerRun 514
#### RULES ####
# 若 facility 為 local6 且內容含 traffic 記錄到 /var/log/fortigate.log
if $syslogfacility-text == ‘local6’ and $msg contains ‘traffic’ then /var/log/fortigate.log
這樣相關的log都會被記錄下來, 再使用Sawmill這套軟體分析fortigate的log, 就可以交差了
CentOS 7 預設防火牆的區域為public , 若我們有兩個網路卡, 一個接內部一個接外部.
這時候就必須區分內外, 對外還是public , 對內就是trusted
使用ifconfig 找出對內網卡代號 xxx
firewall-cmd --permanent --zone=trusted --change-interface=xxx firewall-cmd --reload
sshd port 預設是22 , 因為容易被入侵, 因此需要變更
1.修改 /etc/ssh/sshd_config, 將port 22改成想要的,例如2244
2.允選使用2244
semanage port -a -t ssh_port_t -p tcp 2244
3.加上防火牆後,重新開機
firewall-cmd –permanent –zone=public –add-port=2244/tcp