2026/07/06
2026/02/10
最近google一直出現要停用pop3收信的通知
所以找個之後能處理信件的方法 找到了 imapsync
https://github.com/imapsync/imapsync
因為是用 perl 寫的 可以直接下載來執行或跑docker
如果要直接執行需要補很多perl的元件
所以選擇跑docker
mail server 打開 imaps
設定檔案如下 將所有監聽埠開啟
/etc/dovecot/conf.d/10-master.conf
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
設定 SSL 策略
為了讓 110 與 143 也能正常運作,你的 SSL 設定不能過於強硬。 編輯 /etc/dovecot/conf.d/10-ssl.conf:
ssl = yes
允許不加密的連線同時支援強制加密連線
重啟 dovecot
再來google 要使用 應用程式專用密碼 而不是登入密碼
所以要開啟二階段驗証並設定 應用程式專用密碼
以上都設定完成後 同步指令如下
測試先 dry run
docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --dry
實際執行
docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2
只同步收件夾
docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --folder INBOX
同步後刪除來源端信件
docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --delete1 --expunge1
執行後刪除container
docker run --rm gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --delete1 --expunge1
2025/12/21
2025/05/12
2023/04/14
為了因應centos 7 EOS
今天在轉移程式到 almalinux 9 時 mutt 一直無法寄信
mail server 的log如下
Apr 14 10:09:09 mail postfix/smtpd[523701]: connect from unknown[10.0.0.1]
Apr 14 10:09:09 mail postfix/smtpd[523701]: lost connection after STARTTLS from unknown[10.0.0.1]
看來almalinux 9的mutt 預設會使用 STARTTLS
在 .muttrc 加上以下這行
set ssl_force_tls = no
目前寄信正常了
20240308 後記
轉換到新mail server後 有些mutt又出現不能寄信的狀況
以下是log
Mar 8 06:13:01 mail postfix/smtpd[27212]: warning: TLS library problem: error:0A000126:SSL routines::unexpected eof while reading:ssl/record/rec_layer_s3.c:320:
Mar 8 06:13:01 mail postfix/smtpd[27212]: lost connection after STARTTLS from unknown[10.0.0.1]
2022/04/18
昨天是舊憑証的到期日
所以今天要撈出那些ip已經上了新憑証
把封包導入解密
使用 nmap 查找憑証指令如下
#!/bin/bash
for i in {1..250}
do
echo $i
nmap -Pn --script ssl-cert -p 443 10.0.0.$i -oN ca_$i
done
若把執行結果餵到變數 注意以下不同
r=`nmap --script ssl-cert -p 443 10.0.0.$i|grep -E 'TWCA|after'`
echo $r > ca_$i #導出結果無換行
echo "$r" > ca_$i #導出結果有換行
使用 curl 程式如下
#!/bin/bash
for i in {1..250}
do
echo $i
curl -m 3 https://10.0.0.$i -k -v -s -o /dev/null 2> /tmp/ca/ca_$i
done
接下來再針對關鍵字及有無過期查找即可
2022/01/01
本次弱掃出現很多台几器有相同的問題
Vulnerability Detection Result
'Vulnerable' cipher suites accepted by this service via the TLSv1.0 protocol:
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
'Vulnerable' cipher suites accepted by this service via the TLSv1.1 protocol:
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
'Vulnerable' cipher suites accepted by this service via the TLSv1.2 protocol:
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
處理方法如下
vi /etc/httpd/conf.d
修改如下
#SSLProtocol all -SSLv2 -SSLv3
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
#SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
SSLCipherSuite HIGH:!3DES:!aNULL:!MD5:!SEED:!IDEA
改完後 restart
systemctl restart httpd
以nmap進行測試
nmap --script ssl-enum-ciphers -p 443 10.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2022-01-01 13:54 CST
Nmap scan report for www.nkuht.edu.tw (10.0.0.1)
Host is up (0.00029s latency).
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A
| TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| compressors:
| NULL
| cipher preference: server
|_ least strength: A
Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds
2021/08/29
在ubuntu 設定 apache2 的SSL
安裝OpenSSL
sudo apt install openssl
啟用Apache2的SSL模組
sudo a2enmod ssl
把憑証放到以下目錄
/etc/pki/tls/certs
修改
/etc/apache2/sites-available/default-ssl.conf
SSLCertificateFile /etc/pki/tls/certs/server.cer
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
cd /etc/apache2/sites-enabled
ln -s ../sites-available/default-ssl.conf
systemctl restart apache2
https://20.65.210.123/index.php/2021/05/12/ubuntu-apache-ssl/
2021/08/28
最近要求要把所有的網站改成 https
以 centos 7 apache 為例
首先取得憑証
因為單位有買整個domain的
所以直接拿來用
把憑証放到以下目錄
/etc/pki/tls/certs
安裝 mod_ssl
$ yum -y install mod_ssl
$ vi /etc/httpd/conf.d/ssl.conf
修改以下二行
SSLCertificateFile /etc/pki/tls/certs/server.cer
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
重新啟動 Apache
$ systemctl restart httpd.service
若使用nginx
修改 /etc/nginx/nginx.conf 加入以下藍色設定
server {
listen 80 default_server;
listen [::]:80 default_server;
# 加入 SSL 設定
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
# 憑證與金鑰的路徑
ssl_certificate /etc/pki/tls/certs/server.cer;
ssl_certificate_key /etc/pki/tls/certs/server.key;
# ...
}
systemctl restart nginx
https://blog.gtwang.org/linux/nginx-create-and-install-ssl-certificate-on-ubuntu-linux/



