安全问题和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 pptphttp://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用户只是运行“停止”和“开始”。)