Nginx auth_basic+phpMyAdmin安全验证(转载)

phpMyAdmin 是一个以 PHP 为基础,以 Web-Base 方式架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库。

通过 Nginx auth_basic 验证功能,可以为 phpMyAdmin 目录增加用户名,密码验证机制。防止任意用户访问 phpMyAdmin(0day 我怕怕!)。

nginx_auth.gif

 

一,使用 htpasswd 命令生成密码文件,支持语法如下:

二,举例:生成一个 reistlin.passwd 密码文件,用户名 admin,密码 ***

三,编辑 nginx.conf,配置 auth_basic,配置 reistlin.passwd 密码文件路径,配置访问策略和请求限制

配置说明:

1,需要在 http {} 中启用 HttpLimitReqModule,定义一个 zone(admin),session state 设置为 1M(仅用于 auth_basic 安全验证),每分钟 3 次(20 秒一次),“来源 IP 地址”为判断条件。

2,需要在 location {} 中定义 auth_basic 安全验证提示信息,指定密码文件路径。启用 admin zone,设置安全验证请求限制(每分钟 20 次,每次最多接受 3 个请求,超过的请求将被 503 Service Unavailable)。

四,验证配置文件,Reload Nginx 配置

发表评论

电子邮件地址不会被公开。 必填项已用*标注