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
X-Original-To: guest
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と再接続を行うこと