我的目标是使用 Snort 设置防火墙和入侵防御系统。我有一台至少有 2 个物理网卡的备用电脑,它运行带有 Snort 防火墙的 pfSense,但这次我想自己进行设置。到目前为止,我成功地将 Debian 9 安装为具有 ssh 登录功能的无头系统(如果确实需要,我可以临时添加键盘和屏幕)。
我想从没有 Snort 的防火墙开始。
如何实现以下目标: - 是否可以将防火墙放在 IPS 电缆调制解调器路由器和 LAN 之间? ISP 路由器启用了 DHCP/NAT,但我无法关闭。 - 我想实现一个“即插即用”防火墙,我可以将其放置在中间,而无需将其变成双 NAT(我在使用 pfSense 之前就有过)。我的意思是,如果可能的话,我不想拥有不同的网络,例如。一个 192.168.xx 一个和一个例如 10.xxx 一个。 - 防火墙是无头的,通过 ssh 登录
Internet
WAN
|
|
ISP Cable Modem & Router with DCHP
gateway 192.168.0.1
|
|
[eth0]
Firewall
[eth1]
| ________ Wireless AP
| /
|_____ Switch__/_________ PC1
\
\________ ...
我尝试在 br0 上设置一个桥(通过 /etc/network/interfaces)添加 eth0 和 eth1。该网桥有一个 IP 地址,并且工作正常,我仍然可以通过 AP 从交换机后面的设备连接到互联网。所以我了解到网桥不关心IP地址......这听起来不太好用最终的snort(IPS)构建防火墙。我读过有关 iptables 和使用“物理开发”的内容。也许我被迫做双 NAT 并设置路由?问题是我不够了解什么是最好的以及如何去做。当然,我在 google 上搜索过(很多),并在 aboutdebian.org 上找到了有关代理/NAT 和防火墙的文章...但大多数文章都假设您只能拥有调制解调器,但我无法关闭 DCHP,也无法关闭配置它的范围。它始终是完整的 255.255.255.0 范围。
答案1
几乎所有现代组合的“调制解调器/路由器”都有一种方法可以将它们设置为“桥接模式”或一些等效的词汇,可以关闭所有 DCHP、IP 伪装、无线接入点和其他看起来您想做的辅助功能你自己。请参阅您的调制解调器手册或询问您的 ISP,他们是否可以:
- 为您将调制解调器重新配置为桥接模式
- 自行提供有关如何执行此操作的文档,或者
- 为您提供一个新的调制解调器,但它不那么“功能齐全”。
使用 将防火墙主机直接连接到调制解调器eth0
。它将获得一个实际的、真实的公共可路由 IP 地址。
将防火墙配置为用作eth0
公共/WAN 接口和eth1
专用/LAN 接口。您的防火墙将还作为路由器,因此您可能还希望在eth1
使用您想要使用的私有 IP 地址空间时启用 DHCP 服务。
答案2
似乎我已经找到了一个可行的解决方案......一旦你知道它,也许微不足道,但请记住我不了解linux,也不了解网络。所以,这就是我学到的: - 如果你想要“即插即用”,你需要使用桥,因为它只是传递交通。您可以设置路由器,但防火墙后面的内容需要不同的 LAN(例如 10.xxx 而不是 192.168.xx)。我最终还会使用双 NAT,并需要运行 DHCP 服务器来为路由器/防火墙后面的所有设备提供 IP 地址。所以,这就是我选择桥的原因:无需更改现有设置,只需将桥放在中间即可。
现在,可以使用 IPTABLES 来在网桥上启用防火墙。由于网桥不查看第 3 级(IP),而仅查看第 2 级(MAC 地址/以太网帧),我发现需要使用 iptables 扩展“physdev”。关于它的手册页给了我一些信息。
到目前为止,我能够阻止 ping 或端口 80; 443等只是为了测试....但它证明这样可以解决问题。重要的是使用 FORWARD 链。例如:
iptables -A FORWARD -m physdev --physdev-in eth0 --physdev-out eth1 -p icmp --icmp-type echo-request -j DROP
接下来要了解的事情: - 如何阻止 IPV6...不确定是否需要向 IP6TABLES 添加规则或只是在主机上将其全部禁用。在我的内部 LAN 中,仅需要 IPV4 地址。如果我阻止/不使用 IPV6,我会错过任何东西吗? - 查看 eptables - 进入 Snort
...但我觉得我已经到达了我想去的地方。