有没有办法configuration一个OpenVPN服务器,以便限制通过操作系统连接到它的客户端?
我们目前使用OpenVPN服务器将我们的笔记本电脑连接到AWS上的服务器(在VPC中运行)。 我们的客户要求我们禁止从移动设备进行VPN访问,因此我们希望阻止Android,iOS和Windows Phone客户端。
OpenVPN协议是OS不可知的。 没有客户端操作系统信息被传递到服务器。
因此,如果您有权访问OpenVPN服务器,则可以使用Passive OS Fingerprinting来阻止请求。 和osf白名单您的桌面操作系统。
我打算为Centos写这篇文章,因为它是我使用它的时候。 您正在安装应用程序nfnl_osf,然后安装OpenBSD的指纹签名数据库以帮助匹配机器。
yum -y install libpcap libpcap-devel iptables-utils wget http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/pf.os?rev=1.27 -O /usr/libexec/iptables/pf.os nfnl_osf -f /usr/libexec/iptables/pf.os
在我们把它们都设置好以后,我们把数据库导入iptables,然后运行下面的iptables命令来运行检查。
iptables -I INPUT -j ACCEPT -p udp --dport 1194 -m osf --genre Windows --log 2 --ttl 2 iptables -I INPUT -j ACCEPT -p udp --dport 1194 -m osf --genre Mac --log 2 --ttl 2 iptables -A INPUT -p udp --dport 1194 -j DROP
希望有所帮助!