2018年10月15日 星期一

[Postfix] - 新增虛擬帳號部分 , 實現 同一個User , 針對不同網域收信後,轉到各自的gmail



# sudo  vim /etc/postfix/main.cf

# 新增接收的網域 , 跟 虛擬帳號
   mydestination = abc.com def.com
   virtual_alias_maps = hash:/etc/postfix/virtual


# sudo vim /etc/postfix/virtual
service@abc.com 123@gmail.com
service@def.com 456@gmail.com


# 前面是同一個User@不同網域 指定給不同的@gmail.com

# 如果都要同一使用者收 ~ 
# sudo vim /etc/aliases

#  修改後 ~ 等一下要hash重啟 postfix
# 這樣postfix才知道要收不同的網域
# 改好 /etc/postfix/virtual 後 , 要hash 生效

# postmap /etc/postfix/virtual

# 重啟
# /etc/init.d/postfix restart

# 先修改成都寄到自己的 gmail
# 後續再改成正確的客戶 gmail

2018年10月14日 星期日

[Postfix] - 垃圾信件降低方法



#參考資料
https://support.google.com/mail/answer/81126#authentication
##原圖來自DMARC官網itpisondotcom中譯

由於 email 被行銷玩到 .... 有點爛掉

所以造成各 ISP的信箱 ~ 針對信件所需規格越來越多

所以系統架構 smtp 跟 發信內容架構也有關係

基本架構 : IP 反解申請 , 正解確認 , DNS MX 要設定  , Google Yahoo SPF 要設定 ..

1. 新增 TLS 信件通道加密
sudo vim/etc/postfix/main.cf

smtpd_tls_security_level = may
smtp_tls_security_level = may


2. 新增 dkim

sudo apt-get install  opendkim


  • 設定 /etc/opendkim.conf
    # 修改以下設定
    Mode                    sv
    Domain                  {your-domain}
    
    
    # 新增以下設定
    AutoRestart             Yes
    AutoRestartRate         10/1h
    LogWhy                  Yes
    Syslog                  Yes
    SyslogSuccess           Yes
    Canonicalization        relaxed/simple
    ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
    InternalHosts           refile:/etc/opendkim/TrustedHosts
    KeyTable                refile:/etc/opendkim/KeyTable
    SigningTable            refile:/etc/opendkim/SigningTable
    SignatureAlgorithm      rsa-sha256
    Socket                  inet:8891@localhost
    PidFile                 /var/run/opendkim/opendkim.pid
    UMask                   022
    UserID                  opendkim:opendkim
    TemporaryDirectory      /var/tmp

  • 產生 domain key (將 {your-domain} 換成您的 domain name
    mkdir /etc/opendkim/keys/{your-domain}
    opendkim-genkey -D /etc/opendkim/keys/{your-domain}/ -d {your-domain} -s default
    chown -R opendkim: /etc/opendkim/keys/{your-domain}
    mv /etc/opendkim/keys/{your-domain}/default.private /etc/opendkim/keys/{your-domain}/default

  • 把您的 domain 加入 OpenDKIM 的 key table
    vi /etc/opendkim/KeyTable
    
    # 新增以下設定
    default._domainkey.{your-domain} {your-domain}:default:/etc/opendkim/keys/{your-domain}/default.private

  • 加入 OpenDKIM 的 signing table
    vi /etc/opendkim/SigningTable
    
    # 新增以下設定
    *@{your-domain} default._domainkey.{your-domain}

  • 快速設定 OpenDKIM (步驟 3~5)
    # 將 {your-domain} 改為你的網域
    export domain={your-domain}
    mkdir /etc/opendkim/keys/$domain
    cd /etc/opendkim/keys/$domain
    opendkim-genkey -d $domain -s default
    chown -R opendkim:opendkim /etc/opendkim/keys/$domain
    echo "default._domainkey.$domain $domain:default:/etc/opendkim/keys/$domain/default.private" >> /etc/opendkim/KeyTable
    echo "*@$domain default._domainkey.$domain" >> /etc/opendkim/SigningTable

  • 加入 OpenDKIM 的 TrustedHosts table
    vi /etc/opendkim/TrustedHosts
    
    # 新增以下設定
    {your-domain}
    host.{your-domain}
    sudo vim /etc/postfix/main.cf

    #DKIM

    milter_default_action = accept
    milter_protocol = 6
    smtpd_milters = inet:localhost:8891
    non_smtpd_milters = inet:localhost:8891



    還有信件內的 DMARC... 繼續補充




[PHP升級] - 5.5.9 -> 5.6

某個專案 , Ubuntu 14.04 PHP 5.5.9 不夠用 ~ 所以要升級到 PHP 5.6


@產品環境做法 :

1. 使用Docker or Vm Fork 出另外一個驗證環境, 測試無誤後
   直接升級或慢慢切換搬資料


@測試環境 : 不正常做法 : 直接衝

透過 PPA 先安裝必要元件

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:ondrej/php
sudo apt-get -y update
sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip php5.6-soap

fifi@xxx:~# php -v
PHP 5.6.38-1+ubuntu14.04.1+deb.sury.org+2 (cli)
Copyright (c) 1997-2016 The PHP Group

結果 網頁上的 phpinfo(); 跟 cli 模式下的 php 版本不同

查看了一下, 是 php so 沒有 include 新版的

cd /etc/apache2/
root@trust-digit:/etc/apache2# grep php * -R
mods-available/php5.load:#LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
改為
mods-available/php5.load:#LoadModule php5_module /usr/lib/apache2/modules/libphp5.6.so

restart apache2

OK了 # 如有其他 php 5.6 套件要安裝

# apt-cache search php5.6