CentOS7でPostfix+SSLの送信メールサーバーをつくる

2019.11.29 (金)

やること

CentOS7でSMTPサーバー構築ではSSLを使っていなかったのですが、今回は無料SSLを使って暗号化したSMTPSサーバーを作ろうと思います。

利用するドメインのSSLを取得する

無料SSLのLet’s encryptを取得するには、認証方法としてそのドメインを使ったWEBサーバーを作るのが一番簡単です。まずはじめにexample.comでアクセスできるWEBサーバーを作っておきましょう。
SSLの取得方法は無料SSLを取得する Let’s Encryptを参考にしてください。

$ /usr/local/src/certbot
$ ./certbot-auto certonly --webroot -w /home/example/public -d example.com -m user@example.com --agree-tos -n

作成された証明書は/etc/letsencrypt/archive/example.com


状況確認します。
インストールしたいものがyumにあるかどうか?

# yum list | grep postfix
postfix.x86_64                          2:2.10.1-7.el7                 installed
pcp-pmda-postfix.x86_64                 4.3.2-3.el7_7                  updates  
postfix-perl-scripts.x86_64             2:2.10.1-7.el7                 base     
postfix-sysvinit.noarch                 2:2.10.1-7.el7                 base     
spamass-milter-postfix.noarch           0.4.0-7.el7                    epel 

yumでインストールできるpostfixのリポジトリがありました。みたいなことです。これがあったらすでにインストールされて動いているかもしれません。

# ps aux | grep postfix
root      7331  0.0  0.1  90176  1240 ?        Ss   11月28   0:00 /usr/libexec/postfix/master -w
postfix   7333  0.0  0.1  90420  1596 ?        S    11月28   0:00 qmgr -l -t unix -u
postfix  11053  0.0  0.4  90280  4212 ?        S    11:05   0:00 pickup -l -t unix -u
root     11244  0.0  0.0 112728   972 pts/1    R+   11:22   0:00 grep --color=auto postfix

ステータス確認。動いてますね。

# systemctl status postfix
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
   Active: active (running) since 木 2019-11-28 16:55:23 UTC; 18h ago
  Process: 7246 ExecStop=/usr/sbin/postfix stop (code=exited, status=0/SUCCESS)
  Process: 7259 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS)
  Process: 7257 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
  Process: 7255 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS)
 Main PID: 7331 (master)
   CGroup: /system.slice/postfix.service
           ├─ 7331 /usr/libexec/postfix/master -w
           ├─ 7333 qmgr -l -t unix -u
           └─11053 pickup -l -t unix -u

ポート確認する。

# nmap localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2019-11-29 11:27 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000030s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp ←動いてる、たぶん。
80/tcp   open  http
111/tcp  open  rpcbind
443/tcp  open  https
3306/tcp open  mysql