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



2016年4月28日 星期四

[nmap] - 掃描網域內所需的資訊

由於內部裝了一台 Wifi AP , 設定時候, 沒有設定這一台的固定IP ( dchp取得的 )

所以透過 nmap 可以知道網段

# apt-get install namp

# nmap -sP 192.168.11.0/24
# nmap -sP 192.168.11.1-254
Nmap scan report for 192.168.11.1
Host is up (0.017s latency).
Nmap scan report for 192.168.11.2
Host is up (0.019s latency).
Nmap scan report for 192.168.11.4
Host is up (0.0095s latency).
Nmap scan report for 192.168.11.14
Host is up (0.000071s latency).
Nmap done: 256 IP addresses (4 hosts up) scanned in 6.74 seconds


@作業系統 (需要先sudo權限)
# nmap -O 192.168.11.1

@ 某台主機詳細資訊
# nmap -A -T4 192.168.11.1
Starting Nmap 6.40 ( http://nmap.org ) at 2016-04-28 17:21 CST
Nmap scan report for 192.168.11.1
Host is up (0.18s latency).
Not shown: 995 closed ports
PORT      STATE SERVICE VERSION
53/tcp    open  domain  ISC BIND 9.X
| dns-nsid:
|_  bind.version:
80/tcp    open  http    Buffalo AirStation http config
| http-auth:
| HTTP/1.0 401 Unauthorized
|_  Basic realm=AirStation
|_http-methods: No Allow or Public header in OPTIONS response (status code 501)
|_http-title: UNAUTHORIZED
2601/tcp  open  zebra   Quagga routing software
2602/tcp  open  zebra   Quagga routing software
49152/tcp open  upnp    Intel UPnP reference SDK 1.2 (Linux 2.4.20; UPnP 1.0)
Service Info: OS: Linux; Device: WAP; CPE: cpe:/o:linux:linux_kernel:2.4.20

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.16 seconds

2016年4月26日 星期二

[DevOps] - 使用現成的服務來串接

最近使用上的心得 ,
看到某些網站上的"連絡我們" ,
是用一個網頁 sumbit 相關資訊出去後
串到Google Doc 表單 ~
想到很多事情都可以用現有的資源來作

ex.
新創團隊就很適合 , 去申請N個連續的 Gmail 個人帳號 , 透過申請網域後MX到某一台 postfix Server 去 Newalias 名稱即可

過程不用到半天 ~ 符合 devOps 精神 ...

2016年4月23日 星期六

[RDP] - Linux 套件 Rdesktop & Remmina

最近在AWS EC2 上裝了Windows ,
裡面 Run 起一支 Line Bot , 來發訊息
但因為使用了AutoHotKey ,
需要滑鼠的指標 ,
目前只能使用 RDP 協定連進去

由於工作環境是 Linux Ubuntu Like 桌面 , 所以找了兩套來作

1. Rdesktop , apt-get install rdesktop 安裝後, 直接輸入參數 , cmd 連接上去Windows RDP

2. Remmina , 安裝後 , 有比較完整的桌面應用視窗來操作跟紀錄相關使用過設定參數

都還不錯用 ><"

2016年4月20日 星期三

[Email] - 檢查不檔信的相關資訊

自己架設 Email Service 有時候都會遇到檔信件的問題
有些是 Gmail or Yahoo or Others 對方的信件管理 Policy

但有些是自己架設的時候需要檢查清楚的
1. 如果要寄給 @gmail , 那需要在自己的 DNS records 新增 SPF 紀錄
    這個是讓 Gmail 確認你是網域服務的擁有者
2. 確認有Email Service Domain 有反解 PTR 紀錄 , 可向 VPS or ISP 申請
3. 去國際組查看一下 , IP or Domain 有沒有被列入黑名單
4. 檢查 Mail 內容 , 有些會檔信 ( 實際值要看對方的 Email Policy
5. Yahoo 信件收信的時候會過濾掉 Hyper Link
6. 再不行 ~ 就寫信給收信端的 Email Server Owner or Helper  ><"