我正在遵循iptable上的教程,并希望允许ssh流量在我的非标准SSH端口= YYY上。我想你就是这样做的,但我想再检查一遍,这样我就不会把自己锁在服务器之外了。这将添加一个规则作为“输入链”的一部分(我不确定这是什么)。该规则将在port=YYY上接受ssh流量(通过允许port=YYY上的tcp流量)。对吗?
$sudo iptables -A INPUT -p tcp --dport YYY -j ACCEPT发布于 2014-03-14 01:41:59
这条规则本身不会把你锁在门外,因为它只会导致一些流量被接受。
允许流量到达YYY端口是正确的规则。确保没有更早的规则阻塞所有通信量(规则是按顺序处理的,第一次匹配适用)。运行iptables -nvL INPUT列出输入规则。INPUT是应用于传入数据包的链的名称(即规则列表)。
您可能会在此之后执行拒绝规则,以拒绝其他传入通信量。这里是你需要小心的地方。将一些防火墙端口设置为只接受本地网络连接?包含一个防火墙设置的示例,应该是合适的(但是,如果您被锁在门外,我不会去重置您的服务器,这是您自己承担的风险)。
确保您没有阻止来自服务器的输出;对于一个简单的配置,只需保留输出不受限制。
为了避免被锁在门外,一个窍门是在计时器上放一个命令,重新设置防火墙,使其完全打开。
sleep 300; iptables -I INPUT -j accept我建议从内部屏幕或tmux中执行此操作。如果直接从ssh连接执行此操作,则存在这样的风险:您运行的命令将尝试输出某些内容并失败,因为它的终端已不可用。
请注意,将SSH放在非标准端口上没有安全好处:它不会使SSH更容易受到攻击。唯一的优点是你的扫描攻击会减少,这样你的日志就不会被淹没。
https://unix.stackexchange.com/questions/119632
复制相似问题