70メールのセキュリティ(メールサーバとお話できる?)

70メールのセキュリティ(メールサーバとお話できる?)

1.メールの送信

windows側の準備

1.「スタート」→「コントロールパネル」をクリック。
2.「プログラム」をクリック。
3.「プログラムと機能」をクリック。
4.「Windowsの機能の有効化または無効化」をクリック。
5.「続行」をクリック。
6.機能の有効化をするために「Telnetクライアント」にチェックをつけ「OK」ボタンをクリック。

または

TERATERM.INIの設定を変更する。

Teratermの設定
Telnet プロトコルに対応していないホスト
(通常 23 以外のポート番号を使用)に TCP/IP 接続する場合、
ローカルエコーを on に、送信する改行コードを CR+LF にする必要がある。

TCPLocalEcho=on
TCPCRSend=CRLF



★CentOS側の準備

●SELinuxが無効になっていること確認(有効だったら...)
[root@aso new]# getenforce
Disabled
[root@aso new]#
 有効だったらこれをやる
    vi /etc/sysconfig/selinux
    —(下記を変更)—————————
    SELINUX=enforcing
    ↓
    SELINUX=disabled
    ——————————
    設定反映のためにOSの再起動が必要です。
●firewalldが止まっていることの確認(動いていたら止めること)
[root@aso mail]# systemctl status firewalld

●MTAがpostfixであることの確認(使用しているメールサーバを確認する)

[root@aso mail]# alternatives --config mta

1 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:^C
[root@aso mail]#

※postfixになっていればよい。もしエラーが出ていても気にしない。

●postfixの設定

/etc/postfix/main.cf を編集します。

vi /etc/postfix/main.cf

設定・確認すべきパラメータを以下に示します。もちろんコメントは、外してください。

# allでネットワークのすべてのホストから要求を受け付けます。(113行目付近)
inet_interfaces - 接続を受け付けるインターフェースの設定
デフォルトではローカル(127.0.0.1)からの接続しか受け付けません
inet_interfaces = all
116行目付近の(inet_interfaces = localhost)をコメントにすること

# Enable IPv4, and IPv6 if supported プロトコルの設定はIPv4だけにします。(119行目付近)
inet_protocols = ipv4


# 認証なしでも送信を許可するネットワークを設定します。(264行目付近)
mynetworks = 192.168.0.0/16, 127.0.0.0/8 ← 許可するIPアドレスの範囲を適切に設定


# メールボックスの場所を指定します。(419行目付近)
# 配信メールの保存場所は /home/user-name/Maildir/new
home_mailbox = Maildir/


以上で保存。サービスをリスタート。

[root@aso ~]# systemctl restart postfix
[root@aso ~]#

postfix起動をネットワークコマンドで確認しておくこと。
[root@aso new]# netstat -pant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      1205/postgres
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      4769/master
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1166/sshd
tcp        0     96 192.168.56.10:22        192.168.56.1:63255      ESTABLISHED 2152/sshd: guest [p
tcp6       0      0 :::5432                 :::*                    LISTEN      1205/postgres
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::22                   :::*                    LISTEN      1166/sshd
[root@aso new]#


ログを確認しておくこと
# tail -f /var/log/messages
# tail -f /var/log/maillog


★メール送信テストを行います

【送信】

以下、Windowsのコマンドプロンプトからtelnetでメールサーバに接続し、直接SMTPコマンドを実行してメールを送信します。

telnet 192.168.56.10 25
メッセージ確認(25番ポートにTelnetで接続した)←メッセージは出ません画面は真っ黒です
Trying 192.168.56.10...
Connected to 192.168.56.10.
Escape character is '^]'.
220 aso.ict.jp ESMTP Postfix ← ここは確認します

②ターミナルの設定変更(Windowsのコマンドプロンプトではこの設定は必要ありません)
メニューバー → ターミナル → 基本設定 → ターミナルの設定 → ターミナルオプション → ローカルエコー → チェック

helo aso
メッセージ確認(SMTPサーバは送信者のドメイン名を確認した)
250 aso.ict.jp

mail from:guest
メッセージ確認(SMTPサーバーは送信者guestのメールアドレスを確認した)
250 2.1.0 Ok

rcpt to:guest
メッセージ確認(SMTPサーバーは宛先guestのメールアドレスを確認した)
250 2.1.5 Ok

data
メッセージ確認(SMTPクライアントはメールの送信開始を告げサーバーは受理した)
354 End data with <CR><LF>.<CR><LF>

⑦hogehoge         ←     メール本文(日本語はやめましょう)

⑧abcdefg         ←     メール本文(日本語はやめましょう)

              ←     本文終了
メッセージ確認(SMTPサーバーはピリオドによりメールの終わりを確認した)
250  2.0.0 Ok: queued as 14C1CC126A52    

quit
メッセージ確認(メールの送信を終了した)
221 2.0.0 Bye
ホストとの接続が切断されました。

SMTPではアカウントの確認が行われないことを確認してください

⑪CentOS側で送信されたか確認します

[root@aso new]# cd /home/guest/Maildir/new
[root@aso new]# ls
1640756871.Vfd00I19b2443M833053.aso.ict.jp
[root@aso new]# cat 1640756871.Vfd00I19b2443M833053.aso.ict.jp
Return-Path: <guest@aso.ict.jp>
X-Original-To: guest
Delivered-To: guest@aso.ict.jp
Received: from aso (unknown [192.168.56.1])
        by aso.ict.jp (Postfix) with SMTP id 73B1D19B2437
        for <guest>; Wed, 29 Dec 2021 14:44:46 +0900 (JST)

hogehoge
abcdefg
[root@aso new]#


2.メールの受信

★CentOS側の準備

pop,imapのプロトコルを実装するアプリとしてDovecotがよく利用されます。

● Dovecotがインストールされているか確かめます。
# rpm -q dovecot

インストールされていなければyumでインストールします。
# yum -y install dovecot


【受信】

以下、WindowsのコマンドプロンプトからPOPコマンドを実行してメールを受信します

telnet 192.168.112.7 110
メッセージ確認(110番ポートにTelnetで接続した)
Trying 192.168.112.7...
Connected to 192.168.112.7.
Escape character is '^]'.
+OK [XCLIENT] POP ready.

user ictu1631
メッセージ確認(POPサーバーはユーザー名を確認した)
+OK

pass ictu1631
メッセージ確認(POPサーバーはパスワードを確認しメッセージが1件あることを告げた)
+OK Logged in.

list
メッセージ確認(+OKの応答の後にn m形式の行がメールの数だけ続き最後にピリオドだけの行がくる)
       (n  はメール番号  m は各メールのサイズ)
+OK 1 messages:
1 575
.
retr 1
retrieve data(データを取り出す)
メッセージ確認(メールを受信した。+OKの応答の後にメールが続き最後にピリオドだけの行がくる)
+OK 575 octets
Return-Path: <ictu1600@ict00.training.kanatech-west.ac.jp>
X-Original-To: ictu1631
Delivered-To: ictu1631@ict00.training.kanatech-west.ac.jp
Received: from centos7t (centos7t.training.kanatech-west.ac.jp [192.168.112.7])
        by centos7t.ict00.training.kanatech-west.ac.jp (Postfix) with SMTP id 14C1CC126A52
        for <ictu1631>; Wed,  8 Jun 2016 16:16:27 +0900 (JST)
Message-Id: <20160608071855.14C1CC126A52@centos7t.ict00.training.kanatech-west.ac.jp>
Date: Wed,  8 Jun 2016 16:16:27 +0900 (JST)
From: ictu1600@ict00.training.kanatech-west.ac.jp

hogehoge
ほげほげ
quit
メッセージ確認(メールを残したままPOPを終了した)
+OK Logging out.

メールを削除する場合はquitする前に以下のコマンドを実行する

再度項目⑫番から実施してメールを削除してください

dele 削除するメッセージ番号
+OK Marked to be deleted.

★     新着メッセージは接続状態では反映されないため適宜Quitと再接続を行うこと