非常基本的问题:如何在 IPTABLES 上预置规则而不是 APPEND?
DROP
我的规则底部有声明。我有一个添加新规则的软件,但是在DROP
语句之后添加规则并不好。每次我想添加新规则时,我都必须刷新表(效率低下)。
有没有办法预先添加规则,即,将规则添加到表格的顶部而不是底部?
非常感谢。
我正在安装直接连接到 Internet 的 Debian 服务器。显然,我想让它尽可能安全。我希望你们/女孩添加您的想法来保护它以及您使用的程序。
我希望这个问题的一部分涵盖您将什么用作防火墙?只是手动配置iptables还是您使用某种软件来帮助您?最好的方法是什么?阻止一切并只允许需要的东西?是否有适合这个主题的初学者的好教程?
您是否更改了 SSH 端口?您是否使用Fail2Ban 之类的软件来防止暴力攻击?
源 NAT、目标 NAT 和伪装之间有什么区别?
例如,我认为 IP Masqurading 是他们过去在 Linux 中的称呼?但令我困惑的是,在我们的 Astaro 防火墙中,有 IP Masquarading 和 NAT 选项。所有这些有什么区别?
愚蠢的问题:
Windows 上是否有相当于 iptables 的工具?我可以通过 cygwin 安装一个吗?
真正的问题:我如何在 Windows 上完成我可以通过 iptables 完成的任务?只是寻找基本的防火墙功能(例如阻止某些 IP 地址)
我敢肯定 Linux 系统管理员非常熟悉包过滤框架iptables
的用户界面netfilter
。
现在,这个“问题”旨在成为一个社区维基,用于收集各种iptables
智慧。没有什么是太普通或太晦涩的。发布您知道的任何可以帮助他人充分利用iptables
.
服务器上防火墙的一部分:
iptables -A INPUT -p tcp --dport 22 -m state NEW --state -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 100 --hitcount 10 -j DROP
Run Code Online (Sandbox Code Playgroud)
当我在线搜索时,我总是看到该规则中使用了 NEW,但我很难理解为什么没有使用 ESTABLISHED 和 RELATED。
像这样 :
iptables -A INPUT -p tcp --dport 22 -m state NEW,ESTABLISHED,RELATED --state -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -m recent --update --seconds 100 --hitcount 10 -j DROP
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释什么时候新数据包完全变为 ESTABLISHED 和 RELATED …
再说一遍,我们都会犯错,而我刚刚犯了一个。
简史:当我注意到一些奇怪的行为时,我正在租用的 VPS (Debian) 上做一些事情。使用该netstat
命令,我看到了一个通过 SSH 的非授权连接。我不知道该怎么办,所以我决定使用iptables
以下命令关闭他的连接:
iptables -A INPUT -p tcp --dport ssh -s IP -j DROP
Run Code Online (Sandbox Code Playgroud)
但我累了,我写了
iptables -A INPUT -p tcp --dport ssh -j DROP
Run Code Online (Sandbox Code Playgroud)
我把自己(和其他人)踢出去了......
我该如何解决?
我为我工作的公司管理一些基于云的 (VPS) 服务器。
服务器是运行 LAMP 堆栈/入站数据收集 (rsync) 位的最小 ubuntu 安装。数据很大但不是个人的、财务的或类似的东西(即不是那么有趣)
显然,在这里人们永远在询问配置防火墙之类的问题。
我使用了很多方法来保护服务器,例如(但不限于)
我有丰富的 unix sys admin 经验。我相信我知道我在我的设置中做什么。我配置 /etc 文件。我从来没有觉得有必要安装防火墙之类的东西:iptables 等。
暂时搁置 VPS 的物理安全问题。
问?我无法决定我是天真还是 fw 可能提供的增量保护值得学习/安装以及服务器上的额外复杂性(包、配置文件、可能的支持等)。
迄今为止(触摸木头)我从未遇到过任何安全问题,但我也不对此自满。
我想将所有流量从端口 443 重定向到内部端口 8080。我正在为 iptables 使用此配置:
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp \
--dport 443 -j REDIRECT --to-ports 8080
Run Code Online (Sandbox Code Playgroud)
这适用于所有外部客户。但是如果我试图从同一台机器访问端口 443,我会收到连接被拒绝的错误。
wget https://localhost
Run Code Online (Sandbox Code Playgroud)
如何扩展 iptables 规则以重定向本地流量?
我的 Windows 7 RC (7100) 有问题。
我经常在 WinXP 上使用带有静态 IP 地址的交叉网线连接到具有以太网网络端口的各种工业设备(例如机器人、泵、阀门甚至其他 Windows PC)。
当我在 Windows 7 上执行此操作时,网络连接被归类为“身份不明的网络”,Networks and Sharing Center
并且公共防火墙配置文件由 Windows 强制执行。我不想更改公开资料,而是更喜欢使用家庭或工作资料。
对于家庭和工作等其他网络,我可以单击它们并更改分类。这不适用于身份不明的网络。
我的问题是这些:-
通过谷歌搜索(主要针对 vista 问题),您似乎需要确保默认网关不是0.0.0.0
. 我已经这样做了。我也尝试删除 IPv6,但这在 Windows 7 上似乎不可能。
更新
对于那些仍然有问题的人,这里是我问题的答案以及可能的原因:-
Win7 保留了您访问的网络列表(我假设,但不确定)默认网关指向的设备的 MACID。默认网关通常是网络中的固定设备(即 NAT 或路由器),因此可用于唯一地识别一个网络与另一个网络。
因此,IPv4 属性面板中的默认网关必须指向实际端点,以便窗口可以跟踪它。如果默认网关窗口末尾有设备,则会识别它并跟踪它并记住其设置。
因此,您可以欺骗 Win7 的方法是将默认网关指向您自己的 IP 地址,或者您正在与之通信的目标设备的 IP 地址。这会产生副作用,即期望目标设备开始为子网之外的 IP 目的地路由数据包。因此,Win7 上的某些应用程序将尝试与 Internet 通信,这些应用程序将传递到默认网关(返回相同的 IP 地址或不是路由器的目标设备),因此最终会超时,因为两者都不能路由数据包. 你通常可以忍受。当您将这种类型的连接与通过 WIFI 连接到互联网的真实连接混合在一起时,这会变得有点复杂。