沃梦达 / 编程技术 / CMS教程 / 正文

linux – 用于阻止wordpress / joomla管理员登录的modsecurity规则 – 其他

我有一个针对ModSecurity 1.x的旧规则来阻止管理员暴力攻击,并且只允许它们在内部网络中.当我迁移到2.x时,它停止了工作.网络ipmatch规则也让我感到疯狂,因为它们不允许使用/ 8并且仅适用于/ 16或更高版本.我试图使...

我有一个针对ModSecurity 1.x的旧规则来阻止管理员暴力攻击,并且只允许它们在内部网络中.

当我迁移到2.x时,它停止了工作.网络ipmatch规则也让我感到疯狂,因为它们不允许使用/ 8并且仅适用于/ 16或更高版本.

我试图使规则适应modsecurity 2,我来到这里:

SecRule REMOTE_HOST "!^10." "chain,id:'1',phase:2,t:none,block,nolog"
SecRule REQUEST_METHOD "@streq POST" "chain"
SecRule REQUEST_FILENAME "@pm /wp-login.php /wp-admin/ /administrator/ /admin/" "chain"
SecRule ARGS:log "@streq admin"

但它不起作用.一些在modsecurity方面经验丰富的人的建议?

解决方法:

你为什么不用.htaccess?它应该可以保护您免受暴力攻击,并且可以轻松配置.

我们确实使用了这样的东西,一个位于网站根目录的.htaccess文件,包含以下内容:

## Hardening wp - doublelogin
AuthUserFile /path/to/your/.htpasswd
AuthName "Double Login antibot"
AuthType Basic
<Files "wp-login.php">
  require valid-user
</Files>

和.htpasswd文件,位于本地驱动器上的任何位置.您只需要使用AuthUserFile指令指定.htpasswd文件的完整路径.选择您认为是密码文件的理想位置.只需确保Apache具有读取权限即可.

.htpasswd包含凭据.您可以通过运行来配置用户名和密码:

## if it is the first user use -c param (it create new file / or wipe it if exists)
htpasswd -c /path/to/your/.htpasswd username
## if you want to add more users omit the -c param

此外,我们还将以下规则放入.htaccess以拒绝访问wp-config.php(其中包含敏感信息,例如:WordPress安全密钥和WP数据库连接详细信息)

<files wp-config.php>
  order deny,allow
  deny from all
  allow from 192.168.1.1/24 #(replace with your IP address)
</files>

以及下一个,阻止WP xmlrpc.php请求哪个是漏洞最常见的原因之一. (阅读here了解更多信息)

<Files xmlrpc.php>
  order deny,allow
  deny from all
  allow from 192.168.1.1/24 #(replace with your LAN info)
</Files>

对不起我无法直接帮助解决您的问题,如果以上不是您想要的,我希望这个链接可以给您一些帮助:http://artefact.io/brute-force-protection-modsecurity/

本文标题为:linux – 用于阻止wordpress / joomla管理员登录的modsecurity规则 – 其他

基础教程推荐