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の障害が出ているか確認
ほぼ参考サイトそのままです

2013/08/23

1812J 再設定4

目的:1812Jのログをrsyslogサーバへ転送
環境1:CentOS 6.4 ×86_64
環境2:cisco1812J Version 12.4(24) 
参考:http://www41375u.sakura.ne.jp/network/cisco_sysmanage/logging.html参考:http://shirokuma-industry.com/wordpress/?p=759
ciscoのログ関連
タイムゾーンJSTにする
#(conf)clock timezone JST 9
ログとデバックの表示時間の仕方を設定
#(conf)service timestamps debug datetime msec localtime
#(conf)service timestamps log datetime msec localtime
時間設定
#clock set 19:56:00 Aug 21 2013
時間確認
#show clock
19:56:27.195 JST Wed Aug 21 2013
ログレベルの概要
Aug 21 20:05:28.543: %SYS-5-CONFIG_I:
Configured from console by admin on
%SYS-5-CONFIG_I  <-ここの5がログレベル
7 debug デバッグレベルメッセージ
6 info 情報メッセージ
5 notice 通知状態
4 warning 警告状態
3 error エラー状態
2 crit 致命的な状態
1 alerts 早急に対応しなければならない状態
0 emerg システムが利用できないような緊急状態
ログレベルの出力設定
#(conf)logging on
ログ出力を有効にする。デフォルトでオン。
no logging onにすると一切のログ出力がなくなる。
#(conf)logging buffered [size] [ログレベル]
ログを内部バッファに保存したい場合に使用し、show loggingで内容を表示する。
ログのsizeを指定しない場合は4096バイト。
ログレベルを指定しない場合はdebug。
#(conf)logging console [ログレベル]
コンソールに出力するログレベルの設定とログ出力を有効にする。
no logging consoleにするとログ出力が無効になる
#(conf)logging monitor [ログレベル]
telnet接続時に出力するログレベルの設定とログ出力を有効にする。
no logging monitorにするとログ出力が無効になる
syslogサーバへログを送る設定
#logging trap [ログレベル]
syslogサーバに出力するログレベルの設定とログ出力を有効にする。
no logging trapにするとログ出力が無効になる
#logging host IPアドレス
syslogサーバを指定
#logging facility ファシリティ名
facility名を指定(facilityは分類のこと)
#logging origin-id hostname
ログに目印をつけるための名前を入力
hostnameがログの前につくようになる
#logging source-interface インターフェース
ログを出力する際に使用する送信元インターフェースを設定
CentOS設定
ログを保存するファイルを作成
# touch /var/log/networklog
rsyslogの設定
# vi /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp <- #を外す
$UDPServerRun 514 <- #を外す
# Provides TCP syslog reception
$ModLoad imtcp      <- #を外す
$InputTCPServerRun 514  <- #を外す
# Save network device log
local0.* /var/log/networklog <-追加
*.info;mail.none;local0.none /var/log/messages  <- local0.noneを追加
ログをローテーションさせる
# vi /etc/logrotate.d/syslog/var/log/networklog <-追加
firewall
tcp/udpの514を開く
rsyslog再起動
#service rsyslog restart
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]
ログの確認
#tail -f /var/log/networklog

2013/08/19

centos 6 設定 bind

環境:CentOS 6.4 ×86_64  bind 9.8.2 さくらのVPS
参考:http://www.oss-d.net/bind/9.7/in_zone参考:http://open-groove.net/lpic/dns-named-conf/
外向けのみのコンテンツDNSサーバでスレーブはさくらのDNSを利用
・bindインストール
#yum install bind bind-chroot
chrootファイルコピー
#cd /usr/share/doc/bind-9.8.2/sample/
#cp -rp etc/* /var/named/chroot/etc/
#cp -rp var/named/* /var/named/chroot/var/named/
#chown -R root:named /var/named/chroot
・ルートディレクトリが変更されていることを確認
#less /etc/sysconfig/named 
ROOTDIR=/var/named/chroot 
・bindをipv4に限定
# vi /etc/sysconfig/named
OPTIONS=”-4″
bind設定
#vi /var/named/chroot/etc/named.conf 
options {
#listen-on port 53 { 127.0.0.1; }; #<-リッスンするIPを限定しない
#listen-on-v6 port 53 { ::1; }; #<-リッスンするIPを限定しない
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; }; #<- 問合せを受け付けるホスト
allow-transfer { 210.188.224.9; 210.224.172.13; };  #<-ゾーン転送を許可するホスト(スレーブDNS)
recursion no; #<- 再帰問い合わせを拒否
dnssec-enable no;
dnssec-validation no;
#dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
zone “mylines.org” {         #<-ドメイン名を記述
type master;                       #<-ゾーンタイプを指定
file “mylines.org.zone”;    #<-ゾーンファイル名を指定
};
#ゾーンタイプ
#hint       ルートDNSサーバを指定
#master マスターDNSサーバに指定
#slave スレーブDNSサーバに指定
include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
ゾーンの設定
#vi /var/named/chroot/var/named/mylines.org.zone
$TTL 3600
@ IN SOA ns1.mylines.org. root.mylines.org.(
                                              2013081801 ; Serial
                                                            7200 ; Refresh
                                                            7200 ; Retry
                                                     2419200 ; Expire
                                                       3600  )   ; Minimum
               IN NS ns1.mylines.org.
               IN MX 10 mylines.org.
ns1         IN A 49.212.197.167
@            IN A 49.212.197.167
mail        IN A 49.212.197.167
# $TTL     
正引き逆引きに成功した情報をキャッシュする期間
MNAMEこのゾーンのプライマリーDNSサーバのFQDNを指定したもので
AレコードでIPアドレスを定義したものでないと指定出来ない。
RNAME 
このゾーンの責任者のメールアドレスで@のかわりに.で指定する。
SERIALゾーンファイルのバージョン番号で通常は日付に2桁の数値を
加算したものを使用。更新した場合は必ず前よりも大きな数値にする。
REFRESH
SERIAL
値の増加の有無を確認して増えていればスレーブサーバに
ゾーン転送し、再度SERIAL値の確認するまでの待ち時間。
RETRYREFRESHでゾーン情報を更新できなかった場合に
再度更新を行うまでの待ち時間。
EXPIREセカンダリDNSサーバが、プライマリDNSサーバへ
アクセスできない状態が続いた場合、
そのゾーンデータを無効にするまでの時間
MINIMUMドメイン名が存在しなかったという情報を
保持(ネガティブキャッシュ)する時間
レジストラの設定
レジストラの設定画面でネームサーバを設定する
ネームサーバ1  ns1.mylines.org
ネームサーバ2  ns1.dns.ne.jp
ネームサーバ3  ns2.dns.ne.jp
・さくらのVPSのネームサーバ登録でセカンダリサーバを設定
・bind起動
# service named start 
・動作確認
#dig @49.212.197.167 mylines.org ;; ANSWER SECTION:
;; ns1.mylines.org. 3600 IN A 49.212.197.167
;; AUTHORITY SECTION:
;; mylines.org. 3600 IN NS ns1.mylines.org.
;; Query time: 0 msec
;; SERVER: 49.212.197.167#53(49.212.197.167)
#dig @8.8.8.8 mylines.org;; ANSWER SECTION:
;; mylines.org. 1129 IN A 49.212.197.167
;; Query time: 43 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
 # dig @210.188.224.9 mylines.org;; ANSWER SECTION:
;; mylines.org. 3600 IN A 49.212.197.167
;; Query time: 11 msec
;; SERVER: 210.188.224.9#53(210.188.224.9)

2013/08/18

centos 6 設定 postfix

環境:Centos 6.4 ×86_64
目標:SSLを使用してメーラーからメールサーバまでの経路暗号化を行う
目標:SMTPSIMAPSを使用して送受信を行う
参考:http://morizyun.github.io/blog/postfix-centos-sakura-vps-aws/参考:http://ascii.jp/elem/000/000/431/431263/
postfixインストール
#yum install postfix 
自己署名証明書の作成(SSL用)
key 秘密鍵
csr 証明書要求(証明書と所有者情報)
crt 電子証明書
# cd /etc/pki/tls/certs/秘密鍵を作成
# make server.key
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
………………………………………………………………………………………….+++
………………………………………………………………………………………+++
e is 65537 (0x10001)
Enter pass phrase: 秘密鍵のパスワード設定
Verifying – Enter pass phrase: 秘密鍵のパスワード設定再入力
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: 秘密鍵のパスワード入力
writing RSA key

# make server.csr

umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.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]: 空白エンター
State or Province Name (full name) : 空白エンター
Locality Name (eg, city) [Default City]: 空白エンター
Organization Name (eg, company) [Default Company Ltd]: 空白エンター
Organizational Unit Name (eg, section)
: 空白エンター
Common Name (eg, your name or your server’s hostname) :example.com
Email Address
: 空白エンター
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password : 空白エンター
An optional company name
: 空白エンター
# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=example.com
Getting Private key
# chmod 400 server.*
postfixの設定
# vi /etc/postfix/main.cf myhostname = mail.example.commydomain = example.commyorigin = $mydomainhome_mailbox = Maildir/smtpd_banner = $myhostname ESMTP unknown
message_size_limit = 10485760
SMTP-Auth系の設定
disable_vrfy_command = yes
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostnamesmtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
TLS を利用するために自己証明書を指定 smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt smtpd_tls_key_file = /etc/pki/tls/certs/server.key smtpd_use_tls = yes # 外部からのメール受信を許可
inet_interfaces = all
# ipv4に限定
inet_protocols = ipv4
# 自ドメイン宛メールを受信できるようにするmydestination = $myhostname, localhost.$mydomain, localhost$mydomain
smtps(465)を使用するために#を外す
# vi /etc/postfix/master.cf
smtps inet n – n – – smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtp-authの設定で下記に書き換え
# vi /etc/sasl2/smtpd.conf 
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain login
saslauthd起動
# /etc/rc.d/init.d/saslauthd start
saslauthd を起動中: [ OK ]
# chkconfig saslauthd on
# chkconfig –list saslauthd

saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
dovecotのインストール
# yum install dovecot 
SSLの設定 
# vi /etc/dovecot/conf.d/10-ssl.conf
 
ssl_cert = ssl_key = ssl = yesssl_key_password = “証明書作成時のPASSWORD”
認証設定
# vi /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login
ポート設定
# vi /etc/dovecot/conf.d/10-master.confservice imap-login {  inet_listener imap {    port = 143  }  inet_listener imaps {    port = 993    ssl = yes  }}
メールの保存場所を設定
# vi /etc/dovecot/conf.d/10-mail.conf
 
mail_location = maildir:~/Maildirvalid_chroot_dirs = /home
プロトコルの設定
# vi /etc/dovecot/dovecot.conf
protocols = imap lmtp
listen = * 
・新規ユーザーのメールボックス作成
# mkdir -p /etc/skel/Maildir/{new,cur,tmp} # chmod -R 700 /etc/skel/Maildir/ 
新規ユーザーの追加# useradd -s /sbin/nologin ユーザー名# passwd ユーザー名
DBへの登録とSMTPパスワード設定
# saslpasswd2 -u mail.example.com ユーザー名
DBから削除する場合
# saslpasswd2 -u mail.example.com -d ユーザー名
設定の確認# sasldblistusers2  > ユーザー名@mail.example.com: ユーザーパスワード
認証DBの所有権変更
# chgrp postfix /etc/sasldb2 
既存ユーザーのメールボックスの設定# mkdir /home/ユーザー名/Maildir# chmod 700 /home/ユーザー名/Maildir# chown ユーザー名:ユーザーグループ /home/ユーザー名/Maildir
postfix起動# /etc/rc.d/init.d/postfix start# chkconfig postfix on# chkconfig –list postfix   > postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
dovecot起動
# /etc/rc.d/init.d/dovecot start
Dovecot Imap を起動中: [ OK ]
# chkconfig dovecot on
# chkconfig –list dovecot

dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptablesでメールが送受信出来るように設定
SMTP:TCP:25
SMTPS:TCP:465
IMAPS:TCP:993 
・STARTTLSとover SSLの違い
TARTTLSSMTPPOP3で通信を始めて途中でSSLに切り換える方式
SMTPPOP3 over SSLは最初からSSLによって
SMTPPOP3を「くるんだ」状態で通信を始める方式
DNS設定
宛先がXXX@example.comのメールはmail.example.comサーバへ送るように設定
#vi /var/named/chroot/var/named/XXXX.zone
         IN MX 10 mail.example.com.
mail IN A         XXX.XXX.XXX.XXX
mail.example.comでもexample.comでもメールが送れる理由
メールは複数のメールサーバを経由して目的のユーザーのメールボックスに送られる。
中継するサーバは配送先のメールサーバを宛先のメールアドレスから判断する。
DNSを使用して配送先のメールサーバを検索する。
DNSのMXレコードを利用して、
メールアドレスの[@]よりも後ろのドメイン名をキーにして
MXレコードを検索して配送先のメールサーバを知ることが出来る。
下記の場合は、mail.example.comのメールサーバへ転送する
example.comをキーにしてMXレコードを引く。
②MXレコードに含まれているサーバのAレコードとネームサーバのAレコードを引く。
③そのAレコードを頼りに配送先のサーバへ転送する。

2013/08/16

メールのメモ

メール送受信の概念を自分なりにちょっとしたまとめ
各Agentの説明
MUA
メールを送信したり受信したりするクライアントソフト
ex:outlook,thunderbirdなど
MSA
MUAからメールの送信を受け取る前に認証するプログラム
ex:SMTP-AUTH,POP before SMTP
MTA
メールを実際に転送(送受信)するプログラム
MSAや他のMTAからのメールを受取って、他のMTAやMDAへ転送するプログラム
DNSで提供されるMXの情報を用いて宛先を決定する
ex:postfix,qmail,sendmail
MDA
MTAからメールを受取ってユーザーそれぞれのメールボックスに保存するプログラム
ex:postfix,qmail.sendmail,procmail,maildrop
MRA
MUAがメールボックスからメールを読み出すときに接続するプログラム
ex:POPサーバ,IMAPサーバ,Dovecot
※submissionポートについて
スパム対策として各ISPsmtpポートを25番から587番に変更。
同じISP内でのメール送信はポート25番でも587番へ送信でもok。
送信元のISPと転送先や宛先のISPが違う場合はポート587番へ送信。
転送元と転送先のISPが別でもMTAからMTAの転送はポート25番を使用。
例1:ISP1のカツオのMUAからISP4のポート25番へメールの転送はブロックされる。
例2:ISP4のサザエのMUAからISP4のポート25番へのメール送信は出来る。
例3:ISP4のMTAからISP5のMTAへのメール転送は出来る。







フネ->波平
①フネから波平へMUAを使ってメールを送る
②MSAでフネの認証を行う
③宛先はこのISP4内のサーバのためMDAへ転送する
④波平のメールボックスに入れる
フネ->ワカメ
①フネからワカメ宛にMUAを使ってメールを送る
②MSAでフネの認証を行う
③宛先がISP5内のサーバのためそのMTAへ転送する。
MDAへ転送してワカメのメールボックスに入れる
波平
MUAを使ってMRAへ接続する
②新着メールをメールボックスから取り出す
③フネからのメールを読む
ワカメ
MUAを使ってMRAへ接続する
②新着メールをメールボックスから取り出す
③フネからのメールを読む


SSLのメモ

SSL/TLSの概念を自分なりにちょっとしたまとめ
・インターネット上で情報を暗号化して送受信するプロトコルの1つ









①クライアントからサーバへ接続要求を出す
②サーバは公開鍵を含むサーバ証明証をクライアントに送る
サーバ証明書を確認する
④CA電子署名Webブラウザ内蔵の公開鍵で復号化して
 サーバの身元保証と公開鍵の改ざんがないことを確認する
⑤自己署名であればWebブラウザ内蔵の公開鍵がないので
 サーバの身元保証と公開鍵の改ざんがないかわからないので警告が出る
⑥暗号化通信用の共通鍵を作成する
⑦サーバの公開鍵で⑥の共通鍵を暗号化する
⑧暗号化した共通鍵を送る
⑨サーバの秘密鍵で送られてきた共通鍵を復号化する
⑩共通鍵で暗号化通信開始
⑪通信終了後は共通鍵を破棄する
※ハイブリッド暗号化方式
秘密鍵と共通鍵を組み合わせた方法で暗号化すること

2013/08/15

電子証明書のメモ

証明書の概念を自分なりにちょっとしたまとめ
・証明書でできること
Aさん本人が送ったことを証明し
そのデータが偽造・改ざんされていないことを証明する 。















電子証明書の作成
①Aさんが秘密鍵と公開鍵のペアを作成する
②③認証局(CA)にAさんの公開鍵とAさんの情報を提出する
認証局がAさんの情報が正しいか確認する
⑤Aさんの情報に問題なければ認証局秘密鍵
 Aさんの公開鍵とAさんの所有者情報にそれぞれ電子署名する
 Aさんの電子証明書の完成
データ送信
送りたいデータをハッシュ関数を使ってハッシュ値を出す
Aさんの秘密鍵を使用してハッシュ値を暗号化して署名する
データとAさんの証明書との署名をセットで送信する
データを受信
認証局電子署名認証局の公開鍵を使って
 Aさんの公開鍵と所有者情報の有用性を確認。
有用性が確認できたらAさんの公開鍵を使って
 データの電子署名を復号化してハッシュ値を取り出す
受信したデータをハッシュ関数ハッシュ値を出して
ハッシュ値を比較して一致するか確認する
電子署名とは
データをハッシュ関数を 使ってハッシュ値を出して
それを秘密鍵で暗号化したもの
・ハッシュとは
データをハッシュ関数という 変換アルゴリズムを使って
一定の長さに変換したもの。
データ内容が変わると 大幅にハッシュ値が変わるため
改ざんされているかどうか確認ができる

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

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