我想通过Exchange 2010保护Outlook Web Access免受使用帐户锁定的蛮力攻击。
做这个的最好方式是什么?
我有以下组策略:
计算机配置\Windows 设置\安全设置\帐户策略\帐户锁定策略\
active-directory brute-force-attacks groups exchange-2010 user-accounts
今天早上我遇到了一个奇怪的例子,我希望有人能帮我弄清楚发生了什么。
一位用户抱怨今天早上被锁定。重置密码后,我们注意到该帐户几乎立即再次被锁定。我们查看了审计日志,发现请求来自我们的 Exchange 服务器——这是我以前从未真正见过的。
我们查看了 OWA 日志,发现其中没有与该用户名对应的条目。我们禁用了 OWA、ActiveSync、MAPI 等,该帐户继续被锁定。
在查看 Exchange 服务器上的事件查看器日志后,我们发现了这个条目。
入站身份验证失败,错误 LogonDenied for Receive connector Default EMAILSERVER。认证机制是登录。尝试向 Microsoft Exchange 进行身份验证的客户端的源 IP 地址是 [XX.XX.XX.XX]。
我们无处可去,我们黑洞化了来自该 IP 地址的流量,帐户锁定停止了。这是一个公共 IP 地址,它解析到一个我不希望收到太多邮件的国家/地区。
我的问题是:
一个客户的网站目前受到攻击,我被要求修复它。
大量 IP(轻松超过 5,000 个)不断攻击/login,大概是试图强行进入。
我更改了站点,因此页面返回 500 错误,但他们并没有放弃。显然,这对现在无法登录的真实用户不利。
负载平衡是通过HAProxy完成的,我对此知之甚少(尽管我比几个小时前知道的要多得多)。我已经尝试了很多我在网上找到的明智的方法,但似乎都没有帮助,可能是因为有如此大的 IP 块在执行攻击。
那么问题来了:
如果一个 IP在Y秒内命中/login超过X次,我该如何拒绝?
而且,子点 - 我怎样才能看到拒绝日志,所以我知道它确实在工作?
这是haproxy.log的示例:
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.79:15290 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-03 751/0/202/38/991 500 220 - - ---- 428/428/120/38/0 0/0 "GET /login HTTP/1.1"
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.63.132:47804 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-04 751/0/202/38/991 500 220 - - ---- 428/428/119/42/0 0/0 "GET /login HTTP/1.1"
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.43:53176 [03/Jun/2017:14:24:49.505] …Run Code Online (Sandbox Code Playgroud) 我有一台带有 ubuntu 的服务器。我确实通过 SSH 处理它。我在尝试通过端口 22 进行暴力破解时遇到了问题。我更改了端口,并认为它解决了暴力破解问题。我是对的还是对另一个端口的尝试不再记录在 /var/log/auth.log 中?
* sgsax hates ssl certs
< Landon> indeed
< Landon> next time my servers cert expires I'm just going to make one
for 100 years or something ridiculously long
Run Code Online (Sandbox Code Playgroud)
上面的推理有什么问题吗?很明显,有人可能会在 100 年内暴力破解它,但是您如何确定可接受的时间范围?
我的网站有时会被人攻击。你可以在 18:00 看到这样的攻击,然后在 22:30 看到更大的攻击。基本上,服务器网卡被传入的请求淹没。
我的机器是一个专用的四核、12GB ddr3、4x SAS 15k RPM 驱动器,采用 RAID10 和 CentOS5.6 64 位。
在这台服务器上,我运行 Nginx 作为我的网络服务器。在攻击期间,我无法访问我的站点,因为整个网络似乎都被淹没了。一旦停止,一切都会恢复正常,无需重新启动任何东西。
我稍微强化了我的 SYSCTL,请参阅此处的设置:http ://pastebin.com/eFfAcWkr 我的 IPTABLES 配置,它确实非常基本。只需要端口 80、443、21 和我的 SSH 端口打开:http : //pastebin.com/MsHSka08
我的问题是:我还能做些什么来抵御此类攻击?另外,有没有办法让我找出它究竟是哪种攻击?*
绿线是传入数据,蓝线是传出数据。

我刚刚查看了我的 syslog 文件,并注意到以下大量条目:
8 月 25 日 13:06:17 ssrv001 mysqld: 150825 13:06:17 [警告] 用户“root”@“61.160.232.48”的访问被拒绝(使用密码:是)
该 ip 是恶意的,因为除了我自己之外没有人对这台服务器具有 root 访问权限。我将删除 root mysqld 用户的远程访问权限,但这足以阻止此类事情的发生吗?
我也在考虑实施一些禁止来自多次发出无效请求的 IP 地址的连接的东西。
我被强制使用我的电子邮件服务器、IMAP 和 POP3。我安装了完整的 ASL 包,但它只向我发送 OSSEC 日志。我怎样才能禁止IP。
我认为 ASL 在几次错误尝试后会自动阻止这些攻击。我怎样才能做到这一点。
这与其他关于蛮力攻击的帖子类似,但更具体一点:
通常,我们能够强制执行体面的密码,并且用户名策略也可以避免成为 99.9% 的暴力 FTP 尝试的牺牲品……但我认为没有理由允许无休止地进行数千次尝试,有时他们可以make 用大量的噪音填充日志文件,这使得找到可能更有针对性的东西变得更加困难。
那么,对于被动 FTP,在 iptables 中对传入 TCP 21 进行一些合理的速率限制是否可以合理有效地切断大量失败的尝试,同时又不会妨碍正常使用?我认为这将通过从同一 IP 到 TCP 21 的速率限制连接来完成.. 是这样吗?有没有我没有想到的问题?
接下来,那么;对于堡垒防火墙/路由器上的一个简单的 iptables 命令,您有什么建议以防止最难/最快的暴力攻击?我的想法是在大约一分钟内触发 25 个连接(原则上成功登录将只是到 TCP 21 的单个连接),然后阻塞半小时。这些数字看起来合理吗?
(其他信息:这是用于保护混合操作系统的 DMZ 的 debian 防火墙/路由器)
让脚本尝试使用常用帐户名列表通过 SSH 登录或尝试为“root”或“mail”(或类似名称)尝试多个密码是否仍被视为“端口扫描”?我希望找到一种方法来阻止这些,但我不知道要搜索什么。
当我想象这个词时,port scan我想到了使用 NMAP(或等效物)来查找 iptables 中打开的内容。只是好奇这是否属于同一类别。
我的一些系统每天记录数千。这很烦人。
系统都是CentOS/RHEL。
编辑:iptables 'limiting' 看起来很有希望。最后,我可能必须为所有有效流量设置一个 VPN,并在我的公共服务器上使用诸如“fail2ban”之类的东西。