我正在使用 ansible 在我的数据库服务器上配置 ufw 以只接受从某些服务器连接到特定端口的连接(可以说1234)。
当曾经有访问权限的服务器从池中取出时,可能会忘记删除该服务器的访问规则。
我的解决方案:设置规则时,我想删除 port 的所有规则1234,然后使用当前池中的服务器重新创建它们。
不幸的是,ufw delete需要精确指定要删除的规则(端口、协议、scr IP,...)。
我尝试了类似 的解决方案ufw delete $(ufw status numbered | grep 1234 | <get all the numbers of the rules> ),但它变得非常丑陋,速度非常快。
有没有更好的方法来删除某个端口的所有规则?
我正在研究传输层中的一些东西,在我运行我们的自定义策略来保护我无法traceroute从 linux 机器上执行的策略之后。
root@keystone-evm:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:echo
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:isakmp
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:radius
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:ntp
ACCEPT icmp -- anywhere 10.222.4.212
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:domain
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:bootpc
ACCEPT udp -- anywhere 10.222.4.212 udp dpt:bootps
ACCEPT 123 -- anywhere 10.222.4.212
DROP all -- anywhere …Run Code Online (Sandbox Code Playgroud) 我对iptables. 下图显示了根据我目前的理解评估链的顺序。如果这种印象是错误的,请告诉我。
我的问题是,当我像这样添加自定义链时,在下图中的哪个位置放置了自定义链?
sudo iptables -N MYCHAIN
我知道该命令在过滤器表中创建了一个新链,但我不确定这意味着什么。是规则MYCHAIN之前或其他连锁店的规则后评估?

我有一些问题网络客户端发送数据太快。
我想减慢它们的速度,使用 iptables,或者可能使用 tc。
我见过 iptables 解决方案,如:
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j ACCEPT
但我认为该限制适用于符合规则的所有内容,而不是每个客户端地址。
有没有办法让这个规则限制每个客户端地址的数据包?
我正在设置Fail2ban来保护ssh,我使用firewalld,我看到很多人推荐anaction = iptables-multiport
使用iptables而不是firewalld的其他解决方案声称它更快或消耗更少的资源。
正如我之前所说,我已经配置了 firewalld(实际上我只是阻止了所有端口,除了我使用的端口花了我 3 分钟),我想知道我是否应该通过设置firewallcmd-ipset而不是上述配置来使用 iptables 或 firewalld (以哪个为准)更快)。
另外我注意到我安装了一个 iptables 包,即使我不记得安装它,但它没有运行,也无法运行。
所以只是为了澄清:
哪个性能更好?
哪个是fail2ban 在centos7 上使用的默认防火墙?
firewalld 会取代 Iptables,还是只是一种不同的交互方式?
先谢谢了!
我已经fail2ban设置了以下设置:
bantime = 86400
findtime = 600
maxretry = 2
Run Code Online (Sandbox Code Playgroud)
这很棒,因为它可以阻止任何在 10 分钟内暴力破解 3 次的 IP。但是,有些 IP 每 30 分钟左右尝试一次。为了捕获这些 IP,我将设置更改为:
bantime = 86400
findtime = 3600
maxretry = 2
Run Code Online (Sandbox Code Playgroud)
现在,它每小时检查一次并捕获其中每 20-30 分钟尝试一次的一些 IP。但是,现在我的 VPS 没有捕获可能会在一个小时内进行高级别暴力破解的 IP。
因此,有没有办法设置findtime = 3600并且fail2ban每 10 分钟检查一次?
我正在使用 Firewalld,拖放区是默认区域,并为该区域分配了一个接口。
然后我有丰富的规则来允许一些流量通过放置区,并且我启用了firewall-cmd --set-log-denied=all. 我认为这会记录任何尝试连接到不是来自白名单丰富规则的服务器的内容......但它不会记录。我对服务器运行了端口扫描,并且 /var/log/messages 没有显示任何被拒绝的端口日志。
但是,当我将默认区域设置为 public 并将接口分配给 public 时,它会在我运行另一个端口扫描时记录被拒绝的数据包。
为什么?
我注意到蛮力密码破解程序变得越来越复杂,了解他们的 IP 被禁止的速度,并减缓他们的入侵尝试,以免被 fail2ban 捕获。我想要一种能够手动将 IP 添加到 Fail2Ban 中的禁止列表的方法,这些 IP 将在特定时间段内(但可能比通常时间长)解除禁止。是否有手动命令行方式来告诉fail2ban 阻止某个IP/范围,然后在一段时间后取消禁用它?这是在 CentOS7 下
我想允许来自特定 IP 地址的所有连接,但我失败了。
操作系统:Ubuntu 服务器 16.04。(传入和传出服务器)
我已经执行了这些命令:
iptables -I INPUT -p tcp -s 192.168.0.45 -j ACCEPT
iptables -I OUTPUT -p tcp -d 192.168.0.45 -j ACCEPT
service netfilter-persistent save
/etc/init.d/netfilter-persistent restart
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
这是我的rules.v4样子:
# Generated by iptables-save v1.6.0 on Thu Jun 22 08:48:43 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.0.45/32 -p tcp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport …Run Code Online (Sandbox Code Playgroud) 我有一个经过良好测试的 bash 脚本,直到几周前它都运行良好。
似乎 certbot 挑战现在默认为 http 而不是 https。我想不通原因。
echo 'rsa-key-size = 2048
renew-hook = /usr/sbin/ipsec reload && /usr/sbin/ipsec secrets
' > /etc/letsencrypt/cli.ini
certbot certonly --non-interactive --agree-tos --email $EMAIL --standalone -d $VPNHOST
Run Code Online (Sandbox Code Playgroud)
防火墙设置:
Firewall stopped and disabled on system startup
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere state NEW recent: UPDATE seconds: 60 hit_count: 12 name: DEFAULT side: source mask: 255.255.255.255
all -- anywhere anywhere state NEW recent: SET name: DEFAULT side: source …Run Code Online (Sandbox Code Playgroud)