我在服务器上使用 Fail2Ban,我想知道如何正确取消 IP。
我知道我可以直接使用 IPTables: iptables -D fail2ban-ssh <number>
但是有没有办法做到这一点fail2ban-client
?
在手册它规定是这样的:fail2ban-client get ssh actionunban <IP>
。但这不起作用。
另外,我不想这样做,/etc/init.d/fail2ban restart
因为那样会失去列表中的所有禁令。
我刚刚检查了我的服务器/var/log/auth.log
,发现我每天收到 500 多个失败的密码/入侵尝试通知!我的网站很小,而且它的 URL 很模糊。这是正常的吗?我应该采取什么措施吗?
我目前有这个片段:
# flush all chains
iptables -F
iptables -t nat -F
iptables -t mangle -F
# delete all chains
iptables -X
Run Code Online (Sandbox Code Playgroud)
运行此命令后,某些不可渗透的规则是否有可能继续存在?
这个想法是有一个完全干净的 iptables 配置,可以很容易地用新规则集替换(不用考虑路由/ifconfig 的参数)。
在 Windows 平台上,我必须使用哪些本机选项来检查本地计算机(如 )上的端口(例如 3306 localhost
)是否被阻止?
请注意:我不想把它变成一场火焰战争!我知道很多人对这个主题有着坚定的信念,这在很大程度上是因为他们在防火墙解决方案上付出了很多努力,也因为他们被灌输了相信自己的必要性的观念。
但是,我正在寻找安全专家的答案。我相信这是一个重要的问题,答案不仅对我自己和我工作的公司有益。我已经运行我们的服务器网络好几年了,没有任何妥协,根本没有任何防火墙。安全无妥协,我们也有可能被防止的防火墙。
我想我在这里工作的时间太长了,因为当我说“服务器”时,我总是指“向公众提供的服务”,而不是“秘密的内部计费数据库”。因此,我们的任何规则将在任何防火墙必须允许访问整个互联网。此外,我们的公共访问服务器都位于与我们办公室分开的专用数据中心。
别人问了类似的问题,我的回答被投为负数。这让我相信,要么投票否决它的人并没有真正理解我的答案,要么我对安全性的了解不足以做我目前正在做的事情。
这是我的服务器安全方法:
在将我的服务器连接到 Internet之前,请遵循我的操作系统的安全指南 。
使用 TCP 包装器将 SSH(和其他管理服务)的访问权限限制为少数 IP 地址。
使用Munin监视此服务器的状态。并修复 Munin-node 在其默认配置中固有的严重安全问题。
Nmap 我的新服务器(也是在将我的服务器连接到 Internet 之前)。如果我要为这台服务器设置防火墙,这应该是传入连接应该被限制到的确切端口集。
将服务器安装在机房,并给它一个公网IP地址。
使用我的操作系统的安全更新功能确保系统安全。
我的理念(以及问题的基础)是基于主机的强大安全性消除了防火墙的必要性。总体安全理念表明,即使您有防火墙,仍然需要基于主机的强大安全性(请参阅安全指南)。这样做的原因是,将公共服务转发到服务器的防火墙可以使攻击者与根本没有防火墙一样多。易受攻击的是服务本身,并且由于向整个 Internet 提供该服务是其运营的要求,因此限制对它的访问并不是重点。
如果是,并非需要由整个互联网的访问,请在服务器上的可用端口,然后该软件需要在步骤1中被关闭,并逐步4.如果验证的攻击者成功打入通过易受攻击的软件服务器并自己打开一个端口,攻击者可以(并且确实)通过在随机端口上建立出站连接来轻松击败任何防火墙。安全的重点不是在成功攻击后保护自己——这已经被证明是不可能的——而是首先将攻击者拒之门外。
有人建议除了开放端口之外还有其他安全考虑因素 - 但对我来说这听起来像是在捍卫自己的信仰。无论是否存在防火墙,任何操作系统/TCP 堆栈漏洞都应该同样容易受到攻击——基于端口被直接转发到该操作系统/TCP 堆栈这一事实。同样,在服务器上运行防火墙而不是在路由器上运行(或者更糟,在两个地方)似乎增加了不必要的复杂层。我理解“安全层出不穷”的理念,但有一点就像通过将 X 层胶合板堆叠在一起然后在所有层上钻孔来建造屋顶一样。另一层胶合板不会阻止通过你的那个洞的泄漏
老实说,我认为防火墙对服务器有任何用处的唯一方法是它是否具有防止已知攻击者与所有服务器的所有连接的动态规则 - 就像垃圾邮件的 RBL(巧合的是,这几乎就是我们的邮件服务器所做的) . 不幸的是,我找不到任何可以做到这一点的防火墙。下一个最好的东西是 IDS 服务器,但它假设攻击者不会首先攻击您的真实服务器,并且攻击者在攻击之前会费心探测您的整个网络。此外,众所周知,这些会产生大量误报。
有什么理由让我想要
iptables -A INPUT -j REJECT
Run Code Online (Sandbox Code Playgroud)
代替
iptables -A INPUT -j DROP
Run Code Online (Sandbox Code Playgroud) 我正在运行 Ubuntu 11.10 - 设置 NFS 以在许多其他服务器之间共享一个目录。防火墙需要打开哪些端口?
我正在寻找一种简单的方法从我的本地机器 A SSH 通过代理 B 到目标主机 C。与 C 上的公钥一起使用的私钥在 B 上,但我不能把那个钥匙放在我的本地机器上。有小费吗?
另外,我希望能够使用 ~/.ssh/config 执行此操作。
谢谢!
我想在 CentOS 7.1 服务器上使用命令打开4567
IP 地址的端口。1.2.3.4
firewall-cmd
我怎样才能做到这一点,因为我能找到的文档太具体了?