通过向poptop添加双因素身份验证来提高PPTP的安全性

安全问题和Poptop

PPTP在安全性方面没有最好的历史。 PPTP原来的微软实施非常糟糕 。 MS-CHAPV2解决了这些弱点 - 有线网络。 不幸的是,在2004年,Joshua Wright发布了一个版本的ASLEAP,能够在无线环境中强力攻击PPTP密码。 作为VPN的系统管理员,您无法判断用户是否通过一些可能运行像ASLEAP的工具的公共WiFi服务进行连接。 然而,PPTP客户端软件在Windows机器上的使用使得使用PPTP非常诱人。 这个问题的最佳答案是利用双因素身份验证。 如果一次性密码是强制性的,则不会再重复使用,

本文档介绍如何使用WiKID系统的双因素身份验证安装和配置开源Poptop PPTP VPN服务器。

安装Poptop

选择你的合适的回购,这里是FC6:

# rpm -Uvh http://poptop.sourceforge.net/yum/stable/fc6/i386/pptp-release-4-2.fc6.noarch.rpm
yum --enablerepo=poptop-stable install pptpd
yum install pptp

http://www.members.optushome.com.au/~wskwok/poptop_ads_howto_3.htm#pforward

为了使ppp工作,必须启用报文转发。 用你最喜欢的编辑器编辑/etc/sysctl.conf并更改行:

net.ipv4.ip_forward = 0

net.ipv4.ip_forward = 1 

该更改将在下次重新启动时生效。 立即启用:

sudo sysctl -p

我们还需要radiusclient:

yum install radiusclient

我创建了一个sym链接到/ etc / radiusclient中的微软字典:

ln -s /usr/share/freeradius/dictionary.microsoft dictionary.microsoft
编辑/ etc / radiusclient / servers并添加wikid服务器作为共享密码:
#Server Name or Client/Server pair              Key             
#----------------                               ---------------
#portmaster.elemental.net                       hardlyasecret
#portmaster2.elemental.net                      donttellanyone
your.wikidserver.com                         wikidserver_secret

请注意,默认情况下,pptpd有100个连接限制。 您可以通过pptp.conf文件中的“connections”参数来覆盖它。 阅读文件中的备注。

您需要47和1723端口才能打开pptp流量:

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p 47 -j ACCEPT

用你最喜欢的编辑器编辑/etc/pptpd.conf:

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

使用remoteip设置您的远程IP范围。

编辑/etc/ppp/options.pptp

lock
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
ms-dns 74.188.41.129
plugin radius.so

显然,插件radius.so指定我们将使用Radius。

编辑/etc/radiusclient/radiusclient.conf

auth_order      radius,local
login_tries     4
login_timeout   60
nologin /etc/nologin
issue   /etc/radiusclient/issue
authserver      your.wikidserver.com 1812 
acctserver      localhost
servers         /etc/radiusclient/servers
dictionary      /etc/radiusclient/dictionary
login_radius    /usr/sbin/login.radius
seqfile         /var/run/radius.seq
mapfile         /etc/radiusclient/port-id-map
default_realm
radius_timeout  10
radius_retries  3
login_local     /bin/login

编辑/ etc / radiusclient / servers并添加服务器和密码:

<wikid_server_ip>                                        wikidserver_secret

启动pptpd服务:

service pptpd start

配置WiKID服务器

使用WiKIDAdmin浏览器界面登录WiKID服务器,然后单击“域”选项卡(如果您已经有域设置,则可以跳过此步骤。)

点击创建一个新的域,

输入要求的信息。 域服务器代码是WiKID服务器的零填充IP地址。 因此,如果外部IP地址为216.239.51.99,则WiKID服务器代码将为216239051099.单击“创建”。

单击网络客户端选项卡和“创建新的网络客户端”。

输入要求的信息。 对于IP地址,请使用PPTP服务器的IP地址。 选择Radius和刚创建的域。 完成后点击“添加”。

在下一页,输入您在/ etc / raddb / server中输入的共享密码。 您不必在“返回属性”下输入任何信息。

重要提示:从WiKID服务器的控制台或通过SSH,您将需要运行“wikidctl restart”将新配置加载到WiKID Radius服务器中。 (WiKID 2.0用户只是运行“停止”和“开始”。)

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏