我有一个装有 GoDaddy 的 centOS 虚拟盒。默认情况下未启用防火墙。
重点是:我想设置常规防火墙。但是,我将 SSH 和 FTP 端口修改为自定义端口,而不是默认端口。当我运行 system-config-securitylevel-tui 时,我选择了 FTP 等...并保存了它。然后我查看了原始配置文件,它们显示了 ssh / ftp 的标准端口。所以我显然继续将这两个端口添加到自定义列表中:XXXX:tcp、XXXX:tcp 等...
我不想启用它并重新启动并最终无法访问服务器(将自己锁定)。
有人可以证实吗?
谢谢
答案1
如果你的 iptables 包含一行ACCEPT
连接状态related
并且established
你已经连接到主机,那么你将不会被锁定:
# iptables -A INPUT -m state --state established,related -J ACCEPT
如果你想极其谨慎,在测试规则时请按照我的做法去做:
# iptables-restore < iptables_rules; sleep 30; iptables-restore < clean_rules
这个想法是应用规则,等待 30 秒,然后应用一组规则以允许所有访问。执行此行时,按enter
几次,可能会发生两件事:
- 您的规则将您锁定(按下
enter
不会显示在屏幕上,因此请等待时间用完,它们将被清除; CTRL+C
如果您的规则有效,并且您可以在结束之前在屏幕上看到新的线条,sleep
那么您就很好了。
答案2
应用规则后您是否重新启动了 ssh 守护程序,如果是,那么它是否干净利落地发生了。
以下命令的输出是什么
netstat --inet -pln | grep (your SSH port)
你看到了什么
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1089/sshd
将上面的 22 替换为您的 SSH 端口。您是否在 netstat 的输出中看到 SSH 或任何其他服务正在监听您更改的端口?您更改了哪个配置文件以及您做了哪些更改?
输出是什么
iptables -L -v -n
更新
除了 coredump 所说的之外,系统管理员通常有一个计划任务在你申请的 15 分钟后,该条目会删除你的防火墙。这样,如果你在 15 分钟后真的做错了什么计划任务将刷新这些规则,然后您可以再次检查。这样,当您测试完东西后,您可以删除这个 cron 作业条目,并根据需要永久设置防火墙。