教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码

很多企业都有自己的网站,需要用户登录后才能访问,但有大量的黑客攻击软件可以暴力破解网站密码,即使破解不了也非常恶心。有没有免费的解决办法呢?天本文就是以centos 7服务器为例,教大家怎样用免费的hihttps开源WEB应用防火墙,来阻止黑客暴力破解网站密码。

一、下载源码编译

hihttps是一款完整源码的高性能SSL WEB应用防火墙( SSL WAF),采用epoll模式支持高并发,并且兼容ModSecurity正则规则。访问官网http://www.hihttps.com或者github上搜索hihttps,下载最新源码。

centos首先需要安装OpenSSL和libpcre两个开发库

yum install openssl openssl-devel

yum install -y pcre pcre-devel

然后解压源码到任意目录,直接make即可在当前目录生成可执行文件hihttps

二、配置

打开config.cfg文件,通常是hihttps前端运行443(https)端口,后端反向代理80端口。所以,如果你的WEB服务器已经占用了443端口,请停用或者修改为其他端口。如下设置即可:

# 前端SSL绑定的端口,默认443,注意不要冲突了

frontend = {

host = "*"

port = "443"

}

backend = "[127.0.0.1]:80"    # 后端默认反向连接80端口

#证书文件,建议设置绝对路径

pem-file = "server.pem"

三、规则加载

规则放在和hihttps同一级的rules目录即可,注意后缀是.conf或者.rule, 默认已经开启了DDOS & CC以及暴力破解密码防御规则,打开REQUEST-20-APPLICATION-CC-DDOS.conf这个文件,找到这条规则:

SecRule DDOS "@rx login" \

"id:20,\

phase:2,\

block,\

capture,\

t:none,t:urlDecodeUni,t:lowercase,\

msg:'LOGIN Brute Force Password test',\

logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',\

tag:'application-multi',\

tag:'language-php',\

tag:'platform-multi',\

tag:'attack-injection-php',\

tag:'OWASP_CRS/WEB_ATTACK/PHP_INJECTION',\

tag:'OWASP_TOP_10/A1',\

ctl:auditLogParts=+E,\

ver:'OWASP_CRS/3.1.0',\

severity:'CRITICAL',\

setvar:'ddos_burst_time_slice=10,ddos_counter_threshold=3,ddos_block_timeout=60',\

setvar:'tx.php_injection_score=+%{tx.critical_anomaly_score}',\

setvar:'tx.anomaly_score_pl1=+%{tx.critical_anomaly_score}',\

setvar:'tx.%{rule.id}-OWASP_CRS/WEB_ATTACK/PHP_INJECTION-%{MATCHED_VAR_NAME}=%{tx.0}'"

上面规则基本含义是:任何url中正则匹配到了login这个关键字,同一IP在10秒内超过3次访问,认为是在暴力破解密码,直接封锁其IP地址60秒。因为正常用户在登录的时候,即使错误输入了密码,也不会在10秒内超过3次请求,如果要修改频率,直接改规则里面的时间即可:

setvar:'ddos_burst_time_slice=10,ddos_counter_threshold=3,ddos_block_timeout=60',

hihttps最厉害的是兼容owasp-modsecurity-core-rule攻击规则,更多的规则说明,请自行百度搜索相关教程。

四、运行

./hihttps直接运行即可,默认读取当前目录下的confg.cfg文件, 或者./hihttps --config /dir/config.cfg

如果成功打印加载了rules目录下的规则,代表运行成功。

五、 测试

浏览器连续刷下访问https://server_ip/login.html?testsql=delete * from test

如果hihttps产生了报警记录,则防御成功,再也没有人能暴力破解你网站密码了。

hihttps还有其他更强大的功能,在后续的文章里面再介绍。总之,服务器web安全相当重要,如果不是开源的产品,千万不能随便安装。

教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码的更多相关文章

  1. 2019年十大开源WEB应用防火墙点评

    2019年十大开源WEB应用防火墙点评 随着WEB应用的爆炸式成长和HTTPS加密的普及,针对网络应用层的攻击,像SQL注入.跨站脚本攻击.参数篡改.应用平台漏洞攻击.拒绝服务攻击等越来越多,传统的防 ...

  2. 3.6 万颗星!开源 Web 服务器后起之秀,自带免费 HTTPS 开箱即用

    众所周知,Web 服务器是 Web 开发中不可或缺的基础服务,在开发中经常会用到.耳熟能详的开源 Web 服务器有久负盛名的 Apache.性能强劲的 Nginx.而我们今天要介绍的开源项目是采用 G ...

  3. 10 个强大的开源 Web 流量分析工具(转帖)

    Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...

  4. 12种开源Web安全扫描程序

    转自:https://blog.csdn.net/wh211212/article/details/78620963 赛门铁克的一个有趣的报告显示,76%的被扫描网站有恶意软件 如果您使用的是Word ...

  5. 开源 Web 相册程序: Photoview 和数据可视化生成工具:Datawrapper

    Photoview Photoview是一个开源 Web 相册程序,Go 语言写的,使用 Docker 安装,可以用来快速架设个人相册. github地址:https://github.com/pho ...

  6. Caf.CMS是一个免费的、 开源,功能齐全的CMS

    Caf.CMS(疯狂蚂蚁CMS) 是一个免费的. 开源,功能全面的CMS(内容管理系统).定位CMS也有点狭义呢,因为Caf.CMS是基于国外SmartStore.NET 开源商城源码的基础上改造而成 ...

  7. 最佳的 14 个免费的响应式 Web 设计测试工具

    一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...

  8. Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码

    Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...

  9. 两个基于C++/Qt的开源WEB框架

    1.tufao 项目地址: https://github.com/vinipsmaker/tufao 主页: http://vinipsmaker.github.io/tufao/ 介绍: Tufão ...

随机推荐

  1. bug提交遵循的规则

    在提交缺陷时,需要遵循以下5个原则: 准确性:缺陷每个组成部分描述准确,不会产生误解,减少“异常”“正常”等模糊词的使用 完整性:复现该缺陷完整的步骤.截图.日志 一致性:按照一致的格式书写全部缺陷信 ...

  2. 2019牛客多校B generator 1——十进制快速幂

    题目 已知 $x_i = ax_i + bx_{i-1}$,求 $x_n \% MOD$.($1\leq n\leq 10^{(10^6)}$) 分析 写成矩阵快速幂的形式,相当于求转移矩阵的 $n$ ...

  3. 1、Spring Boot 2.x 简介

    GitHub 官方文档 1.1 Spring Boot 是什么? Spring Boot(Boot顾名思义,是引导的意思) 框架是用于简化Spring应用从搭建到开发的过程. 应用开箱即用,只要通过一 ...

  4. Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题

    A. Optimal Currency ExchangeAndrew was very excited to participate in Olympiad of Metropolises. Days ...

  5. 【luogu1325】雷达安装--贪心

    题目描述 描述: 假设海岸线是一条无限延伸的直线.它的一侧是陆地,另一侧是海洋.每一座小岛是在海面上的一个点.雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围d.你的任务是建立尽量少 ...

  6. SIGCHLD函数

    SIGCHLD的产生条件 子进程终止时 子进程接收到SIGSTOP信号停止时 子进程处在停止态,接受到SIGCONT后唤醒时 借助SIGCHLD信号回收子进程 子进程结束运行,其父进程会收到SIGCH ...

  7. pause函数

    pause函数 调用该函数可以造成进程主动挂起,等待信号唤醒.调用该系统调用的进程将处于阻塞状态(主动放弃cpu) 直到有信号递达将其唤醒. int pause(void);     返回值:-1 并 ...

  8. mysql 查询整个数据库所有表的行数

    >use information_schema; >select sum(table_rows) from tables where TABLE_SCHEMA = "test&q ...

  9. 修改history记录数

    在linux系统下.history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history, 但只保留1000条命令(这个是由默认的shell ...

  10. 微信小程序之简单记账本开发记录(六)

    昨天虽然将页面成功的搭建出来 但是其中的增删改查功能没有实现,需要到逻辑页面,即js页面注册一下 效果如下图