VineLinux6.1をPPTPサーバーにしてみた

NO IMAGE

PPTP等で使われているMS-CHAP v2には脆弱性があり
JPCERT MS-CHAP v2 の認証情報漏えいの問題に関する注意喚起
PPTPではモロに影響しますが
今回は接続されても内部のネットワークから分離されている部分への接続なので
とりあえず目をつむります
今後は他の方法も試してみようと思いますが
とりあえず一番簡単そうだったのでやってみます
poptop自体が古いので若干修正する必要があります
pppが必要なので入っていない場合は
apt-get install ppp
インストールしておきます
まずダウンロードします
wget http://downloads.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz
次に解凍します
tar xvzf pptpd-1.3.4.tar.gz
次にspecファイルを書き換えます
vi pptpd-1.3.4/pptpd.spec
(echo ‘#undef VERSION’; echo ‘#define VERSION “2.4.3”‘) >> plugins/patchlevel.h
この2.4.3の部分を書き換えます
VineLinux6.1のpppは2.4.5なのでそれに書き換えます
pppが2.4.3の場合はそのままでOK
これで使えるソースになりました
再びアーカイブします
tar zcvf pptpd-1.3.4.tar.gz pptpd-1.3.4
でもってRPMパッケージにします
rpmbuild -ta --target x86_64 pptpd-1.3.4.tar.gz
これでパッケージが出来上がります
インストールします
rpm -ivh pptpd-1.3.4-1.x86_64.rpm
設定を変えていきます
vi /etc/pptpd.conf
自分の環境に合わせて以下のように設定します
localip 192.168.0.254
remoteip 192.168.0.234-238,192.168.0.245
localipがサーバーのIPでremoteipで接続してきたものに割り当てるIPを指定します
vi /etc/ppp/options.pptpd
適当に名前をつけます
name pptpd
DNSサーバーのアドレスを指定します
ms-dns 192.168.0.254
vi /etc/ppp/chap-secrets
“ユーザー名” “options.pptpdに設定した名前” “パスワード” *
起動します
/etc/init.d/pptpd start
ファイアーウォールに穴を開けます
$IPTABLES -A ppp-in -p tcp --dport 1723 -j ACCEPT
$IPTABLES -A ppp-in -p 47 -j ACCEPT
こんな定義をiptablesに追加します
tcpのport 1723
プロトコルGRE(47)
これらを通過させます
接続出来ればOK