标签: firewall

如何使iptables无状态?

我正在运行一个 Linux 服务器 - 不时 - 面临沉重的负载和 conntrack 表溢出。由于它的 iptables 防火墙规则集非常简单,我想将其转换为无状态模式。我知道 iptables 可以在有状态连接跟踪模式和无状态模式下运行。

我的防火墙规则都已就绪 我很确定它们是无状态的,但我的问题是如何验证防火墙是否真的在无状态模式下运行?

linux firewall iptables

19
推荐指数
3
解决办法
2万
查看次数

3,4 层防火墙能做什么而第 7 层不能?

我正在考虑与 VPS 上托管站点的安全供应商合作,但我很难理解某些内容。(是的,我知道这是 OSI 术语,有问题的网站是基本的牙科和医疗实践网站,没有电子商务和私人信息(SSN 等)。

他们的基本计划有一个第 7 层防火墙(我知道那是 HTTP、HTTPs 等),但他们的高级计划也有第 3,4 层覆盖(我知道那是 IP 和 TCP/UDP)。

1)我不明白的是大局——仅第 7 层的防火墙会忽略第 3/4 层的问题吗?是否跳过数据包检查?

2) 如果是这样,如果您已经部署了第 7 层,那么第 3/4 层防火墙的必要性有多大?

如果有我可以阅读的书籍或资源来理解这一点,那也很棒。我想在购买之前了解我在做什么!

website firewall

19
推荐指数
1
解决办法
3万
查看次数

如何在 Centos7 上使用防火墙删除对端口的访问?

如果使用 firewall-cmd 打开一个端口供公众使用,我想将此端口限制为特定 IP,我在此SITE上找到了答案。

我使用以下方法打开它:

$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)

现在使用我发现的信息中的信息,我想将此端口的访问权限限制为特定的 IP 地址。我是否需要先从公共访问中删除此端口?

或者我可以按如下方式添加新规则,这样就能解决我的问题吗?

$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
  rule family="ipv4"
  source address=”123.1.1.1"
  port protocol="tcp" port="10050" accept'
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)

但是当我运行以下命令时:

$ firewall-cmd --list-ports 
Run Code Online (Sandbox Code Playgroud)

10050/tcp 仍然显示。

请理解我对服务器端配置不太熟悉。

解决方案:不要忘记--runtime-to-permanent

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 
Run Code Online (Sandbox Code Playgroud)

firewall port centos7

19
推荐指数
2
解决办法
12万
查看次数

如何在 Ubuntu 上设置简单的防火墙?

有人可以通过配置示例给出一些简单的步骤如何在 Ubuntu 上设置简单的防火墙(仅使用控制台)?只应允许 ssh、http 和 https 访问。

linux ubuntu firewall

18
推荐指数
3
解决办法
1万
查看次数

UFW评论现有规则?

我正在尝试评论现有的 ufw 防火墙规则,但找不到确切的命令

我可以轻松添加带有评论的规则,例如:

sudo ufw allow in on eth0 to any port 80 comment 'test'
Run Code Online (Sandbox Code Playgroud)

但是如何评论现有规则?

firewall ufw

18
推荐指数
3
解决办法
2万
查看次数

使用单个公共 IP 地址在 NAT 后面暴露多个服务器

这是一个关于 NAT 和 DNS的规范问题

我目前正在尝试建立一个带有 DMZ 的网络,该网络包含一个 Web 服务器和一个电子邮件服务器,通过网络地址转换 (NAT) 防火墙与 Internet 分开。

我已经安装了具有以下接口的 NAT 防火墙:

WAN - x.x.x.x (redacted public IP address)
DMZ - 192.168.124.5/24
LAN - 192.168.123.5/24
Run Code Online (Sandbox Code Playgroud)

在我的 DMZ 上,我有两个主机:

Web server - 192.168.124.30
E-mail server - 192.168.124.32
Run Code Online (Sandbox Code Playgroud)

我知道我需要为example.com域配置 DNS来解析example.com和解析mail.example.com公共 IP 地址。

我希望我的 NAT 防火墙将所有传入请求转发到example.com位于 192.168.124.30 的 Web 服务器,并将所有传入请求转发到mail.example.com位于 192.168.124.32 的电子邮件服务器。我在 NAT 防火墙的配置中看到了“端口转发”功能,但似乎无法实现我正在寻找的功能。

networking domain-name-system firewall nat

17
推荐指数
2
解决办法
4万
查看次数

如何通过 ssh 连接到我无法直接访问的服务器?

语境

我正在运行 Ubuntu Desktop 作为我的主要机器,我将其称为 D。我想通过 ssh 连接到服务器 S,但防火墙阻止了我。

我可以通过非常繁琐的路径访问服务器 S,涉及 Windows 虚拟机和PuTTY。这使得使用此服务器非常烦人:完全不同的环境,复制/粘贴不起作用,连接到桌面时我无法正确使用桌面(Alt-Tab 被虚拟机破坏)等

我已经验证我可以从服务器 S ssh 到我的台式机 D(与我需要的相反)。

我能否以某种方式从服务器启动“端口转发”或类似功能,以便我可以从我的桌面 ssh 到服务器?

firewall ssh port-forwarding

17
推荐指数
2
解决办法
3069
查看次数

禁用 Windows Server 网络位置

我不确定这个功能到底叫什么。但在 Windows Server 2008 中,它具有 Vista 公共/私人/域位置。这对笔记本电脑很有意义,而对于服务器则毫无意义。

我的问题是有时某些网络适配器决定它们现在位于公共网络上。这完全激活了防火墙,即使对于“域”网络也是如此。所以最终效果是我重新启动了一些机器,然后它们永远不会回到网络上,直到我们 KVM 进入并告诉它网络是私有的。

这个功能叫什么名字?是否有 GP 设置可以用来关闭它并使所有网络成为“域”?

编辑:谢谢,这就是 NLA。我尝试在非域机器上禁用该服务,它只是将所有内容都公开。在域计算机上,网络列表服务拒绝停止——我将尝试组策略。

networking windows windows-server-2008 firewall group-policy

16
推荐指数
2
解决办法
4万
查看次数

用于大规模环境的 iptables 管理工具

我所在的环境是一个大规模的网络托管操作(管理着数百台服务器,几乎所有的公共地址等等——所以任何谈论管理 ADSL 链接的事情都不太可能运行良好),而且我们重新寻找能够轻松管理核心规则集(目前 iptables 中大约 12,000 个条目)以及我们为客户管理的基于主机的规则集的东西。我们的核心路由器规则集每天更改几次,而基于主机的规则集可能每月更改 50 次(跨所有服务器,因此每个月每五台服务器可能更改一次)。

我们目前正在使用 filtergen(一般来说是球,在我们的运营规模上是超级球),我过去曾在其他工作中使用过 shorewall(这比 filtergen 更可取,但我认为必须有比这更好的东西)。

我们为任何更换系统提出的“必须”是:

  • 必须相当快地生成规则集(在我们的规则集上运行 filtergen 需要 15-20 分钟;这太疯狂了)——这与下一点有关:
  • 必须生成一个 iptables-restore 样式文件并一次加载,而不是为每个规则插入调用 iptables
  • 在规则集重新加载时,不得长时间关闭防火墙(同样,这是上述问题的结果)
  • 必须支持 IPv6(我们不会部署任何与 IPv6 不兼容的新东西)
  • 必须不含 DFSG
  • 必须使用纯文本配置文件(因为我们通过版本控制运行所有内容,并且使用标准的 Unix 文本操作工具是我们的 SOP)
  • 必须同时支持 RedHat 和 Debian(首选打包,但至少不能公开反对任一发行版的标准)
  • 必须支持运行任意 iptables 命令的能力,以支持不属于系统“本地语言”的功能

任何不符合所有这些标准的都不会被考虑。以下是我们的“好东西”:

  • 应该支持配置文件“片段”(也就是说,你可以把一堆文件放到一个目录中,然后对防火墙说“在规则集中包含这个目录中的所有内容”;我们广泛使用配置管理,希望使用这个功能来自动提供特定于服务的规则)
  • 应该支持原始表
  • 应该允许您在传入数据包和 REJECT 规则中指定特定的 ICMP
  • 应该优雅地支持解析为多个 IP 地址的主机名(我们已经用 filtergen 遇到过几次这个问题;这是一种相当痛苦的屁股)
  • 该工具支持的可选/奇怪的 iptables 功能(本地或通过现有或易于编写的插件)越多越好。我们时不时地使用 iptables 的一些奇怪的功能,而且“正常工作”的功能越多,对每个人都越好。

linux firewall iptables

16
推荐指数
1
解决办法
7333
查看次数

用于基本 HTTP(s) 网络服务器的安全标准 iptables 规则集

我一直在尝试组合一个基本的服务器 iptables 脚本,该脚本适用于大多数使用 HTTP(S) 和 SSH(端口 80、443 和 22)运行基本网络服务器的站点。毕竟,大多数VPS只需要这些起始端口规则,以后可以根据需要添加邮件或游戏端口。

到目前为止,我有以下规则集,我想知道是否有人知道更好的脚本或可以添加的任何改进。

*filter

#  Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

#  Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allows all outbound traffic
#  You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

# Allows HTTP and HTTPS …
Run Code Online (Sandbox Code Playgroud)

security linux firewall iptables best-practices

16
推荐指数
1
解决办法
3万
查看次数