メールサーバー立てて、メールアドレスを偽装してみた。
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)