メールサーバー立てて、メールアドレスを偽装してみた。

CentOS7でPostfixを使ってSMTPサーバー立ててみて、メールアドレスの偽装とか簡単にできるなあと思った。

Postfixの設定方法

/etc/postfix/main.cfでmydomainにメールサーバーのホスト名(@以下)を、myhostnameに自ドメインドメイン名(@以前)を、ネットワーク上のメールサーバーを中継する場合はrelayhostにそのサーバーのドメインを設定する。

mydomain = メールサーバーのホスト名(@以下)
myhostname = 自ドメインのドメイン名(@以前)
relayhost = ネットワーク上のメールサーバーのドメイン
inet_interfaces = $myhostname,$mydomain

systemctlでスタート。

systemctl start postfix

ふつーにメール送信

mailx -s 件名 送信先アドレス

コマンド打って.を打つと送信。

アドレス偽装してメール送信

mailx -s 件名 -r 偽装した送信元アドレス 送信先アドレス

rオプションでfromヘッダを書き換えられる。
fromヘッダを偽造するだけだと、receiveヘッダを確認されると簡単に偽装されることが分かってしまう。
ちなみにgmailだと、返信ボタンのよこの逆三角のボタンを押してメッセージのソースを表示でreceivedヘッダを確認できる。

/etc/postfix/main.cfにheader_checks = regexp:/etc/postfix/header_checksを書き足し、/etc/postfix/header_checksに/^Received:/ IGNOREを書き足すと、receivedヘッダの一部を削除することができる。

設定ファイルを変更したあとはrestartを忘れずに。

systemctl restart postfix

receivedヘッダを確認すると、received: byのところが消えていた。

Received: by tkmru (Postfix, from userid 1000)