我正在尝试在 Solaris 中设置防火墙规则,该规则应阻止外部访问端口。我可以在 linux 中使用 iptables 来实现这一点,并且也想在 solaris 中做同样的事情。
在对solaris中的ip过滤器进行一些谷歌搜索后,我发现我们必须使用类似这样的规则来更新/etc/ipf/中的ipf.conf文件。
允许来自端口的快速原型 tcp = 阻止来自任何端口的原型 tcp =
但是,出了点问题,仍然可以从外部 IP 访问该端口。
有人能告诉我如何实现我的目标吗?出了什么问题以及有哪些文档可供参考。
非常感激你的帮助。提前致谢,
谢谢和问候,斯里坎特
答案1
一个简单的规则,例如:
阻止原始 tcp 从任意端口到 192.168.0.62 端口 = 1234
将阻止端口 1234 与 IP 192.168.0.62 连接然后:
#svcs ipfilter
州时间功能磁共振成像
残疾人 May_15 svc:/network/ipfilter:默认
#svcadm 启用 ipfilter
#svcs ipfilter
州时间功能磁共振成像
在线的 11:30:08 svc:/network/ipfilter:默认
答案2
您没有注意到您正在使用哪个版本的 Solaris。
您是否考虑过使用 TCP 包装器来禁用/阻止该系统的服务?
可能有点过分了,但如果您使用的是 v11,您还可以安装 pkg 网络/防火墙(Solaris 防火墙源自 OpenBSD PF),以满足您的需求。
不确定您的规则是否有效。您可能想要显示以下输出: ipfstat -io
这将显示当前加载的规则。
这可能会在 ipf.conf 中为您提供所需的内容:
allow in quick proto tcp/udp from 127.0.0.1 to any port = <port_to_block> block in log proto tcp/udp from any to any port = <port_to_block> svcadm restart ipfilter
不确定“外部访问”是什么意思。以上将允许本地主机连接到该端口,但阻止任何其他 IP。您还可以添加规则以允许其他本地系统/子网。
您会在 Oracle 网站上找到说明如何使用 ipfilters 的文档,但由于它基于BSD 的 ipfilter,您还可以查看该文档,以及可以找到适用于 Solaris 和 BSD 的其他示例。