2025年11月26日 星期三

postfix + procmail + spamassassin

 CentOS 6 已經EOL,所以要增加yum repository
1. cd /etc/yum.repos.d/
2. sed -i 's|#baseurl=http://mirror.centos.org/centos/$releasever|baseurl=http://vault.centos.org/6.10|g' CentOS-Base.repo

安裝spamassassin相關package
3.yum install spamassassin spamassassin-tools procmail perl-Mail-DKIM
4.service spamassassin restart
5.chkconfig spamassassin on

設定spamassassin
6.vim /etc/mail/spamassassin/local.cf
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)
# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
# -----------------------------
# 測試設定:標記 X-Spam-Status
# -----------------------------
report_safe 0      # 直接顯示原始信件分析結果,方便測試
required_score 5.0 # 分數達到 5 才算垃圾信
# -----------------------------
# 自訂規則:Display Name + domain
# -----------------------------
# 標記寄件人 domain
header LOCAL_NOT_COMPANY From !~ /\@zzz\.com$/
# 標記寄件人 Display Name
header LOCAL_BAD_NAME From =~ /xxx/
# 綜合規則:同時符合以上兩個條件
meta LOCAL_1 (LOCAL_BAD_NAME && LOCAL_NOT_COMPANY)
# 分數設定
priority LOCAL_1 10
score LOCAL_1 5.0
# 標記寄件人 Display Name
header LOCAL_BAD_NAME2 From =~ /yyy/
# 綜合規則:同時符合以上兩個條件
meta LOCAL_2 (LOCAL_BAD_NAME2 && LOCAL_NOT_COMPANY)
# 分數設定
priority LOCAL_2 10
score LOCAL_2 5.0

安裝 procmail

Procmail 是一款用於過濾和處理電子郵件的工具,其主要功能是在郵件伺服器(如 Postfix)接收到新郵件後,根據使用者設定的規則自動進行分類、轉寄、刪除或存檔等動作

7.yum install spamassassin procmail -y
8.vi /etc/procmailrc
MAILDIR=/var/mail
LOGFILE=/var/log/procmail.log
SPAMFOLDER=$MAILDIR/spam

# ---- 過濾垃圾信件 (經由 SpamAssassin 標記的 X-Spam-Flag: YES) ----
:0 fw
| /usr/bin/spamc

:0:
* ^X-Spam-Flag: YES
$SPAMFOLDER

create spam信件存放 file
9.sudo touch /var/mail/spam
10.sudo chown postfix:mail /var/mail/spam
11.sudo chmod 666 /var/mail/spam

create spam信件存放 file
12.sudo touch /var/log/procmail.log
13.sudo chown postfix:mail /var/log/procmail.log
14.sudo chmod 666 /var/log/procmail.log

設定postfix
15.vim /etc/postfix/main.cf
## 設定postfix使用procmail處理分類、轉寄、刪除或存檔
mailbox_command = /usr/bin/procmail -a "$EXTENSION"
# 使用系統預設的本地傳送方式
local_transport = local:$myhostname
relay_transport = smtp
virtual_transport = virtual
content_filter =
receive_override_options =
16.vim /etc/postfix/master.cf (搞錯,不用設定)
#每個參數要換行縮排兩個空格(或一個 tab)
#不要在 argv 內拆成多行,整個命令必須在同一行
#將以下加在最後
#spamassassin unix - n n - - pipe
#  user=nobody                                                                # 使用运行 spamd 的用户 (通常是 spamd 或 nobody)
#  argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} # SpamAssassin 客户端

重啟service
17.service spamassassin restart
18.service postfix reload

cron job 加上清空spam & log
19. crontab -l > cronfile ; vim cronfile ; crontab cronfile
1 23 * * */3 cat /dev/null > /var/mail/spam
2 23 * * */3 cat /dev/null > /var/log/procmail.log

2025年6月4日 星期三

Oracle RAC installation using Vmware Sphere ESXi

環境:
A - cluster
N1 - 實體機
N2 - 實體機

1.N1 / N2 進入 Vmware client設定node1 / node2 網路
1-1 virtual switch 就是虛擬node之間的switch ,做高速網路流量用
1-2 連接埠擇像是網段,意思是node之間要用virtual switch的這個網段互通



 


 

2 設定HD,注意紅框設定




 


 





















2025年4月15日 星期二

產生ssh-key並且透過key進行免密碼登入

Summary:
1.產生ssh key 在client 端 (就是要發出ssh的那台機器,會有公
和私鑰)
2.將公鑰設定放到伺服器上 (在client端產生公鑰後,將公鑰放到server,也就是接受ssh要求的機器)
3.產生的私鑰和金鑰可以提供給client端其他user使用


 來源:https://xenby.com/b/220-%E6%95%99%E5%AD%B8-%E7%94%A2%E7%94%9Fssh-key%E4%B8%A6%E4%B8%94%E9%80%8F%E9%81%8Ekey%E9%80%B2%E8%A1%8C%E5%85%8D%E5%AF%86%E7%A2%BC%E7%99%BB%E5%85%A5

[教學] 產生SSH Key並且透過KEY進行免密碼登入

一般我們登入伺服器可以透過密碼進行登入,但是安全性的程度會比較沒有像SSH key那個安全,而且如果使用SSH key登入的話可以就不用每次手動輸入密碼,會方便許多,本篇教如何產生SSH key並且設定到伺服器上。

產生ssh key

首先輸入指令來產生 key

ssh-keygen

接著會詢問產生的ssh key要存放的位置

這時選擇要放的位置 預設為 /home/username/.ssh/id_rsa

如果不同伺服器會使用不同的key 則改變key的位置 (例如: /home/username/.ssh/id_rsa_ubuntu)

Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):

接著會詢問要不要設定 passphrase,空白表示不設定

如果有設定passphrase,則每次用此key登入都需要輸入這個密碼 (安全性較高,可依個人需求設定)

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

接下來就會產生key到指定位置了

會有兩個key 一個有副檔名 .pub 為公鑰,而沒有副檔名的為私鑰

注意私鑰要保存好 絕對不能被竊取

Your identification has been saved in /home/username/.ssh/id_rsa_ubuntu.
Your public key has been saved in /home/username/.ssh/id_rsa_ubuntu.pub.
The key fingerprint is:
SHA256:nNnQckFbuegUs4WD3y+7YqwCaDhfUlX2J17jxF7X3FU xenby@demo.com
The key's randomart image is:
+---[RSA 2048]----+
|       .o++ ..  E|
|      .  *o+.  ..|
|     .  = *+ o ..|
|    .  . Ooo+ * +|
| . o    Soo..B o.|
|o + o     . ..o  |
| + o .   .  . .  |
|  .   .   +  o   |
|       ..o .o.   |
+----[SHA256]-----+

將公鑰設定放到伺服器上

有幾個方法可以把公鑰放到伺服器上,可以依據自己的使用狀況選擇

方法一、透過 ssh-copy-id

輸入指令以下指令
(將 username 與 server_host 換成自己的帳號與伺服器IP或host,而 your_key_path 換成自己的剛剛產生的key位置)

ssh-copy-id -i your_key_path username@server_host

成功後會顯示如下的訊息

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys         

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_host'"
and check to make sure that only the key(s) you wanted were added.

方法二、直接將公鑰資料複製到 server 的 ~/.ssh/authorized_keys 中

先記下剛剛產生的公鑰資料

cat ~/.ssh/ubuntu_id_rsa.pub 

會顯示公鑰資料,把它複製下來

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOZypQABxuCschD6jjRZFr1iPCqzrpo40Mzw6vXRfPlFwF9QJhLm3YYdtnpVekj9e1Y4kUduM924PAiLgfRw/6AJ1ueDR1BEDLeH8gAV1Cc90oPUvitYItPN8F1HrqiT37GZ3wKWKIFw70NL8Hs6BL61F+LgFmfXQDRyp7IIcyK9rmk24yqLSue/DiSbA0y85E4uvV7ekZD2NXeA9AnKHFe/cy614SQv2NNQCwi2ZRuP25du9xGVv0QvCwrZ4ANJky9V7xlO4dFFHqcNXUPQUm8EeRxySVCdTbenqiEQ3flLVBCCCxvnc7ApHlLNc/CZSpcft96xfGB3qOCrRvjb2/ xenby@demo.com

連線到伺服器上後

將公鑰資料複製到 ~/.ssh/authorized_keys 中 (下面指令的 public_key_string 要換成剛剛複製的公鑰資料)

如果該檔案已經存在就將資料新增到新的一行,如果不在就自己創建一個

echo "public_key_string" >> ~/.ssh/authorized_keys

假如剛剛自己是建立一個新的檔案,因為安全性的關係要改變 permission

輸入以下兩個指令 (username需要換成自己的帳號)

chmod -R go= ~/.ssh
chown -R username:username ~/.ssh

測試是否成功

試試看是否能正常登入使用key登入

ssh username@server_host

如果能夠不需要輸入密碼 就表示已經成功了