启用内核 IP 转发的安全性

启用内核 IP 转发的安全性

我最近在一个生产 Web 服务器上启用了 IP 转发,该服务器也充当 VPN 服务器。我刚刚为自己设置的安全问题(如果有的话)是什么?我是否应该设置任何 iptables 规则来限制转发到我的 VPN 隧道?

答案1

只有当您的服务器受到威胁时,您才会遇到安全问题。进入您服务器的任何人/事物都可以访问您网络上的计算机,就好像它是服务器一样(您的计算机可能信任您的服务器)。你绝对应该有一些iptables规则!基本上,您希望 iptables 阻止从外部世界到您的防火墙的所有内容,但您的 Web 服务器端口和 VPN 服务器端口除外。

我会推荐像海岸墙这样的东西http://www.shorewall.net/为你设置这个,但有些人认为自己制定 iptables 规则更好,因为你会更多地了解正在发生的事情。

答案2

您绝对应该使用 iptables (FORWARD) 最小化该服务器的任何路由功能。

您运行哪个 VPN 服务器?您的 VPN 帐户有固定地址吗?我想您已经掌握了如何调用 iptables 的基本知识(什么选项/参数的作用是什么)?

一些示例规则可能看起来像这样,您必须将 XXXX 和变量替换为适合您的设置的合理值:

IPT=/usr/sbin/iptables
# deactivate FORWARD by default as you only want to grant access with a whitelist.
$IPT -P FORWARD DROP
# allow established connections
$IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# allow access to your VPN-server from the outside
$IPT -A INPUT -i $OUTER_INTERFACE -p XXXX --dport XXXX -j ACCEPT
# allow access to some host (-d)/protocol (-p)/destination port (--dport) from one VPN-account
$IPT -A FORWARD -i $VPN_INTERFACE -o $LAN_OR_OUTER_INTERFACE -s $IP_FROM_VPN -d $SOME_HOST -p XXXX --dport XXXX
# allow access from your LAN-network/-host to the VPN-clients
$IPT -A FORWARD -i $LAN_INTERFACE -o $VPN_INTERFACE -s $LAN_NET_OR_HOST -j ACCEPT
# allow access from the VPN to the WAN
$IPT -A FORWARD -i $VPN_INTERFACE -o $OUTER_INTERFACE -s $VPN_NET_OR_HOST -j ACCEPT

相关内容