2015/11/17

SSL導入

使用する証明書

さくらのSSL
* ドメイン認証
* ジオトラスト ラピッドSSL
* ¥1,500-/year

証明書作成手順

鍵とCSR作成

  1. 鍵とCSR作成
    # mkdir 20151116-SSL
    # cd /root/20151116-SSL
    # openssl md5 * > rand.dat
    # openssl genrsa -rand rand.dat -des3 2048 > 20151116-www.mylines.org.key
    # openssl req -new -key 20151116-www.mylines.org.key -out 20151116-www.mylines.org.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Hiroshima
Locality Name (eg, city) [Default City]:Hiroshima
Organization Name (eg, company) [Default Company Ltd]:XXXXXXX
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:www.mylines.org
Email Address []:
Please enter the following '
extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
# openssl rsa -in 20151116-www.mylines.org.key -out 20151116-www.mylines.org_nonepass.key
  1. さくらのSSLに申し込みする
  2. 作成したCSRをさくらのSSLの申し込み途中で貼り付ける
    # cat /root/20151116-www.mylines.org.csr
-----BEGIN CERTIFICATE REQUEST-----
MIICqDCCAZACAQAwYzELMAkGA1UEBhMCSlAxEjAQBgNVBAgMCUhpcm9zaGltYTES
MBAGA1UEBwwJSGlyb3NoaW1hMRIwEAYDVQQKDAl5YXN1bWlrYW4xGDAWBgNVBAMM
D3d3dy5teWxpbmVzLm9yZzCCASIwXXJKoZIhvcNAQEBBQADggEPADCCAQoCggEBX
ALTXHHzn7V/qRtktuQzDXv8RVRgnSTyBHJG/pWnOW67jGX1PCkq6ipHVRaNgMzjD
oEY1PdPqB30lMQkOw5rFZgbpbrk9NXeogLfMhwTW56/c8dJi7n9FhMbP30h3fhFi
lYU5ypPlRzOEtBH3teNNvTfg8qFA6hryKTivuTNJ5MjFXeN5blQ/EXmTNQ7qUX6w
Ahj9pGRvHiC70/VIIfku9+5Wglsw4OlmkuRuHQAcEr9ld0cbnM0Aqzc7Y4/mBQBZ
ZiGEE3e4Z4njq9EUiD/phiScI4AtznyRyaaO7CmuM6fEVtuhboPq8TQWugw0ksgI
iNsDR1RM6VDskZWz7l8zAesCAwXXAaAAMA0GCSqGSIb3DQEBBQUAA4IBAQBdrDXo
WRxYNndIr+n2CgwUauCR8/+kw/bDMBVFGyZjCI/0F0sxWfCFLHZp3NJwtNayBpAc
gcjDlW9EJuYDG9K7uP44VAct24WkgKQCIsQqPE96t58WQaMxs9SZYEz9FRe4qiHh
ZQeQ2fv2C9kmHonOXKESDFBFDb/6DjEp4adk+HHBWmFCT3V0wty3LbVfJDjcSfPH
xDb0hrFTUCs1UY2Ik+0qCklf22fu1wvNkAkgQ6mbACfykvTE9d48pkkgADEB189K
AMiI6x9OOLiJYmVBaZVXn2uQYCpS/zQbdwIF+prE2+VvahGsjXzmOaIGCPf6rxl0
jt7xJjFLQnKwNo+SXX
-----END CERTIFICATE REQUEST-----

認証ファイルをアップロード

  1. さくらのSSLから認証ファイルをダウンロードしてサーバにアップロード
    # mv nm3acaco.htm /var/www/html/wp-www/nw3acaco.htm
  2. アクセスできることを確認
    http://www.mylines.org/nw3acaco.htm
  3. サーバ証明書ができるまでapacheの設定をする

Apache + mod_ssl

# yum install mod_ssl
# vi /etc/httpd/conf.d/ssl.conf //以下変更箇所
DocumentRoot "/var/www/html/wp-www"
ServerName www.mylines.org:443
SSLCertificateFile /etc/pki/tls/certs/20151116-www.mylines.org.crt
SSLCertificateKeyFile /etc/pki/tls/private/20151116-www.mylines.org_nonepass.key
SSLCACertificateFile /etc/pki/tls/certs/20151116-ica.crt

サーバ証明書配置

  1. 中間証明書ダウンロードと配置
    # cp -a 20151116-ica.crt /etc/pki/tls/certs/20151116-ica.crt
    # cat /etc/pki/tls/certs/20151116-ica.crt
-----BEGIN CERTIFICATE-----
MIIEJTCCAw2gAwIBAgIDAjp3MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMTQwODI5MjEzOTMyWhcNMjIwNTIwMjEzOTMyWjBHMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXUmFwaWRTU0wg
U0hBMjU2IENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv
VJvZWF0eLFbG1eh/9H0WA//Qi1rkjqfdVC7UBMBdmJyNkA+8EGVf2prWRHzAn7Xp
SowLBkMEu/SW4ib2YQGRZjEiwzQ0Xz8/kS9EX9zHFLYDn4ZLDqP/oIACg8PTH2lS
1p1kD8mD5xvEcKyU58Okaiy9uJ5p2L4KjxZjWmhxgHsw3hUEv8zTvz5IBVV6s9cQ
DAP8m/0Ip4yM26eO8R5j3LMBL3+vV8M8SKeDaCGnL+enP/C1DPz1hNFTvA5yT2AM
QriYrRmIV9cE7Ie/fodOoyH5U/02mEiN1vi7SPIpyGTRzFRIU4uvt2UevykzKdkp
YEj4/5G8V1jlNS67abZZAgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7
qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUw5zz/NNGCDS7zkZ/oHxb8+IIy1kwEgYD
VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCig
JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUF
BwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARF
MEMwQQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3Ry
dXN0LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQCjWB7GQzKs
rC+TeLfqrlRARy1+eI1Q9vhmrNZPc9ZE768LzFvB9E+aj0l+YK/CJ8cW8fuTgZCp
fO9vfm5FlBaEvexJ8cQO9K8EWYOHDyw7l8NaEpt7BDV7o5UzCHuTcSJCs6nZb0+B
kvwHtnm8hEqddwnxxYny8LScVKoSew26T++TGezvfU5ho452nFnPjJSxhJf3GrkH
uLLGTxN5279PURt/aQ1RKsHWFf83UTRlUfQevjhq7A6rvz17OQV79PP7GqHQyH5O
ZI3NjGFVkP46yl0lD/gdo0p0Vk8aVUBwdSWmMy66S6VdU5oNMOGNX2Esr8zvsJmh
gP8L8mJMcCaY
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw
WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE
AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m
OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu
T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c
JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR
Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz
PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm
aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM
TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g
LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO
BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv
dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB
AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL
NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W
b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S
-----END CERTIFICATE-----
  1. サーバ証明書ダウンロードと配置
    さくらからサーバ証明書作成完了メールが来るのでそれに従ってダウンロード
    # cp -a server.crt /etc/pki/tls/certs/20151116-www.mylines.org.crt
  2. 秘密鍵配置
    # cp -a 20151116-www.mylines.org.key /etc/pki/tls/private/20151116-www.mylines.org_nonepass.key

Apache再起動とweb確認

  1. # service httpd restart
  2. https://www.mylines.org へアクセス
  3. 証明書を確認する

2015/11/09

DKIM導入

1.環境

CentOS 6.7 x86_64

2.OpenDkim設定

epelリポジトリ追加

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6

opendkimインストール

# yum install opendkim

公開鍵、秘密鍵作成

# opendkim-genkey -D /etc/opendkim/keys -d mylines.org -s 20151108-key
/etc/opendkim/keys/20151108-key.private //秘密鍵
/etc/opendkim/keys/20151108-key.txt //公開鍵
# chown opendkim. /etc/opendkim/keys/20151108-key.* //所有者変更

ゾーンファイルに公開鍵レコードとADSPレコードを追加

# vi /var/named/chroot/var/named/mylines.org.zone
20151108-key._domainkey.mylines.org. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUbKMp1yzlRGwygs/D5nb5L2Mkui2mvWqiVoETbzttz5XW5+yqwGAigqM9D+PUR7h0vRWrMEMhlOH8FuQJEo9WiDcq6UiZAlbQ4IVaCKiVZi43MfJNNbXFVLAw4mv3A1y0Xvn46QY0FrIvjbOU4JJ2F7FiBzIMY7ER3xFsM35QlwIDAQAB"
_adsp._domainkey.mylines.org. IN TXT "dkim=unknown"

レコード確認

# service named restart
# dig 20151108-key._domainkey.mylines.org txt
;; ANSWER SECTION:
20151108-key._domainkey.mylines.org. 3600 IN TXT "v=DKIM1\; k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUbKMp1yzlRGwygs/D5nb5L2Mkui2mvWqiVoETbzttz5XW5+yqwGAigqM9D+PUR7h0vRWrMEMhlOH8FuQJEo9WiDcq6UiZAlbQ4IVaCKiVZi43MfJNNbXFVLAw4mv3A1y0Xvn46QY0FrIvjbOU4JJ2F7FiBzIMY7ER3xFsM35QlwIDAQAB"
# dig _adsp._domainkey.mylines.org txt
;; ANSWER SECTION:
_adsp._domainkey.mylines.org. 3600 IN TXT "dkim=unknown"

OpenDkimのconfファイル変更

# vi /etc/opendkim.conf
Mode    v
 ↓
Mode sv

KeyFile /etc/opendkim/keys/default.private
 ↓
#KeyFile /etc/opendkim/keys/default.private

#KeyTable /etc/opendkim/KeyTable
 ↓
KeyTable refile:/etc/opendkim/KeyTable

#SigningTable refile:/etc/opendkim/SigningTable
 ↓
SigningTable refile:/etc/opendkim/SigningTable

#ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
 ↓
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts

#InternalHosts refile:/etc/opendkim/TrustedHosts
 ↓
InternalHosts refile:/etc/opendkim/TrustedHosts
# vi /etc/opendkim/KeyTable
#default._domainkey.example.com example.com:default:/etc/opendkim/keys/default.private
20151108-key._domainkey.mylines.org mylines.org:20151108-key:/etc/opendkim/keys/20151108-key.private
# vi /etc/opendkim/SigningTable
#example.com default._domainkey.example.com
*@mylines.org 20151108-key._domainkey.mylines.org
# vi /etc/opendkim/TrustedHosts
127.0.0.1

OpenDkim スタート&登録

# service opendkim start
# chkconfig opendkim on

3.Postfix設定

# vi /etc/postfix/main.cf //最終行に追加
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
# service postfix restart //postfix再起動

4.動作確認

  1. Mail@mylines.orgからtest@gmail.com宛にテストメールを送る
    メールヘッダ確認
Dkim-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=mylines.org; s=20151108-key; t=1446967794; bh=dYCBGdXYXm7VH/8DhOb6ToDJxu+DlZMIOV3QrmUEzYQ=; h=From:Subject:Date:To:From; b=TdXmM13P/agkXgI+Ne2dHBSxAG1xu7e4dL/5UZl56BiWYA7+eGwF09YlFZCVr5fcN WEAgZIqBIOeu6GpTZTgVkLs0/hpiqVS+ElsRzuUd3g6HJKDYwSQNVHwIXZqddtzc9i IDXa8pK68XOx9pdhg6Sc2mUgYqGjNPjjSkCCT/7s=
Received-Spf:pass (google.com: domain of Mail@mylines.org designates 49.212.197.167 as permitted sender) client-ip=49.212.197.167;
Dkim-Filter:OpenDKIM Filter v2.10.3 mail.mylines.org CE4053E0191
Authentication-Results:mx.google.com; spf=pass (google.com: domain of Mail@mylines.org designates 49.212.197.167 as permitted sender) smtp.mailfrom=Mail@mylines.org; dkim=pass header.i=@mylines.org
  1. test@gmail.comからMail@mylines.org宛にテストメールを送る
    # less /var/log/maillog
Nov  8 16:42:34 sakura opendkim[7592]: 9D6733E0191: DKIM verification successful

参考


SPF導入-Postfix

1.事前準備

以前に途中で設定を投げ出していたので古いモジュールを削除
# cd pypolicyd-spf-1.2
# python setup.py install --record remove.txt
# cat remove.txt |xargs rm -vrf
removed `/usr/lib/python2.6/site-packages/policydspfsupp.py'
removed
`/usr/lib/python2.6/site-packages/policydspfuser.py'
removed `/usr/lib/python2.6/site-packages/policydspfsupp.pyc'

removed `/usr/lib/python2.6/site-packages/policydspfuser.pyc'
removed
`/usr/bin/policyd-spf'
removed `/usr/share/man/man1/policyd-spf.1'

removed `/usr/share/man/man5/policyd-spf.conf.5'
removed
`/etc/python-policyd-spf/policyd-spf.conf'
removed `/usr/share/man/man5/policyd-spf.peruser.5'

removed `/usr/lib/python2.6/site-packages/pypolicyd_spf-1.2-py2.6.egg-info'

2.設定

ダウンロード

  • pydns-2.3.6.tar
  • pypolicyd-spf-1.3.2.tar.gz
  • pyspf-2.0.12.tar.gz

インストール

  • pydns
    # tar xvf pydns-2.3.6.tar
    # cd pydns-2.3.6
    # python setup.py install
  • pypolicyd-spf
    # tar zxvf pypolicyd-spf-1.3.2.tar.gz
    # cd pypolicyd-spf-1.3.2
    # python setup.py install
  • pyspf-2.0.12
    # tar zxvf pyspf-2.0.12.tar.gz
    # cd pyspf-2.0.12
    # python setup.py install

モジュールの動作確認

# python /usr/bin/policyd-spf /etc/python-policyd-spf/policyd-spf.conf
//何も表示されなければOK

設定変更

  • confファイルをコメント付きファイルに変更
    # mv /etc/python-policyd-spf/policyd-spf.conf /etc/python-policyd-spf/policyd-spf.conf.org
    # cp pypolicyd-spf-1.3.2/policyd-spf.conf.commented /etc/python-policyd-spf/policyd-spf.conf
  • SPF判定のみをヘッダに追加するように変更(rejectなし)
    # vi /etc/python-policyd-spf/policyd-spf.conf
#HELO_reject = SPF_Not_Pass //comment
HELO_reject = False //add
#Mail_From_reject = Fail //comment
Mail_From_reject = False //add

Postfix設定

  • master.cf
    # vi /etc/postfix/master.cf //最終行に以下を追加
#spf //comment
policyd-spf unix - n n - 0 spawn
user=nobody argv=/usr/bin/python /usr/bin/policyd-spf /etc/python-policyd-spf/policyd-spf.conf
  • mail.cf
    # vi /etc/postfix/main.cf //check_policy_service以降を追加する
#smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_policy_service unix:private/policyd-spf
  • 再起動
    # service postfix restart

3.動作確認

  • gmailから@mylines.org宛に送ってみる
Received-Spf:Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.220.48; helo=mail-pa0-f48.google.com; envelope-from=test@gmail.com; receiver=Mail@mylines.org 
  • 送信元を詐称して@mylnies.org宛に送ってみる
Received-Spf:Softfail (domain owner discourages use of this host) identity=mailfrom; client-ip=112.78.117.190; helo=sv9.star-plus.netowl.jp; envelope-from=test@gmail.com; receiver=Mail@mylines.org 

参考


2015/11/08

SPF導入-BIND編

BINDゾーン編集

# vi /var/named/chroot/var/named/mylines.org.zone
@ IN TXT "v=spf1 +ip4:49.212.197.167 -all" //add

テスト

Mail@mylines.org からgmailにメールを送ってヘッダを確認する
Received-Spf:pass (google.com: domain of Mail@mylines.org designates 49.212.197.167 as permitted sender) client-ip=49.212.197.167;
Authentication-Results:mx.google.com; spf=pass (google.com: domain of Mail@mylines.org designates 49.212.197.167 as permitted sender) smtp.mailfrom=Mail@mylines.org

L2TP/IPSEC-VPN IX2025 リモートアクセス.

リモートアクセス VPN テスト シナリオ 想定1:インターネット VPN を使用したリモートアクセス VPN 想定2: VPN 構築後に iphone からインターネットに接続する 機器: NEC  IX2025(8.11.11) と iphone 目標1: LTE 通信の i...