我想引起社区对linux服务器安全性的关注,特别是关于蛮力攻击以及使用fail2ban与自定义iptables。
那里也有一些类似的问题,但是没有一个问题令我满意。简而言之,我正在尝试确定最佳的解决方案,以保护免受互联网攻击的Linux服务器(运行常规服务,ssh,web,邮件)免受暴力攻击。
我对服务器安全性有很好的了解,即通过不允许root用户或密码登录,更改默认端口,确保软件为最新版本,检查日志文件,仅允许某些主机访问服务器并利用安全性来锁定ssh审核工具,例如Lynis(https://cisofy.com/lynis/),用于一般安全合规性,因此尽管总是欢迎您提供意见和建议,但这个问题不一定要与之相关。
我的问题是我应该使用哪种解决方案(fail2ban或iptables),应该如何配置它,还是应该结合使用两者来防止暴力攻击?
关于该主题有一个有趣的响应(Denyhosts vs fail2ban vs iptables-防止暴力登录的最佳方法?)。就我个人而言,最有趣的答案是(https://serverfault.com/a/128964),并且iptables路由发生在内核中,而不是使用用户模式工具来解析日志文件的fail2ban。Fail2ban当然使用iptables,但是它仍然必须解析日志文件并匹配模式,直到执行操作为止。
那么使用iptables和使用速率限制(https://www.rackaid.com/blog/how-to-block-ssh-brute-force-attacks/)来丢弃来自IP的请求一段时间是否有意义在特定时间段内进行过多连接尝试的时间(无论它尝试连接到哪种协议)?如果是这样,那么对于此处的那些数据包使用丢弃与拒绝有一些有趣的想法(http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject),对此有什么想法吗?
Fail2ban允许以能够为默认配置中可能未解决的服务编写自定义“ 规则 ” 的形式进行自定义配置。它易于安装和设置并且功能强大,但是如果我要实现的全部目的是“ 阻止 ”服务器的IP(如果他们对某项服务/协议进行了两次失败的访问尝试,且访问次数超过x的数量,那么这可能是一个过大的杀伤力)时间?
此处的目标是打开每日日志监视报告,而不必滚动浏览尝试与服务器建立连接失败的页面。
感谢您抽出宝贵的时间。