ライン

ポイント:*

ライン

 はじめに

Centos 6.5

 SoftEtherはしばらく利用していませんでしたが、欲しいという話だったので1台作ることにしました。
FreeBSDでも動作するのですが、今回はCentOSで作ることにしました。

 インストール

VMware HypervisorにOSをインストール

 ゲストOSにCentOS 6.5を追加します。
この辺りの作業は割愛です。

 とりあえず、NICは外と内の2つを準備しました。
/etc/sysconfig/network-scripts/ifcfg-eth0 に外側のIPアドレス関連を設定し、service network restartで有効化。
接続元を限定するために、/etc/hosts.deny で全拒否を設定。/etc/hosts.allowでsshdの許可元を設定。

# yum update

により、各パッケージを更新しておきました。

次に、もう少し閉じておきたいポートを確認します。
現状は、

# netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:60804               0.0.0.0:*                   LISTEN
tcp        0      0 :::111                      :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 ::1:631                     :::*                        LISTEN
tcp        0      0 ::1:25                      :::*                        LISTEN
tcp        0      0 :::51172                    :::*                        LISTEN

のようになっているものらしい。
631ってプリンタ?

# chkconfig --list|grep cups
cups            0:off   1:off   2:on    3:on    4:on    5:on    6:off

そういうものなんだね。

# chkconfig cups off
# yum remove cups

のように、いらないものを削っておきました。
25はPostfixだな。これは怖い状態になっているとは思えないし、そのままにしておいた。

# netstat -anp|grep 111
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      980/rpcbind
tcp        0      0 :::111                      :::*                        LISTEN      980/rpcbind
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               980/rpcbind
udp        0      0 :::111                      :::*                                    980/rpcbind
unix  2      [ ]         DGRAM                    11133  998/rpc.statd
# chkconfig rpcbind off

これで、良しと。さて、何にしてもrootでsshログインできてしまうのは気持ちが悪い。
/etc/ssh/sshd_config を編集して、sshdのサービスを再起動させれば禁止に変更になる。

PermitRootLogin no

に変更。有効にする前に、ローカルアカウントを作成。

# groupadd -g 1001 foo
# useradd -u 1001 -d /home/foo -m -s /bin/tcsh foo -g foo  -G wheel
# passwd foo

に変更。有効にする前に、ローカルアカウントを作成。

# service sshd restart
sshd を停止中:                                             [  OK  ]
sshd を起動中:                                             [  OK  ]

以降rootでログインすることができなくなりました。
作成した側のアカウントでは問題なしです。suでrootになれることも確認しました。

さて、ここからは好ましくない設定です。rootのパスワードを知らずともrootになれるようにする設定です。
設定されないことがお勧めです。

# visudo

以下の行(下の行)をコメントをはずしてしまいます。

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

では、昇格してみます。

$ sudo su -

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for foo:

パスワードには、自分のアカウントパスワードを入力します。
これでrootになれてしまいました。好ましくは無いので、イントラ系のサーバなので許容される場合にはどうぞって感じでしょうか。
また、wheelグループ以外にはrootになれない設定も有効化しておきます。

# vi /etc/pam.d/su

pam_wheel.so use_uidの行のコメントを外しておきましょう。
これは、FreeBSDだったらデフォルトです。rootログインできないことも同様ですが。

さて次は、毎度のSELinuxの無効化。

# setenforce Permissive
# vi /etc/sysconfig/selinux 

SELINUX=disabled にして、完了。ここはセキュリティ弱めても使い勝手優先方針にしました。

最後は、ファイアウォール設定。
/etc/sysconfig/iptablesで

:INPUT DROP [0:0]
:FORWARD DROP [0:0]

に変更し、

# service iptables restart
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
iptables: ファイアウォールルールを適用中:                  [  OK  ]

として、気持ち堅牢になった気分です。
OSのインストールはこんなところにしました。

パッケージのインストール

 やっと、本題開始です。

SoftEther VPN を UNIX 上でビルドする方法を参照します。
また、9.3 Linux へのインストールと初期設定 - SoftEther VPN プロジェクトの「9.3.6 VPN Bridge の配置」を見ます。

# yum -y groupinstall "Development Tools"
# yum -y install readline-devel ncurses-devel openssl-devel

次にパッケージをダウンロードします。

# wget http://jp.softether-download.com/files/softether/v4.06-9437-beta-2014.04.09-tree/Linux
/SoftEther%20VPN%20Bridge/64bit%20-%20Intel%20x64%20or%20AMD64
/softether-vpnbridge-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz
--2014-05-04 11:54:50--  http://jp.softether-download.com/files/softether/v4.06-9437-beta-2014.04.09-tree/Linux/SoftEther
%20VPN%20Bridge/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnbridge-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz
jp.softether-download.com をDNSに問いあわせています... 130.158.75.49
jp.softether-download.com|130.158.75.49|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 5336981 (5.1M) [application/x-gzip]
`softether-vpnbridge-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz' に保存中

100%[======================================>] 5,336,981   2.61M/s 時間 2.0s

2014-05-04 11:54:52 (2.61 MB/s) - `softether-vpnbridge-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz' へ
保存完了 [5336981/5336981]

入手できたファイルを解凍します。

# tar pzxvf softether-vpnbridge-v4.06-9437-beta-2014.04.09-linux-x64-64bit.tar.gz
vpnbridge/
vpnbridge/Makefile
vpnbridge/.install.sh
vpnbridge/ReadMeFirst_License.txt
vpnbridge/Authors.txt
vpnbridge/ReadMeFirst_Important_Notices_ja.txt
vpnbridge/ReadMeFirst_Important_Notices_en.txt
vpnbridge/ReadMeFirst_Important_Notices_cn.txt
vpnbridge/code/
vpnbridge/code/vpnbridge.a
vpnbridge/code/vpncmd.a
vpnbridge/lib/
vpnbridge/lib/libcharset.a
vpnbridge/lib/libcrypto.a
vpnbridge/lib/libedit.a
vpnbridge/lib/libiconv.a
vpnbridge/lib/libintelaes.a
vpnbridge/lib/libncurses.a
vpnbridge/lib/libssl.a
vpnbridge/lib/libz.a
vpnbridge/lib/License.txt
vpnbridge/hamcore.se2
# cd vpnbridge
# make
--------------------------------------------------------------------

SoftEther VPN Bridge (Ver 4.06, Build 9437, Intel x64 / AMD64) for Linux Install Utility
Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved.

--------------------------------------------------------------------


Do you want to read the License Agreement for this software ?

 1. Yes
 2. No

Please choose one of above number:
1
..
Did you read and understand the License Agreement ?
(If you couldn't read above text, Please read 'ReadMeFirst_License.txt'
 file with any text editor.)

 1. Yes
 2. No

Please choose one of above number:
1

Did you agree the License Agreement ?

1. Agree
2. Do Not Agree

Please choose one of above number:
1

これで導入が完了します。

# cd ..
# mv vpnbridge /usr/local/
# cd /usr/local/vpnbridge/
# chmod 600 *
# chmod 700 vpncmd
# chmod 700 vpnbridge

引き続き、動作確認です。

# ./vpncmd
vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ
SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
Version 4.06 Build 9437   (Japanese)
Compiled 2014/04/09 10:10:41 by yagi at pc25
Copyright (c) SoftEther VPN Project. All Rights Reserved.

vpncmd プログラムを使って以下のことができます。

1. VPN Server または VPN Bridge の管理
2. VPN Client の管理
3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)

1 - 3 を選択:3

VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。

VPN Tools>check
Check コマンド - SoftEther VPN の動作が可能かどうかチェックする
---------------------------------------------------
SoftEther VPN 動作環境チェックツール

Copyright (c) SoftEther VPN Project.
All Rights Reserved.

この動作環境チェックツールを実行したシステムがテストに合格した場合は、SoftEther VPN ソフトウェアが動作する可能性が高いです。チェ ックにはしばらく時間がかかる場合があります。そのままお待ちください...

'カーネル系' のチェック中...
              [合格] ○
'メモリ操作系' のチェック中...
              [合格] ○
'ANSI / Unicode 文字列処理系' のチェック中...
              [合格] ○
'ファイルシステム' のチェック中...
              [合格] ○
'スレッド処理システム' のチェック中...
              [合格] ○
'ネットワークシステム' のチェック中...
              [合格] ○

すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。

コマンドは正常に終了しました。

VPN Tools>exit

問題ありませんでした。
では、これを自動で動作するようにします。ページにあるスクリプトそのままで良いと思います。

# chmod 555 /etc/init.d/vpnbrigde
# chkconfig --add vpnbrigde
# chkconfig vpnbrigde on
# service vpnbrigde start

これでインストールを終えました。

【改訂履歴】作成:2014/05/04

【参考リンク】

Copyright © 1996,1997-2006,2007- by F.Kimura,