- ベストアンサー
Postfixの設定について
- CentOSでPostfixの設定を加えた後、外部サイトのポートスキャンが失敗する現象が発生
- Vinlinuxでは同じ設定でポートスキャンが成功するため、CentOSのセキュリティ関連の設定が影響している可能性がある
- 既存の解決策やウェブページの方法を試したが、ポートスキャンは未だに成功せず、Dovecotの設定は意味がない状態
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> CentOSにてnetstat -an |grep :25 を実行すると下記結果が表示されます。 > tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN む? これだと外部(=LAN内も含むそのCentOS以外のホスト)からSMTPで接続すること自体ができないような? しかもANo.3のお礼中にmain.cfで > inet_interfaces = localhost となっているじゃあーりませんか。これを inet_interfaces = all に変更してPostfixを再起動するべし。これでnetstat -an | grep :25の結果が tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN という風に変わるはず。まずはこの設定変更を行ってからもう一度確認してみましょう。
その他の回答 (3)
- EF_510
- ベストアンサー率50% (306/604)
本当にVineと同じなのでしょうか? #postconf -n で「デフォルトと違う設定」が出力されますので両方を比較してください。 (どちらもファイルに出力してdiffするのも良いでしょう) まず、自ホストでTelnetなどを行って本当にサービスが起動しているか確認してください。 #telnet 127.0.0.1 25
お礼
ご回答いただき、ありがとうございます。 両方の出力結果は完全一致とまではいきません。しかし、どの部分が問題か、見極めかねています。 尚、Vinlinuxのほうは、Smtp-Authでメール送受信が正常に出来る状態です。 CentOS6.2 の結果です。(参考サイト:http://kajuhome.com/postfix.shtml) 参考サイトのとおり、Smtp-Authの設定まで進んでみましたが、結果は同じでした。外部からポートスキャンも失敗します。 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 disable_vrfy_command = yes home_mailbox = Maildir/ html_directory = no inet_interfaces = localhost inet_protocols = all mail_owner = postfix mail_spool_directory = /var/spool/mail mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = xxxxx.ddo.jp myhostname = xxxxx.ddo.jp mynetworks_style = subnet myorigin = $myhostname newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relay_domains = $mydestination relayhost = [mail.xa2.so-net.ne.jp] sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop smtpd_client_restrictions = permit_mynetworks, reject _rhsbl_client rhsbl.ahbl.org, reject_rbl_client spamcop.net, reject_rbl_client dynablock.wirehub.net, reject_rbl_client .spamhaus.org, reject_unknown_client,permit smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous unknown_local_recipient_reject_code = 550 Vinelinux 4.2の結果です。 alias_database = hash:/etc/postfix/aliases alias_maps = hash:/etc/postfix/aliases allow_percent_hack = no broken_sasl_auth_clients = yes command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 2 default_privs = nobody home_mailbox = Maildir/ inet_interfaces = all mail_owner = postfix mail_spool_directory = /var/spool/mail mydestination = $myhostname, localhost.$mydomain $mydomain mydomain = xxxxx.ddo.jp myhostname = xxxxx.ddo.jp mynetworks_style = subnet queue_directory = /var/spool/postfix relayhost = [mail.xa2.so-net.ne.jp] smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain unknown_local_recipient_reject_code = 550 よろしくお願いします。
- pakuti
- ベストアンサー率50% (317/631)
外部からのポート25への接続がNGのようですが 内部からはポート25へ接続出来るのでしょうか? lsof -i:25 netstat -an |grep :25 は、どのような結果が帰りますか?
お礼
ご回答いただき、ありがとうございます。 CentOSにてnetstat -an |grep :25 を実行すると下記結果が表示されます。 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN isof-i:25の結果は下記のとおりです。 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME master 2030 root 12u IPv4 12513 0t0 TCP localhost.localdomain:smtp (LISTEN) この結果は、内部からポート25に接続できることを示しているのでしょうか?
補足
大変失礼しました。 まったく、よく確認しないで質問してご迷惑をおかけしました。 下記の設定になっていました。 inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost inet_interfaces = localhost それを勘違いして、inet_interfaces = all だけみて、有効になっていると勘違いしていました。実際にはinet_interfaces = localhostもコメントアウトしていなかった次第です。 本当に、ご迷惑おかけしました。無事、ポートスキャンが出来ました。なんと、お礼を申し上げればよいか。 本当にありがとうございます。 でも、こんな状態ですから、CentOSの設定は先が長そうです。
- anmochi
- ベストアンサー率65% (1332/2045)
「ポートスキャン」はおそらくオープンリレーメールサーバーになっていないか確認してくれるサービスの事を指しているのだろうが、それならどんなエラーが返ってくるのか掲載してみればより精度の高い回答が得られるのではないか。 まぁ、とにかくVineでうまくいってCentでうまくいかないなら両方の設定ファイルを見比べてみるのが一番なんじゃないのかな。 [root@vine] # postconf > vine.conf [root@cent] # postconf > cent.conf これで出力された二つのファイルで差分をとれば良いのです。オープンリレー系の話であればsmtpd_recipient_restrictionsあたりを見れば良いでしょうかね。 蛇足ながら、一般的にメールサーバーは以下の指針で設定すれば良い。これを分かっていればPostfixに限らず設定内容はおのずと決まるであろう。 ・自ホスト宛てのメールは存在しないアカウントへのメールはその場でお引き取り願うか受け取った後でバウンスさせる(ただし、セキュリティ上の目的で受け取った後静かに抹消する場合もある)。それ以外は受け取り、適切なメールボックスまたはエイリアスに送信する。 ・他ホスト宛てのメールは許可されたユーザーまたはクライアントからのメール送信でなければ必ずその場でお引き取り願う。自ホスト宛てと違い、セキュリティ上の理由があっても受け取った後静かに抹消するのは好ましくない。
お礼
ご回答いただき、ありがとうございます。 おっしゃるとおり、Postfixが起動時に読み込む設定ファイル(main.cf , master.cf 私の認識では)を見比べてみましたが、違いを見つけられませんでした。postconf で出力される情報は異常に長く、見比べている最中です。 CentOS に関しては下記のサイトを参考に、同じ設定にしてみたのですが、Outlook Express 6 ではSMTPに接続出来ないと言うメッセージがでますし、25番ポートスキャンを実行してもアクセスできませんでしたの表示が出ます。 設定参考サイト: http://kajuhome.com/postfix.shtml だた、闇雲に参考サイトのままに設定しても、中々うまくいきませんね。 もう少し、Postfixのことを勉強してから、設定するほうがいいのかなと思っています。 もう数日、何がいけないのか頑張ってみます。
お礼
ご回答、ありがとうございます。 ご指摘いただいたところは、確かに間違っていました。その間違いに注意してCentOS6.2を再度、入れなおして設定してみました。 iptables stop. chkconfig iptables off setenforce 0 SELINUX=disabledを実行してアップデートもしました。その後、すぐにmain.cfに設定を加えservice postfix restartを実行しました。 外部からのポートスキャンは相変わらず失敗です。 インストール時のサーバーの固定IPアドレス設定がおかしいのでしょうか。 まったく関係ないのかもしれませんが、念のためifcfg-eth0 の設定内容を記載します。 DEVICE="eth0" HWADDR="00:11:85:11:EE:64" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO=static IPADDR=192.168.0.3 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 BROADCAST=192.168.0.255 DNS1=192.168.0.1 resolv.conf はnameserver 192.168.0.1 となっております。 netstat -an |grep :25 の結果は下記のとおりです。 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 ::1:25 :::* LISTEN postconf -n の実行結果です。 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 home_mailbox = Maildir/ html_directory = no inet_interfaces = localhost inet_protocols = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, $mydomain mydomain = xxxxx.ddo.jp myhostname = xxxxx.ddo.jp mynetworks_style = subnet myorigin = $myhostname newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relayhost = [mail.xa2.so-net.ne.jp] sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop unknown_local_recipient_reject_code = 550 よろしくお願いします。
補足
すいません。今気づいたのですが、postconf -n 出力結果は inet_interfaces = localhost となっていますが、main.cfをチェックするとinet_interfaces = all になっています。 /etc/rc.d/init.d/postfix stop 後、/etc/rc.d/init.d/postfix start/を実行して再度、postconf -n を実行して出力結果をみてもやはり inet_interfaces = localhost のままでmain.cfの内容が反映されません。 main.cf は今現在、下記の設定になっています。 inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost inet_interfaces = localhost 今度は、設定を下記のとおり変えて反映されるか試しました。 postfixをrestartして結果を見るとやはり inet_interfaces = localhost のまま反映されません。 #inet_interfaces = all inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost inet_interfaces = localhost ダウンロードして、DVDに焼いたとき、うまく焼くことが出来なかったのでしょうか。 あるいは供給元のisoイメージが不良だったのでしょうか。 考えれば考えるほど、何がいけないのかわからない状況です。