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

2013/08/28

1812J 再設定5

目的:1812Jに再帰ACLを設定
環境1:cisco1812J Version 12.4(24)
参考:http://www.infraexpert.com/study/acl6.htm
外部インターフェースDialer1に再帰ACLを設定して
内部ネットワークから外部ネットワークに出て行くトラフィック
reflect RACLで記憶して
外部ネットワークから内部ネットワークへのトラフィック
httpd用に80のみ固定で許可し
それ以外は、reflect RACLを元に戻ってきたトラフィックか判断して
通過させるかを決定する。
外部インターフェース用のACL設定(内部から外部に出て行く時用)
1812J(config)#ip access-list extended RACL-OUTB
#RACLを設定してパケットが戻った時の判断用に設定
1812J(config-ext-nacl)#permit ip any any reflect RACL timeout 300
外部インターフェースのアウトバウンドにACLを適用
1812J(config)#interface Dialer1
1812J(config-if)#ip access-group RACL-OUTB out

外部インターフェース用のACL設定(外部から内部に入っていく時用)
1812J(config)#ip access-list extended RACL-INB
#httpdの公開用に許可
1812J(config-ext-nacl)##permit tcp any any eq www
#RACLを元に戻ってきたトラフィックを通過させるかどうか判断する
1812J(config-ext-nacl)#)#evaluate RACL       
外部インターフェースのインバウンドにACLを適用
1812J(config)#interface Dialer1
1812J(config-if)#ip access-group RACL-INB in

centos 6 設定 zabbix ログ監視

環境1:CentOS 6.4 ×86_64
環境2:Zabbix-Server 2.06 Zabbix-Agent 2.06
参考1:http://www.checksite.jp/zabbix-log-watch/
参考2:http://www.sraoss.co.jp/technology/zabbix/introduction/02-2ndstep.php監視対象ログ:ルータのログをsyslogサーバに転送したものを監視
・zabbix-agent設定
#vi zabbix_agentd.confServerActive=127.0.0.1
RefreshActiveChecks=120 <- #を外す
AllowRoot=1 <- #を外して0を1に変えて有効にする(root権限のファイルを読めるようにする)
・zabbix-server設定
Web画面で監視アイテムを追加
  ホスト Zabbix server
  名前 1812J_ネットワークログ
  タイプ Zabbix agent(アクティブ)
  キー log[/var/log/networklog]
  データ型 ログ
  更新間隔(秒) 30
  ヒストリの保存期間(日) 90
  ログの時間の形式 空白
  アプリケーションの作成 LogWatch
  アプリケーション 空白
  説明 空白
  ステータス 有効
保存
Web画面でトリガーを設定する
  説明 空白
  アイテム そのまま
  条件式 error
  深刻度 警告
  コメント 空白
  URL 空白
  無効 チェック入れない
保存
テストのためログにerrorキーワードを追加
#echo “network error test” >> /var/log/networklog
Web画面でerrorの障害が出ているか確認
ほぼ参考サイトそのままです

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

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