http://www.postfix.org/
Ubuntu18のメモです。
TYPE | PORT | contnet |
---|---|---|
smtp | 25 | 基本は認証なしの仕組み |
smtp | 25 | OP25B(Outbound Port 25 Blocking): 自分の所属しているネットワークのMTAを使用せずport 25で外部のMTA接続を拒絶する仕組み。 |
submission | 587 | SMTP認証あり |
smtps | 465 | smtp with tsl |
認証確認
postconf -a
設定確認
postfix check
設定表示
postconf -n
main.cf
smtpd_banner = $myhostname ESMTP
telnet接続時に表示されるメッセージ。
初期設定の場合
220 mail.likids.info ESMTP Postfix (Ubuntu)
となる。
設定のチェックと読み込み
sudo postfix check
sudo systemctl reload postfix
SMTP_AUTH
dovecotと連携する。
パラメータ | 設定例 | 備考 |
---|---|---|
smtpd_sasl_auth_enable | yes | |
smtpd_sasl_local_domain | $myhostname | |
smtpd_sasl_type | dovecot | |
smtpd_sasl_path | private/auth | SASL認証デーモンのソケットファイル(/var/spool/postfix からの相対パスを指定する) |
broken_sasl_auth_clients | yes | windows互換 |
smtpd_recipient_restrictions | permit_sasl_authenticated reject_unauth_destination | permit_mynetworksを先頭に追加すると認証不要になる |
関連ファイル
- main.cf
- master.cf
- 任意で作成
- vdomain
- vmailbox
- vmailbox.db
Virtual Mail
パラメータ | 設定例 | 備考 |
---|---|---|
virtual_mailbox_domains | /etc/postfix/vdomain | |
virtual_mailbox_base | /var/mail/vmail | |
virtual_mailbox_maps | hash:/etc/postfix/vmailbox | |
virtual_uid_maps | static:[vmail uid] | |
virtual_gid_maps | static:[vmail gid] |
postmap
SMTPとIMAP(POP3)が異なるサーバーの場合
dovecotとpostfixが異なるサーバーの場合はipを指定する
postfix側
smtpd_sasl_auth = enable
smtpd_sasl_type = dovecot
smtpd_sasl_path = inet:[ip address:port12345]
dovecot側
10-master.conf
service auth {
inet_listener {
port = port12345
}
}
ClamAV連携
ウィルスチェックを行い除去する。
Amavis経由で、ClamAV+SpamAssassinなどのフィルタを実装。
https://www.amavis.org/
archlinuxを参考
sudo apt install amavisd-new
amavisインストール後、起動をすると必要なdecoderがない場合、ログに No decoder for xxx
とメッセージが表示される。
それを抑止するために、下記をインストール。
apt install lrzip liblz4-tool rpm2cpio unrar-free ripole p7zip-full p7zip-rar lzop arj nomarch cabextract
zooと.F
がUbuntu18のリポジトリにない模様。
Ubuntu zoo package(URL)
zoo packageは、Debianから取得してinstall. (運用で依存関連が面倒なので却下)
wget http://ftp.br.debian.org/debian/pool/main/z/zoo/zoo_2.10-28_i386.deb
clamscan ./zoo_2.10-28_i386.deb
問題は、.F
。
これ、melt packageっぽいのだけれど、、怪しそうだったので保留。
初期設定(20-debian_defaults, 21-ubuntu_defaults )
$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
$final_spam_destiny = D_BOUNCE;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
value | comment |
---|---|
D_DISCARD | 削除。配送なし、通知なし。 |
D_BOUNCE | 受信者には配送しない。送信者にメールを作成して通知。 例外で送られないこともある(URL) |
D_REJECT | 受信者には配送しない。送信者に550 or 554 を通知。 |
D_PASS | 配送なし |
- Reply Codes in Numeric Order (URL)
連携に関する設定
/etc/clamav/clamd.conf
AllowSupplementaryGroups true
amavisグループ
に clamav
を追加(インストール時に設定されれたアカウントを調べること)
usermod -a -G amavis clamav
header_checks
Postfix ビルトインヘッダ(URL)。
main.cf
にheader_checks = regexp:/etc/postfix/header_checks
を追加。
ローカルIPの情報をヘッダーに追記しない。
/^Received:.*192\.168\..*/ IGNORE
/^Received:.*127\.0\.0\.1.*/ IGNORE
テスト用Virus
wget http://www.eicar.org/download/eicar.com
clamscan --infected eicar.com
添付ファイル削除
情報のみ、未実装。
maildrop, procmail, header_checksなどを利用するっぽい。
Log
ehlo=1 auth=0/1 quit=1 commands=2/3
ehlo: 成功, auth: 失敗, quit: 成功, 合計コマンド (成功数/全体数) と言った意味合い。