サーバソフトウェア

OpenVPNサーバ構築2

 

3)OpenVPN設定

□ OpenVPN設定
  ルーティングモードでの設定
  使用仮想インターフェースは【tun0】 


□ サーバー側OpenVPN設定
  ・TLS認証鍵の作成

# openvpn --genkey --secret /etc/openvpn/ta.key

  ・OpenVPN設定ファイルをサンプルより取得

# cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/

  ・OpenVPN設定ファイルの編集
   以下を確認・追加する

protp tcp

dev tun VPNインタフェースとしてTUNを指定(デフォルト)
server 10.8.0.0 255.255.255.0 VPNクライアント割当てアドレス範囲として10.8.0.0/24を指定(デフォルト)
push "route 192.168.207.0 255.255.255.0" 追加(LAN(例:192.168.1.0/24)へのルートをVPNサーバー経由にする)
tls-auth ta.key 0 # This file is secret 行頭の;を削除してコメント解除(TLS認証有効化)
user nobody 行頭の;を削除してコメント解除(OpenVPN実行権限を下げる)
group nobody 行頭の;を削除してコメント解除(OpenVPN実行権限を下げる)
log-append /var/log/openvpn.log 行頭の;を削除してコメント解除(ログを/var/log/openvpn.logに記録する)
management localhost 7505 最終行へ追加(管理インタフェースの有効化)
crl-verify crl.pem 最終行へ追加(証明書廃止リストの有効化)

□ ファイアウォール設定
  ・iptables編集

# vi /etc/sysconfig/iptables

  以下を追記

-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT

  ・設定反映

# service iptables restart

□OpenVPN起動

# /etc/rc.d/init.d/openvpn start

  ・自動起動設定 

# chkconfig openvpn on

 

 

 

 

2)CA認証局の構築

・TLS認証実現のためOpenVPNパッケージ同梱のツールを利用して
 証明書と秘密鍵を作成する。

□ CA証明書・秘密鍵の作成
  ・証明書/鍵作成用ディレクトリをコピー 

# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/ /etc/openvpn/easy-rsa

  ・証明書/鍵作成用ディレクトリへ移動

# cd /etc/openvpn/easy-rsa/

  ・各スクリプト実行権限付与

# chmod +x *

  ・証明書/鍵作成用環境変数設定ファイル編集

# vi vars

    以下を参照に編集

export KEY_COUNTRY="JP"
export KEY_PROVINCE="Yamanashi"
export KEY_CITY="Kofu"
export KEY_ORG="filesv01.itdo.jp"
export KEY_EMAIL="このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。"

   ・証明書/鍵作成用環境変数設定ファイル内容をシステムに反映

# source vars

  ・証明書/鍵作成先ディレクトリを初期化 

# ./clean-all

  ・CA証明書・秘密鍵の作成 

# ./build-ca
Generating a 1024 bit RSA private key
.............++++++
........++++++
writing new private key to 'ca.key'
-----
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) [JP]:
空Enter
State or Province Name (full name) [Yamanashi]:
空Enter
Locality Name (eg, city) [Kofu]:
空Enter
Organization Name (eg, company) [filesv01.itdo.jp]: 空Enter
Organizational Unit Name (eg, section) []: 空Enter
Common Name (eg, your name or your server's hostname) [filesv01.itdo.jp CA]: 空Enter
Email Address [このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。]:
空Enter

  ・CA証明書をOpenVPN設定ファイル格納ディレクトリにコピー 

# cp keys/ca.crt /etc/openvpn/

 □ サーバー証明書・秘密鍵の作成

# ./build-key-server server
Generating a 1024 bit RSA private key
...................................++++++
...............++++++
writing new private key to 'server.key'
-----
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) [JP]:
空Enter
State or Province Name (full name) [Yamanashi]:
空Enter
Locality Name (eg, city) [Kofu]:
空Enter
Organization Name (eg, company) [filesv01.itdo.jp]: 空Enter
Organizational Unit Name (eg, section) []: 空Enter
Common Name (eg, your name or your server's hostname) [server]: 空Enter
Email Address [このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。]:
空Enter
 
Please enter the following 'extra' attributes   
to be sent with your certificate request  
A challenge password []: 空Enter
An optional company name []: 空Enter
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName      :PRINTABLE:'JP'
stateOrProvinceName     :PRINTABLE:'Yamanashi'
localityName     :PRINTABLE:'Kofu'
organizationName     :PRINTABLE:'centossv01'
commonName     :PRINTABLE:'server'
emailAddress      :IA5STRING:'このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。'
Certificate is to be certified until Sep 14 19:41:16 2017 GMT (3650 days)
Sign the certificate? [y/n]:y y応答
1 out of 1 certificate requests certified, commit? [y/n]y y応答
Write out database with 1 new entries  
Data Base Updated

  ・サーバ証明書をOpenVPN設定ファイル格納ディレクトリにコピー

# cp keys/ca.crt /etc/openvpn/

  ・サーバ秘密鍵をOpenVPN設定ファイル格納ディレクトリにコピー

# cp keys/server.key /etc/openvpn/

□ DH(Diffie Hellman)パラメータ作成
  ・DHパラメータ作成 

# ./build-dh

  ・DHパラメータをOpenVPN設定ディレクトリにコピー

# cp keys/dh1024.pem /etc/openvpn/