Friday, September 28, 2018

搭建HTTP/2 代理

这个月又抢到了内部的100元腾讯云代金券,听说最近流行HTTP/2 代理,快速折腾一下,主要内容都是参考这篇文章:《使用 nghttpx 搭建 HTTP/2 代理》

证书

HTTP/2 代理其实也就是HTTPS 代理了,首先需要一个证书,可以自己签,太麻烦了。腾讯云和阿里云都提供了免费的DV 证书。搞一个。

因为域名托管在DNSPOD,在腾讯云申请都无需验证,挺快的,会给一个压缩包,打开里面Nginx 子目录,拿到crt 和key 备用。

nghttpx

nghttpx 可以对外提供HTTP/2 服务,将请求转换成HTTP/1.X 转发给后端,相当于一个中间人。

安装

aptitude install nghttp2

不懂为啥ubuntu 的包名是nghttp2,然后包含三个包:

nghttp2-client
nghttp2-proxy
nghttp2-server

编辑配置文件 /etc/nghttpx/nghttpx.conf

frontend=0.0.0.0,443
backend=127.0.0.1,3128
private-key-file=/root/ssl/2_xxxxx.fangpeishi.com.key
certificate-file=/root/ssl/1_xxxxx.fangpeishi.com_bundle.crt
http2-proxy=yes
errorlog-syslog=yes
workers=1

add-x-forwarded-for=no

no-via=yes
no-ocsp=yes
tls-proto-list=TLSv1.2
ciphers=ECDHE+AES128

我是抄的上文文章中的配置,先跑起来再说。。

systemctl restart nghttpx

squid

squid 作为nghttpx 后端的透明代理,不过记住要让它监听在本地,别暴露在公网上。

apt-get install squid

编辑配置文件/etc/squid/squid.conf:

http_port 127.0.0.1:3128

cache deny all
access_log none

dns_v4_first on

via off

forwarded_for delete

auth_param basic program /usr/lib/squid/basic_ncsa_auth  /etc/squid/passwd
auth_param basic casesensitive off
acl auth_user proxy_auth REQUIRED
http_access allow auth_user

也是抄的教程中的配置。。先跑起来再说。鉴权那段下文说明。

systemctl restart squid

鉴权

暴露在公网被其他人乱跑流量总不太好,在Squid 上加一个简单的HTTP Auth。

安装 htpasswd 工具:

apt-get install apache2-utils
#-c 创建文件
htpasswd  -c  /etc/squid/passwd [用户名]

# 添加其他用户
htpasswd /etc/squid/passwd [用户名]

/etc/squid/squid.conf 添加配置,再重启即可:

auth_param basic program /usr/lib/squid/basic_ncsa_auth  /etc/squid/passwd
auth_param basic casesensitive off
acl auth_user proxy_auth REQUIRED
http_access allow auth_user

更多关于squid 的配置需求,直接参考官方文档,应该没有啥是squid 做不到了。

BBR

再顺便升下内核,开启下 BBR,听说有奇效?不过我没有做对比。。直接开启了。

参考文章:《使用标准方式在 Ubuntu 16.04 下启用 TCP 拥塞控制之 BBR》

简明步骤,来着上面这篇文章:

安装内核

apt-get install linux-generic-hwe-16.04

reboot 之后,检查内核是不是> 4.9

uname -a 

加载模块,打开参数:

modprobe tcp_bbr
echo "tcp_bbr" | tee -a /etc/modules-load.d/modules.conf

echo "net.core.default_qdisc=fq" | tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | tee -a /etc/sysctl.conf
sysctl -p

最后验证一下:

sysctl net.ipv4.tcp_congestion_control

返回结果必须是:

net.ipv4.tcp_congestion_control = bbr

使用

搞完之后,验证一下,Chrome 安装SwitchyOmega 插件,新建一份配置,协议选择HTTPS,记得填入HTTP Auth验证信息。然后选中启用,打开 whatismyip 看看IP 是不是变了。在不同的平台上要使用,找不同的客户端支持吧。

原文:https://ift.tt/2xKv2Ub



via iGFW https://ift.tt/2R86AUQ

不用证书创建简单IKEv2 PSK (pre-shared key) VPN

网上很多strongSwan服务器安装教程都是基于CA证书然后以用户名和密码登录建立IKEv2 VPN连接,但是CA证书挺麻烦的,如果这个VPN服务器只是偶尔应急使用,用Pre-Shared Key方式登录最为简便。

搭建使用PSK的IKEv2 VPN的一键脚本

curl -L https://ift.tt/2DyO5X3 -o ~/deploy.sh && chmod +x ~/deploy.sh && ~/deploy.sh

(搭建后如果可以连接但不能上网,可以设置防火墙 iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j SNAT –to-source 服务器ip)

项目地址:https://ift.tt/2xHUXvE

连接PSK类型IKEv2 VPN只需要服务器IP和PSK密钥即可。

iOS和Mac系统自带IKEv2 VPN客户端支持PSK类型IKEv2 VPN;部分安卓系统自带IKEv2 VPN功能(比如三星手机)也支持PSK类型IKEv2,不带IKEv2功能的安卓手机可以安装NCP VPN Client连接(strongSwan VPN Client好像不支持PSK类型IKEv2);Windows系统可以用NCP Secure Entry Windows Client连接(Windows系统自带IKEv2好像不支持PSK类型IKEv2)。(不过NCP的VPN客户端是收费的)。

ios的设置

 

mac的设置

带IKEv2的Android比如samsung

不带IKEv2的Android安装客户端后如图设置

Windows安装客户端后选择IKEv2模式注意图中的设置

NCP的VPN客户端下载:https://ift.tt/2NHi2YM

手动设置strongSwan服务器用PSK方式建立IKEv2 VPN连接可以参考https://ift.tt/2xIu7Uf

 



via iGFW https://ift.tt/2Dz3aaU

Wednesday, September 26, 2018

Windows (Cisco) IPsec (IKEv1) VPN安装设置教程

IPSec  VPN/Cisco IPsec VPN/IKEv1 VPN这种类型的VPN在iOS、Mac和安卓系统上是系统自带默认支持的,但是在win系统上需要安装Shrew VPN客户端来连接,一般这类VPN都是提供以下四个信息:服务器IP(域名)、IPSec预共享密钥、用户名和密码,有了这些信息就可以按照下面教程安装使用了。

步骤1

首先打开浏览器应用程序。
我们在本教程中使用了Microsoft Edge

 

 

第2步

使用此URL下载Shrew VPN客户端https
//www.shrew.net/download/vpn/vpn-client-2.2.2-release.exe

第3步

下载完成后,单击“ 运行 ”。

如果您使用其他方式下载了安装文件,请在“下载”文件夹中找到它,右键单击它并选择“ 以管理员身份运行 ”。

步骤4

如果您收到用户帐户控制的警告,请单击“  ”。

第5步

单击“ 下一步 ”。

第6步

选择“ 标准版 ”,然后单击“ 下一步 ”。

第7步

点击“ 我同意 ”。

第8步

单击“ 下一步 ”。

第9步

单击“ 下一步 ”。

第10步

单击“ 完成 ”。

第11步

安装后,VPN Access Manager将显示在您的桌面上。双击它。

第12步

单击“ 添加 ”。

第13步

在“ 常规 ”选项卡中,“ 主机名或IP地址 ”是您的服务器地址。这是您在本教程开始时从客户专区获得的凭证。
如果您不确定从哪里获取它,请向上滚动页面,您可以在那里找到相关说明。
它不是“str-XXXXXX.reliablehosting.com”,这只是一个例子。

第14步

继续“ 身份验证 ”选项卡。
对于“ 身份验证方法 ”,选择“ Mutual PSK + XAuth ”。
在“ 凭据 ”选项卡中,输入“ 预共享密钥 ”。
您可以在客户区找到此密钥,即服务器地址所在的位置。

第15步

选择“ 阶段1 ”选项卡。
将“ Exchange Type ” 更改为“ main ”。
点击“ 保存 ”。

第16步

如果收到配置警告,请单击“ 确定 ”。

第17步

选择VPN连接,然后单击“ 连接 ”。

第18步

填写“ 用户名 ”和“ 密码 ”字段,您之前获得的凭据。
“ 用户名 ”是登录,不是您的电子邮件。
您也可以在客户区找到这些凭据。

单击“ 连接 ”。

第19步

单击“ 网络 ”选项卡以检查VPN状态。

请注意:很
遗憾,此应用程序不会自动保存您的凭据。此外,请记住,如果您关闭授权表单 – 即使您已连接到VPN – 它也会断开它。这就是为什么在使用VPN时需要最小化窗口但不关闭窗口的原因。

第20步

要确定您是否已成功连接,请在网络浏览器中访问strongvpn.com并在页面顶部检查您的IP地址


完成。你有联系。

 

在Windows 10上连接IKEv1

1。打开VPN Access Manager
2。选择您的VPN连接,然后单击“ 连接 ”按钮。
3。输入用户名和密码,即可在客户区中找到的凭据。
4。单击“ 连接 ”。

在Windows 10上断开IKEv1连接

1。打开VPN Access Manager
2。选择您的VPN连接并双击它。
3。在“ 连接 ”选项卡中,单击“ 断开连接 ”。

来源:https://ift.tt/2Qd8Jxv

运行Access Manager点击File下的Preferences按照下图设置,可以让Shrew Soft VPN Connect 窗口连接后最小化到系统托盘(双击托盘图标显示)、保存VPN用户名(好像不能保存密码)和只在状态栏显示Access Manager窗口(方便连接上VPN以后直接关闭此窗口)

Shrew Soft VPN Client虽然很好用,不过其不能保存密码甚是不爽,现在我提供个让其保存密码的简单方法,在你的Shrew Soft VPN Client安装目录下找到ipsecc.exe创建一个快捷方式到桌面,然后右键此快捷方式点属性,然后运行此快捷方式就能启动VPN并无需输入密码自动连接。

注意:.exe”和-r之间有个空格,-r后面是你Access Manager里创建的VPN的连接名,-u后面是VPN用户名,-p后面是VPN密码,-a的意思是启动后自动连接VPN

VPS搭建IPsec VPN可以参考此文https://ift.tt/1S3hEKn 搭建的IPsec VPN连接稍有不同,参考此处



via iGFW https://ift.tt/2OeWjrf

Tuesday, September 11, 2018

流行 VPN 包含允许执行任意代码的安全漏洞

Cisco Talos 安全研究员报告,流行 VPN 软件 ProtonVPN 和 NordVPN 存在能导致任意代码执行的漏洞,即使它们已经打过补丁,问题仍然存在。新发现的漏洞编号 CVE-2018-3952 和 CVE-2018-4010,与今年早些时候披露的一个提权漏洞 CVE-2018-10169 相似。 ProtonVPN 和 NordVPN 今年 4 月释出了补丁修复 CVE-2018-10169 漏洞,但 Talos 的安全研究员指出,以系统管理员权限执行任意代码仍然是可能的。

来源:https://ift.tt/2wYp0y0

有报道称NordVPN、ProtonVPN都是数据挖掘公司Tesonet的蜜罐,他们的服务不推荐使用。

一般还是建议自己手动设置VPN而不是使用VPN公司的客户端软件,

常见的PPTP、L2TP/IPsec、SSTP、IKEv2、IPSec、OpenVPN、WireGuard、OpenConnect、SoftEther VPN要么是系统自带集成VPN支持,要么是官方开源客户端,比那些VPN公司自己开发的VPN客户端要安全可靠的多。



via iGFW https://ift.tt/2N50rdR