2014年1月16日木曜日

BeagleBone Black (ubuntu 13.04) postfix 設定 for RTX1200

RTX1200にはメール通知機能があるので、とりあえずintrusion(不正アクセス)とstatus(状態通知)に関してのメール通知を行いたい(後者はコマンド mail notify status exec 実行時にメール送信。前者はトリガーによる送信)。

外部のメールアドレス送信のためにsmtpサーバをLAN内のBeagleBone Blackに立てておく(rtx1200から直接外部smtpを指定するのは嫌なので)。

sudo aptitude install postfix
sudo aptitude install bsd-mailx

とりあえずこれだけで、BBBの中だけではmailx で送信は出来るはず。
mailx root@localhost
sudo mailx
で確かめておく。

次に外部smtpサーバ宛てメールを送信するためにpostfixのrelayhostを設定する。
そのまえに、submissionポートをつかうので、rtx1200の動的フィルタで、
 ip filter dynamic 3085 * * submission
として、ppのout側に定義しておく。
ip pp secure filter out ........dynamic .....3085

postfix/main.cfの設定で必要なのは次の部分(以下so-netの例)

relayhost = [mail.so-net.ne.jp]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 XXXXXXXX(rtx1200のIP) smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noplaintext, noanonymous
smtp_sasl_mechanism_filter = CRAM-MD5
smtp_sasl_password_maps = hash:/etc/postfix/rtx_sasl_pass


rtx_sasl_passはso-net側の認証ユーザ名:パスワードハッシュ

作成方法は
sudo echo '[mail.so-net.jp]:587 ユーザ名:パスワード' > rtx_sasl_pass
sudo postmap hash:rtx_sasl_pass

rtx_sasl_pass.dbが作成されていれば、基のテキストファイルrtx_sasl_passは消す。

以上で送信出来るはず。
試しに
mail notify status exec 1
コマンドを発行してみる。

Jan 16 0:52:34 syslog-srv postfix/smtpd[2840]: connect from rtx1200[******]
Jan 16 0:52:34 syslog-srv postfix/smtpd[2840]: ********: client=rtx1200[******]
Jan 16 0:52:35 syslog-srv postfix/smtpd[2840]: disconnect from rtx1200[****]
Jan 16 0:52:36 syslog-srv postfix/smtp[2845]: **********: to=<****@****>, relay=mail.so-net.ne.jp[202.238.84.20]:587, delay=1.7, delays=0.94/0.05/0.18/0.56, dsn=2.0.0, status=sent (250 2.0.0 ******Message accepted for delivery)
参考サイト: http://bsd.blog.so-net.ne.jp/2013-12-23

0 件のコメント:

コメントを投稿